REST API Docs
Integrate NeroPay into your checkout flow with a simple JSON-based payment API. The API accepts standard HTTP requests, returns structured JSON responses, and supports both sandbox and live environments.
Introduction
The NeroPay Payment Gateway API is designed for fast and simple integration into your website, mobile app, or business software. You can initiate payments, redirect customers to checkout, and receive instant payment notifications in your system.
Authentication is handled using your API keys. Requests made with invalid keys will be rejected. For testing, use the sandbox endpoint. For production payments, use the live endpoint shown in the Initiate Payment section below.
Supported Currencies
NeroPay currently supports the following currencies:
| Currency Name | Symbol | Code |
|---|---|---|
| British Pound | £ | GBP |
| Euro | € | EUR |
| US Dollar | $ | USD |
Get Your API Keys
To start using the API, log in to your NeroPay merchant account and open the API Keys section from the dashboard.
There you will find:
- Public Key — used when initiating API requests
- Secret Key — used to verify signatures and secure your integration
You can generate a new API key at any time by clicking Generate API Key. Keep your secret key private and never expose it in client-side code.
Need an account? Sign in here.
Initiate Payment
To create a payment, send a POST request to one of the following endpoints.
Live Endpoint
https://eu.neropay.app/payment/initiate
Sandbox Endpoint
https://eu.neropay.app/sandbox/payment/initiate
Sandbox Test Email
test_mode@mail.com
Sandbox Verification Code
222666
Request Method: POST
The request supports the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
public_key |
string (50) | Yes | Your public API key. |
identifier |
string (100) | Yes | A unique identifier used to match the payment in your own system. |
currency |
string (4) | Yes | Currency code in uppercase, for example GBP, EUR, or USD. |
amount |
decimal | Yes | Payment amount. |
details |
string (2000) | Yes | Description of the transaction or ordered products. |
ipn_url |
string | Yes | Your Instant Payment Notification callback URL. |
success_url |
string | Yes | The URL where the customer is redirected after a successful payment. |
cancel_url |
string | Yes | The URL where the customer is redirected if the payment is cancelled. |
customer_name |
string (150) | Yes | Customer full name. |
customer_email |
string (150) | Yes | A valid customer email address. |
customer_phone |
string (20) | Optional | Customer phone number. |
customer_address |
string (150) | Optional | Customer billing or delivery address. |
customer_shipping_method |
string (150) | Optional | Shipping method for the order. |
Example PHP Request
'DFU80XZIKS',
'currency' => 'GBP',
'amount' => 100.00,
'details' => 'Purchase T-shirt',
'ipn_url' => 'https://example.co.uk/ipn_url.php',
'cancel_url' => 'https://example.co.uk/cancel_url.php',
'success_url' => 'https://example.co.uk/success_url.php',
'public_key' => 'your_public_key',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
'customer_phone' => '01234567890',
'customer_address' => 'ABC Road, Stockport, SK7 8KJ',
'customer_shipping_method' => 'Delivery',
];
// Live endpoint
$url = 'https://eu.neropay.app/payment/initiate';
// Sandbox endpoint
// $url = 'https://eu.neropay.app/sandbox/payment/initiate';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
// $result contains the API response
echo $result;
Example Responses
Error Response
{
"error": "true",
"message": "Invalid api key"
}
Success Response
{
"success": "ok",
"message": "Payment initiated. Redirect to URL.",
"url": "https://example.com/initiate/payment/checkout?payment_id=eJSAASDxdrt4DASDASVNASJA7893232432cvmdsamnvASF"
}
Validate the Payment and IPN
After payment processing, NeroPay sends a server-to-server notification to your ipn_url. You should use this notification to verify the payment status and update your order in your system.
Endpoint
Your business application IPN URL
Request Method: POST
You will receive the following parameters:
| Parameter | Description |
|---|---|
status |
Payment status returned by NeroPay. |
identifier |
Your original payment identifier. |
signature |
A hash signature used to verify the request. |
data |
Contains payment details such as amount, currency, charges, and transaction information. |
Example PHP Verification