NeroPay Docs
Checkout API

NeroPay for Odoo

NeroPay provides a secure and seamless payment experience fully integrated into Odoo. Whether you are using Odoo’s eCommerce, Website, or Invoicing apps, NeroPay allows your customers to pay directly through a modern, PCI-compliant gateway.

Available on Odoo App Store:


Odoo 16 → NeroPay Payment

Odoo 17 → NeroPay Payment

Odoo 18 → NeroPay Payment


1. Overview

NeroPay is a secure and user-friendly payment gateway that connects directly to your Odoo environment. The integration uses NeroPay’s REST API and supports both Sandbox and Live modes for smooth testing and deployment.

2. Prerequisites

  1. Odoo installation (version 16, 17 or 18).
  2. Access to Invoicing → Configuration → Payment Providers.
  3. Active merchant account on NeroPay.
  4. Your Public API Key and Secret API Key.
  5. HTTPS server for receiving IPN callbacks.

3. Installation

  1. Upload the neropay_payment module to your Odoo add-ons folder or install it via the Apps menu.
  2. Restart the Odoo server and update the Apps list.
  3. Go to Invoicing → Configuration → Payment Providers.
  4. Select or create provider NeroPay.
  5. Enter your Public and Secret keys, choose Sandbox or Live, and enable it.

4. Payment Flow

The payment flow follows these steps:

  1. User selects Pay with NeroPay at checkout.
  2. Odoo creates a transaction and calls NeroPay’s API endpoint.

API Endpoints:

  1. Live → https://eu.neropay.app/payment/initiate
  2. Sandbox → https://eu.neropay.app/sandbox/payment/initiate

Example Request (POST):

{
"public_key": "YOUR_PUBLIC_KEY",
"identifier": "ORDER12345",
"currency": "GBP",
"amount": 120.00,
"details": "Sale of item #SKU1001",
"ipn_url": "https://yourdomain.com/payment/neropay/ipn",
"success_url": "https://yourdomain.com/payment/neropay/success",
"cancel_url": "https://yourdomain.com/payment/neropay/cancel",
"customer_name": "Jane Doe",
"customer_email": "jane@example.com",
"customer_phone": "01234 567890",
"customer_address": "123 High Street, Stockport, SK1 2AB",
"customer_shipping_method": "Delivery"
}

Example Response:

{
"success": "ok",
"message": "Payment Initiated. Redirect to url.",
"url": "https://eu.neropay.app/initiate/payment/checkout?payment_id=eJSAASDxdr..."
}

The customer is redirected to the URL above to complete payment securely on NeroPay’s hosted page. Once payment succeeds, NeroPay calls your ipn_url with a POST payload that includes status, identifier, signature, and data.

Example IPN Verification:

custom_key = data[\'amount\'] + identifier
my_signature = HMAC_SHA256(secret_key, custom_key).upper()

if status == "success" and signature == my_signature:
mark_transaction_as_paid()

5. Supported Currencies

  1. British Pound (GBP)
  2. Euro (EUR)
  3. Indonesian Rupiah (IDR)

6. Testing in Sandbox

  1. Sandbox endpoint: https://eu.neropay.app/sandbox/payment/initiate
  2. Test mode e-mail: test_mode@mail.com
  3. Verification code: 222666

7. Troubleshooting

IssueResolution
Payment button not visibleEnsure the provider is enabled and its journal currency matches the transaction currency.
No IPN receivedVerify your server allows external POST requests from NeroPay.
Signature mismatchEnsure your secret key is correct and the signature uses HMAC SHA-256.
Branch error on App StoreConfirm that the Git branch is named 16.0, 17.0, or 18.0 respectively.




© 2025 NeroPay Ltd – All rights reserved.


Published for modules: Odoo 16 | Odoo 17 | Odoo 18