Professional API reference for payments, platforms and merchant tools.
Build payments, connected accounts, money movement, NeroDisburse, Terminal, NeroCard, NeroPOS, NeroWeb, bookings, identity, compliance, proof workflows, support tickets and webhooks from one v2 API.
Quick start
Use the live v2 base URL for production. Sandbox endpoints are dry-run and do not create live payment, terminal, payout or local records.
Merchant mode
Use a merchant secret key to operate directly on that merchant account. Identity, compliance, proof, payments, support and resources are available for direct merchant integrations.
Platform mode
Use the platform key. Send NeroPay-Account to operate on a connected merchant. Keep your own customer-facing dashboard while NeroPay manages regulated flows.
Ready-to-Use Plugins
Use official NeroPay plugins when you want a faster launch without building every checkout, invoice, webhook and order status workflow manually.
NeroPay for WooCommerce
Accept card and wallet payments directly in WooCommerce, receive real-time status updates and support refunds from the store workflow. Download link is inside the section.
Open WooCommerce section →NeroPay for Wix
Install NeroPay from the official Wix marketplace, configure public keys and redirect URLs, then test with sandbox checkout.
Open Wix section →NeroPay for Odoo
Connect NeroPay to Odoo eCommerce, Website and Invoicing apps using the Odoo payment provider flow. Odoo 16, 17 and 18 app links are inside.
Open Odoo section →NeroPay for Perfex CRM
Enable invoice payments, IPN callbacks and reconciliation inside Perfex CRM without building a custom gateway. Module download is inside.
Open Perfex CRM section →NeroPay for Zapier
Create payment links and automate payment workflows between NeroPay and thousands of apps without code through Zapier.
Open Zapier section →NeroPay for WooCommerce
Use the WooCommerce plugin to add secure NeroPay checkout to a WordPress store without building the hosted-payment, order-status and webhook flow from scratch.
Download the WooCommerce ZIP package and upload it from WordPress Admin → Plugins → Add New, or upload it manually by FTP.
Key features
- Quick setup from the WordPress plugin area.
- Secure processing through NeroPay APIs.
- Real-time payment status updates through webhooks.
- Refund support from the WooCommerce workflow where enabled.
Best for
Retail stores that need a standard checkout integration, payment confirmation, order reconciliation and optional advanced API checks.
| Setting | Type | Required | Description |
|---|---|---|---|
| public_key | string | Required | Identifies the merchant account. |
| secret_key | string | Required | Server-side key used by the plugin for secure API actions. |
| webhook_url | string | Required | Receives payment success, failure or pending updates. |
| currency | enum | Required | Store currency such as GBP or EUR. |
NeroPay for Wix
Use the Wix integration for a fast marketplace-style setup. Configure keys, redirect URLs and IPN URL, then send customers to NeroPay checkout.
Install NeroPay from the official Wix marketplace link, then configure Public Key, success URL, cancel URL and IPN URL.
| Field | Type | Required | Description |
|---|---|---|---|
| public_key | string | Required | NeroPay public key configured in the Wix app. |
| success_url | string | Required | Page shown after successful payment. |
| cancel_url | string | Required | Page shown when checkout is cancelled. |
| ipn_url | string | Required | Endpoint that receives payment confirmation. |
NeroPay for Odoo
Use NeroPay with Odoo eCommerce, Website and Invoicing apps. The integration uses NeroPay payment endpoints and keeps order or invoice state inside Odoo.
Install the version that matches your Odoo branch, then enable NeroPay under Invoicing → Configuration → Payment Providers.
Supported environments
- Odoo 16
- Odoo 17
- Odoo 18
Prerequisites
- Access to Invoicing → Configuration → Payment Providers.
- Active NeroPay merchant account.
- Public and Secret API keys.
- HTTPS endpoint for IPN callbacks.
| Flow | Description |
|---|---|
| eCommerce checkout | Create a hosted payment and redirect the customer to the checkout URL. |
| Invoice payment | Use the Odoo invoice number as identifier for reconciliation. |
| Sandbox testing | Use sandbox endpoint and test credentials before live deployment. |
| Troubleshooting | Check provider visibility, IPN reachability and HMAC signature configuration. |
NeroPay for Perfex CRM
Enable NeroPay as a payment gateway inside Perfex CRM so clients can pay invoices online and Perfex can update invoice status from IPN callbacks.
Download the module ZIP, extract it into the Perfex modules directory, then enable NeroPAY Payment Gateway from Setup → Payments.
Features
- Online invoice payments.
- GBP and EUR support where enabled.
- Instant Payment Notification updates.
- Success and failure redirects.
- API credentials managed inside Perfex CRM.
Prerequisites
- Running Perfex CRM instance.
- NeroPay merchant account with API credentials.
- Admin access to Perfex CRM.
NeroPay for Zapier
Automate payment workflows between NeroPay and 5,000+ apps without code. Merchants can trigger workflows when a payment is received or create payment links from tools such as Sheets and CRMs.
Use Zapier to create payment links, log transactions, notify teams and sync payment events with CRMs, spreadsheets and 5,000+ apps.
| Action field | Type | Required | Description |
|---|---|---|---|
| public_key | string | Required | NeroPay Public API key. |
| identifier | string | Required | Unique ID for the payment. |
| currency | enum | Required | Currency code such as GBP, EUR or IDR. |
| amount | decimal | Required | Payment amount. |
| details | string | Required | Description or order details. |
| ipn_url | string | Required | Instant payment notification URL. |
| customer_phone | string | Optional | Customer phone number. |
| customer_address | string | Optional | Billing address. |
Authentication
API v2 uses bearer authentication. Unsafe methods also require a timestamped HMAC signature and an idempotency key.
| Header | Type | Required | Description |
|---|---|---|---|
| Authorization | string | Required | Bearer {secret_key}. |
| Accept | string | Required | Always application/json. |
| Content-Type | string | Required | Use application/json for JSON writes or multipart/form-data for file upload endpoints. |
| X-NeroPay-Timestamp | unix timestamp | Required | Required for POST/PATCH/PUT/DELETE. |
| X-NeroPay-Signature | string | Required | HMAC SHA-256 of timestamp.raw_body using the secret key. |
| Idempotency-Key | string | Required | Required for writes that create or mutate state. |
Headers
Headers control JSON responses, connected account scoping, public/client key context and retry safety.
| Header | Type | Required | Description |
|---|---|---|---|
| NeroPay-Account | string | Optional | Connected account ID such as NPEE4E742AB2_6165. Platforms use it to act on a connected merchant. |
| X-NeroPay-Client-Key | string | Optional | Dashboard-visible client key. Format: unique_account_id + underscore + merchant_id. |
| X-NeroPay-Public-Key | string | Optional | Public key from API credentials. |
| Idempotency-Key | string | Required | Unique per business operation. Reuse only for exact retries. |
Connected account scoping works with payments, balances, identity, compliance, proof, support and resource APIs where enabled.
Pagination
List endpoints use page-based pagination when the underlying controller returns a collection.
| Query | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number. |
| per_page | integer | 25 | Number of records per page. |
| q/search | string | — | Search by supported columns. |
| status | enum | — | Filter by status where supported. |
| from / to | date/datetime | — | Filter by created date where supported. |
| sort | string | -id | Use leading minus for descending order where supported. |
Pagination appears inside meta.pagination. Some single-object APIs return only data.
Errors
Errors return a consistent JSON object with an application code and human-readable message.
| HTTP | Code | Meaning |
|---|---|---|
| 400 | bad_request | Malformed request. |
| 401 | unauthenticated | Missing or invalid API key. |
| 403 | forbidden | The authenticated account cannot access the resource. |
| 404 | endpoint_not_found / not_found | Route or object was not found. |
| 405 | resource_read_only | Resource exists but the requested write method is not enabled. |
| 409 | idempotency_conflict | The same idempotency key was reused with a different body. |
| 422 | validation_error | Invalid fields. |
| 429 | rate_limited | Too many requests. |
Idempotency
Use an idempotency key for each write operation that creates or changes financial state.
Good
order_1001_payment_attempt_1 reused only when retrying the same body.
Avoid
Do not reuse one key for different payments, payouts, refunds or proof submissions.
Account API
Retrieve the authenticated merchant account and core onboarding state.
/accountReturns the authenticated merchant or the connected merchant when NeroPay-Account is supplied.
/connected-accountsLists connected merchants for a NeroConnect platform.
/connected-accountsCreates a connected merchant.
/connected-accounts/{account_id}Retrieves one connected merchant.
/connected-accounts/{account_id}Updates connected account fields and can trigger account.update webhooks.
| Attribute | Type | Required | Description |
|---|---|---|---|
| account_id | string | Read-only | Public API account ID. |
| business_company_name | string | Optional | Company or trading name. |
| string | Required | Primary merchant email. | |
| status | enum | Read-only | active, pending, banned or review state. |
| kyc_status | enum | Read-only | pending, verified or rejected. |
| neroconnect_email_sms_handle | enum | Optional | neropay or platform. Controls merchant-facing notification delegation. |
NeroConnect connected accounts
Platforms can create merchants, view balances, manage default platform fees and operate by sending the connected account header.
| Concept | Type | Description |
|---|---|---|
| Connected account ID | string | Format is unique_account_id + underscore + merchant_id. |
| NeroPay-Account header | string | Scopes API calls to a connected merchant. |
| Notification handling | enum | neropay means NeroPay sends email/SMS; platform means platform handles merchant-facing notifications from webhooks. |
| KYC/compliance | workflow | Must be completed after create account. Use Identity and Compliance APIs plus webhooks. |
Payment API
Create hosted checkouts, API payment intents and terminal payments. Payment API is separate from resources and appears in the main menu.
/hosted-paymentsCreates a hosted checkout URL.
/paymentsCreates an API payment intent / pending payment.
/payment-intentsExplicit payment intent endpoint.
/terminal/paymentsSends a payment action to a terminal reader.
| Field | Type | Required | Description |
|---|---|---|---|
| amount | decimal | Required | Payment amount in major units, e.g. 15.99. |
| currency | enum | Required | Currency such as GBP. |
| reference | string | Optional | Your order/payment reference. |
| description/details | text | Optional | Customer-facing or internal description. |
| connect_application_fee | decimal | Optional | Platform fee charged for a connected account payment. Strongly recommended for platform monetisation. |
| metadata | object | Optional | Additional key/value data returned in responses and webhooks where supported. |
reference or metadata.order_id.Payment Links / LinkPay
Create and inspect LinkPay checkout links. LinkPay records are separated from generic API payments.
/payment-linksLists LinkPay records.
/payment-linksCreates a payment link.
/payment-links/{id}Retrieves one payment link.
| Field | Type | Required | Description |
|---|---|---|---|
| currency | enum | Required | Payment currency. |
| amount | decimal | Required | Amount in major units. |
| details | text | Required | Description shown to the buyer. |
| customer_name | string | Optional | Pre-filled customer name. |
| customer_email | string | Optional | Pre-filled customer email. |
| success_url | string | Optional | Redirect URL after success. |
| cancel_url | string | Optional | Redirect URL after cancellation. |
| ipn_url | string | Optional | Webhook/IPN URL for this payment link. |
Transactions
List, retrieve, refund and cancel transactions. High-risk transactions can expose proof and reserve state, so check transaction state before treating funds as fully available.
/transactionsLegacy alias for creating hosted/API transaction where enabled.
/transactionsLists transactions.
/transactions/{id}Retrieves one transaction.
/transactions/{id}/refundRefunds a transaction.
/transactions/{id}/cancelCancels a pending transaction.
| Field | Type | Description |
|---|---|---|
| id | integer | Internal transaction ID. |
| account_id | string | Merchant or connected account ID. |
| reference | string | NeroPay or merchant reference. |
| np_main_trx | string | Processor/payment identifier where available. |
| status | enum | pending, succeeded, failed, cancelled, refunded. |
| is_reserve | boolean | Whether funds are currently held in reserve. |
| reserve_amount | decimal | Amount held from available balance. |
| proof_status | enum | requested, submitted, approved, rejected or null. |
Transaction Proof API
Submit proof files and buyer/shipping details when a transaction is flagged by high-value or risk logic. This API is available for merchants and connected accounts.
/transactions/{id}/proofReturns proof request and transaction reserve state.
/transactions/{id}/proofSubmits proof details and invoice/shipping file.
| Field | Type | Required | Description |
|---|---|---|---|
| invoice_file | file | Optional | JPG, PNG, PDF or WEBP. Required when staff/platform requested an invoice file. |
| courier_company | string | Optional | Shipping courier. |
| tracking_number | string | Optional | Tracking number. |
| buyer_firstname | string | Optional | Buyer first name. |
| buyer_lastname | string | Optional | Buyer last name. |
| buyer_phone | string | Optional | Buyer phone number. |
| buyer_email | string | Optional | Buyer email. |
| merchant_notes | text | Optional | Merchant notes for the review team. |
transaction.proof_submitted. Staff approval/rejection publishes transaction.proof_approved or transaction.proof_rejected. Approved reserve releases can publish balance.reserve_released.Balances
Read available, pending, instant, standard and reserve balances. Reserve balance is important for high-risk and proof-held funds.
/balancesReturns wallet balances.
/balanceAlias of /balances.
| Field | Type | Description |
|---|---|---|
| available_balance | decimal | Funds available for use. |
| instant_available | decimal | Instant payout availability. |
| standard_available | decimal | Standard payout availability. |
| reserve_balance | decimal | Funds held in reserve due to proof/risk/compliance. |
| currency | enum | Wallet currency. |
Wallet Transactions
Audit wallet movement separately from payment transactions. Use this for balance ledger reconciliation.
/wallet-transactionsLists wallet balance transactions.
/wallet-transactions/{id}Retrieves one wallet ledger row.
| Field | Type | Description |
|---|---|---|
| txn_id | string | Ledger transaction ID. |
| type | enum | credit/debit/hold/release depending on implementation. |
| amount | decimal | Amount moved. |
| balance_before | decimal | Balance before movement where available. |
| balance_after | decimal | Balance after movement where available. |
| notes | text | Internal or merchant-facing notes. |
Payouts & Schedule
Create and inspect payout requests and manage payout schedule. Payout creation can trigger proof/risk checks and Perfex review tasks.
/payoutsLists payouts.
/payoutsCreates a payout request.
/payouts/requestLegacy alias for create payout.
/payouts/{id}Retrieves one payout.
/payout-scheduleGets payout schedule.
/payout-scheduleUpdates payout schedule.
/transfer-scheduleLegacy alias of payout schedule.
/transfer-scheduleLegacy alias of update payout schedule.
| Field | Type | Required | Description |
|---|---|---|---|
| amount | decimal | Required | Payout amount. |
| currency | enum | Required | Currency. |
| transfer_speed | enum | Optional | instant or standard. |
| bank_account_id | string | Optional | Destination bank reference. |
| reference | string | Optional | Statement or internal reference. |
Disputes
Disputes belong under Money Movement because they affect payment risk, settlement and operational review.
/disputesLists disputes.
/disputes/{id}Retrieves one dispute.
| Field | Type | Description |
|---|---|---|
| trx_number | string | Related transaction reference. |
| payment_number | string | Payment identifier. |
| dispute_reason | string | Reason code or description. |
| dispute_status | enum | open, won, lost, under_review etc. |
| customer_email | string | Customer email when available. |
Disputes are read-only in API v2. Use dashboards or operational flows for evidence submission if enabled.
Loans
Loans and financing records are grouped under Money Movement and are read-only through API v2.
/loansLists loan/financing records.
/loans/{id}Retrieves one loan record.
| Field | Type | Description |
|---|---|---|
| offer_id | string | Financing offer identifier. |
| status | enum | offer, active, paid, declined etc. |
| campaign_type | string | Campaign/category. |
| financing_type | string | Financing type. |
| created_at | datetime | Record creation time. |
NeroDisburse Bank Accounts
Bank accounts are documented under NeroDisburse. API responses never expose full account numbers, sort codes, IBANs or routing numbers.
/bank-accountsLists safe payout bank references.
/bank-accountsAdds a payout bank account through the NeroDisburse bridge.
/nerodisburse/bank-accountsLists NeroDisburse bank accounts.
/nerodisburse/bank-accountsCreates a NeroDisburse bank account.
| Field | Type | Required | Description |
|---|---|---|---|
| account_name | string | Required | Display name for the destination. |
| bank_name | string | Optional | Bank name. |
| sort_code | string | Optional | GB sort code for GB bank accounts. |
| account_number | string | Optional | GB account number for GB bank accounts. |
| iban | string | Optional | IBAN for supported international accounts. |
| currency | enum | Required | Currency. |
| use_for | enum | Optional | supplier, payout, merchant etc. |
| is_default | boolean | Optional | Set as default destination. |
NeroDisburse Payouts
Create supplier or connected disbursement payouts using saved bank accounts.
/nerodisburse/payoutsLists NeroDisburse payouts.
/nerodisburse/payoutsCreates pending NeroDisburse payout.
/nerodisburse/payouts/{id}Retrieves one NeroDisburse payout.
| Field | Type | Required | Description |
|---|---|---|---|
| amount | decimal | Required | Amount. |
| currency | enum | Required | Currency. |
| transfer_speed | enum | Optional | instant or standard. |
| bank_account_id | string | Required | Saved bank account reference. |
| reference | string | Optional | Payout reference. |
| note | text | Optional | Supplier payout note. |
NeroDisburse Payments
Create disbursement payment records where enabled by the NeroDisburse controller.
/nerodisburse/paymentsCreates a NeroDisburse payment/disbursement request.
Use this endpoint where your integration needs NeroDisburse payment creation rather than a standard payout request. Risk and payout availability rules still apply.
Terminal Payments
Send in-person payment actions to a registered terminal reader.
/terminal/paymentsCreates and sends a terminal payment action.
/terminal/readers/{reader_id}/cancel-actionCancels the current reader action.
| Field | Type | Required | Description |
|---|---|---|---|
| amount | decimal | Required | Amount. |
| currency | enum | Required | Currency. |
| reader_id | string | Required | Terminal reader ID. |
| location_id | string | Required | Terminal location ID. |
| description | text | Optional | Payment description. |
| reference | string | Optional | Reference shown in transaction history. |
Terminal Locations
Create, list and manage terminal locations. Location creation uses the terminal bridge route.
/locationsLists terminal/NeroPOS locations.
/locationsLegacy alias to create terminal location.
/terminal/locationsLists terminal locations.
/terminal/locationsCreates a terminal location.
/locations/{id}Retrieves one location.
/locations/{id}Updates a location.
/locations/{id}Deletes where enabled.
| Field | Type | Required | Description |
|---|---|---|---|
| display_name | string | Required | Location display name. |
| line1 | string | Required | Address line 1. |
| city | string | Required | City. |
| postal_code | string | Required | Postal code. |
| country | enum | Required | ISO country code. |
| is_default | boolean | Optional | Set default location. |
| tipping_enabled | boolean | Optional | Enable tipping for terminal/POS flows. |
Terminal Readers
Register, list and remove terminal readers.
/readersLists readers.
/readersLegacy alias to register reader.
/terminal/readersLists terminal readers.
/terminal/readersRegisters a reader.
/terminal/readers/{id}Deletes/unlinks a reader.
| Field | Type | Required | Description |
|---|---|---|---|
| label | string | Required | Reader label. |
| location_id | string | Required | Location ID. |
| registration_code | string | Required | Pairing/registration code from device. |
| reader_serial_number | string | Read-only | Device serial where available. |
| reader_status | enum | Read-only | online/offline/unknown. |
Devices
Read-only terminal/device records for fleet visibility.
/devicesLists device rows.
/devices/{id}Retrieves one device.
| Field | Type | Description |
|---|---|---|
| device_id | string | Internal device ID. |
| reader_id | string | Linked reader ID. |
| reader_serial | string | Serial number. |
| reader_label | string | Display label. |
| status | enum | Device status. |
NeroCard Cards
NeroCard card records are read-only in API v2 and are separate from payment cards.
/nerocardsLists NeroCard cards.
/nerocards/{id}Retrieves one NeroCard card.
| Field | Type | Description |
|---|---|---|
| cardholder_name | string | Cardholder name. |
| brand | string | Card brand. |
| last4 | string | Last four digits. |
| status | enum | active, inactive, cancelled, blocked etc. |
| card_pin | hidden | Never returned. |
NeroCard Cardholders
Read NeroCard cardholder records.
/nerocardholdersLists cardholders.
/nerocardholders/{id}Retrieves one cardholder.
| Field | Type | Description |
|---|---|---|
| name | string | Cardholder name. |
| string | Email. | |
| phone | string | Phone. |
| stripe_cardholder_id | string | External cardholder identifier when present. |
| created_at | datetime | Creation time. |
NeroCard Transactions
Read NeroCard issuing transactions separately from wallet and payment transactions.
/nerocard-transactionsLists issuing/NeroCard transactions.
/nerocard-transactions/{id}Retrieves one NeroCard transaction.
| Field | Type | Description |
|---|---|---|
| stripe_issuing_transaction_id | string | External issuing transaction ID. |
| merchant_name | string | Merchant name on the card transaction. |
| amount | decimal | Transaction amount. |
| merchant_amount | decimal | Original merchant amount where different. |
| platform_fee_amount | decimal | Platform fee amount if applied. |
| net_amount | decimal | Net ledger amount. |
| status | enum | pending, posted, reversed etc. |
| type | enum | purchase, refund, adjustment etc. |
Customers
Create and manage NeroPOS/NeroPay customer records.
/customersLists customers.
/customersCreates a customer.
/customers/{id}Retrieves one customer.
/customers/{id}Updates a customer.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Customer name. |
| string | Optional | Email. | |
| phone | string | Optional | Phone. |
| postcode | string | Optional | Postcode. |
| address1/address2 | string | Optional | Address lines. |
| city | string | Optional | City. |
| instructions | text | Optional | Delivery or customer notes. |
Categories & Products
Keep product catalogue data in sync for NeroPOS and NeroWeb menus.
/categoriesLists categories.
/categoriesCreates category.
/categories/{id}Updates category.
/categories/{id}Deletes category where enabled.
/productsLists products.
/productsCreates product.
/products/{id}Updates product.
/products/{id}Deletes product where enabled.
| Product field | Type | Required | Description |
|---|---|---|---|
| category_id | integer | Optional | Category ID. |
| name | string | Required | Product name. |
| sku | string | Optional | SKU. |
| price | decimal | Required | Product price. |
| vat_rate | decimal | Optional | VAT rate. |
| image_url | string | Optional | Image URL. |
| stock_qty | integer | Optional | Stock quantity. |
| description | text | Optional | Product description. |
Product Options & Rules
Manage product-specific options and global option groups for POS and online ordering.
/product-option-groupsLists product option groups.
/product-option-groupsCreates product option group.
/product-optionsLists product options.
/product-optionsCreates product option.
/global-option-groupsLists global option groups.
/global-option-groupsCreates global option group.
/global-option-itemsLists global option items.
/global-option-itemsCreates global option item.
/global-option-assignmentsLists assignments.
/global-option-assignmentsCreates assignment.
/product-option-rulesAlias for assignments/rules.
| Field | Type | Description |
|---|---|---|
| name | string | Option or group name. |
| required | boolean | Require selection. |
| min_select / max_select | integer | Selection limits. |
| price_delta | decimal | Price change for selected item. |
| rules_json | object | Rule configuration. |
| scope / scope_id | enum/integer | Where a global option applies. |
Tables & Areas
Manage table maps, areas and table status for dine-in flows.
/table-areasLists table areas.
/table-areasCreates table area.
/tablesLists tables.
/tablesCreates table.
/tables/{id}Updates table.
/tables/{id}Deletes table where enabled.
| Field | Type | Description |
|---|---|---|
| area_id | integer | Area ID. |
| name / label | string | Display name. |
| seats | integer | Seat count. |
| status | enum | available, occupied, reserved etc. |
| x,y,w,h,rotation | decimal/integer | Table-map coordinates. |
Cashiers, Registers & Staff
Manage POS cashiers, registers, POS staff and team members.
/cashiersLists cashiers.
/cashiersCreates cashier.
/registersLists registers.
/registersCreates register.
/pos-staffsLists POS staff.
/pos-staffsCreates POS staff.
/team-membersLists merchant team members.
/team-membersCreates team member.
| Field | Type | Description |
|---|---|---|
| name | string | Staff/cashier name. |
| email / username | string | Login identifier. |
| password / new_password | string | Accepted on create/update but never returned. |
| role | enum | Role/register type. |
| permissions | object/array | Permission payload. |
| location_ids / till_ids | array | Allowed locations or tills. |
Invoices
Create and manage merchant invoices and invoice line items.
/invoicesLists invoices.
/invoicesCreates invoice.
/invoices/{id}Retrieves invoice.
/invoices/{id}Updates invoice.
/invoice-itemsLists invoice items.
/invoice-itemsCreates invoice item.
| Field | Type | Description |
|---|---|---|
| invoice_number | string | Invoice number. |
| invoice_to | string | Recipient name. |
| invoice_email | string | Recipient email. |
| currency_id | integer | Currency ID. |
| sub_total / total_amount | decimal | Amounts. |
| items_json | object/array | Line items payload. |
| due_date | date | Due date. |
| status | enum | draft, sent, paid etc. |
NeroPOS Orders
NeroPOS order APIs are separate from NeroWeb orders and generic store orders.
/neropos-ordersLists NeroPOS orders.
/neropos-ordersCreates NeroPOS order.
/neropos-orders/{id}Retrieves order.
/neropos-orders/{id}Updates order.
/neropos-order-itemsLists order items.
/neropos-order-itemsCreates order item.
/ordersGeneric orders resource.
/store-ordersRead-only NeroPay Store orders.
| Field | Type | Description |
|---|---|---|
| order_number / order_ref | string | Order reference. |
| status | enum | Order status. |
| fulfilment_type | enum | dine_in, takeaway, delivery etc. |
| payment_method / payment_status | enum | Payment fields. |
| customer_* | string | Customer details. |
| subtotal, total, tip_fee | decimal | Money fields. |
| location_id / table_id / staff_id | integer | Operational links. |
| meta_json | object | Extra order metadata. |
NeroPOS Payment Settings
Manage POS payment, tax, service fee, cashiers, tables and receipt defaults.
/payment-settingsLists POS payment settings.
/payment-settingsCreates settings where no row exists.
/payment-settings/{id}Retrieves settings.
/payment-settings/{id}Updates settings.
| Field | Type | Description |
|---|---|---|
| default_tax_fee | decimal | Default tax fee. |
| default_service_fee | decimal | Default service fee. |
| default_tip_fee | decimal | Default tip fee. |
| pos_mode / default_channel | enum | POS operating mode. |
| enable_tables / enable_cashiers | boolean | Feature toggles. |
| receipt_footer / receipt_logo_url | text/string | Receipt branding. Use receipt_logo_url for the logo image URL. |
| min_card_charge | decimal | Minimum card charge. |
NeroWeb Settings
Configure online ordering storefront settings separately from POS resources.
/neroweb-settingsLists NeroWeb settings.
/neroweb-settingsCreates settings.
/neroweb-settings/{id}Retrieves settings.
/neroweb-settings/{id}Updates settings.
| Field | Type | Description |
|---|---|---|
| store_name | string | Online store name. |
| slug | string | Store slug. |
| is_active | boolean | Enable store. |
| disable_delivery / disable_collect | boolean | Fulfilment toggles. |
| enable_card / enable_cash | boolean | Payment toggles. |
| working_hours_json | object | Working hours. |
| delivery_bands_json | object | Delivery pricing/areas. |
| theme_json | object | Brand/theme settings, including logo_url. |
NeroWeb Pages
Manage public pages used by the NeroWeb storefront builder.
/neroweb-pagesLists pages.
/neroweb-pagesCreates page.
/neroweb-pages/{id}Retrieves page.
/neroweb-pages/{id}Updates page.
/nerowebpagesLegacy alias for pages.
| Field | Type | Description |
|---|---|---|
| title | string | Page title. |
| slug | string | URL slug. |
| page_type | enum | home, content, legal etc. |
| is_home / is_published / show_in_nav | boolean | Page flags. |
| nav_label / nav_order | string/integer | Navigation settings. |
| html_content / content / css_content | text | Page content. |
| builder_json | object | Builder state. |
| meta_title / meta_description | string/text | SEO metadata. |
NeroWeb Orders
NeroWeb orders are separate from NeroPOS orders and store orders.
/neroweb-ordersLists NeroWeb orders.
/neroweb-ordersCreates NeroWeb order.
/neroweb-orders/{id}Retrieves order.
/neroweb-orders/{id}Updates order.
/neroweb-order-itemsLists order items.
/neroweb-order-itemsCreates order item.
| Field | Type | Description |
|---|---|---|
| order_ref | string | Order reference. |
| status | enum | Order status. |
| fulfilment_type | enum | delivery, collect etc. |
| payment_method / payment_status | enum | Payment fields. |
| subtotal_pence / total_pence | integer/decimal | Money fields. |
| customer_name / email / phone | string | Customer fields. |
| meta_json | object | Extra metadata. |
Booking Settings
Booking settings are separate from booking transactions and should appear under the Booking menu.
/booking-settingsLists booking settings.
/booking-settingsCreates booking settings.
/booking-settings/{id}Retrieves booking settings.
/booking-settings/{id}Updates booking settings.
| Field | Type | Description |
|---|---|---|
| booking_company_name | string | Booking brand/company name. |
| booking_type | enum | Booking mode/type. |
| weekly_hours | object | Weekly opening hours. |
| auto_approve_booking | boolean | Auto approve bookings. |
| slot_duration | integer | Minutes per slot. |
| max_bookings_per_slot / max_guests | integer | Capacity. |
| services | object/array | Bookable services. |
| holiday_days | array | Closed dates. |
| staff_enabled / staff | boolean/object | Staff booking assignment. |
Bookings
Create and manage booking transactions.
/bookingsLists bookings.
/bookingsCreates booking.
/bookings/{id}Retrieves booking.
/bookings/{id}Updates booking.
| Field | Type | Required | Description |
|---|---|---|---|
| booking_date | date | Required | Booking date. |
| booking_time | time | Required | Booking time. |
| guest_count | integer | Optional | Guests. |
| service | string | Optional | Service name. |
| amount | decimal | Optional | Booking amount. |
| staff_id / staff_name | integer/string | Optional | Staff assignment. |
| location_id | integer | Optional | Location. |
| customer_name / phone / email | string | Required | Customer details. |
| customer_note | text | Optional | Customer note. |
| status | enum | Optional | pending, confirmed, cancelled etc. |
KYC / Identity API
Identity API is not only for NeroConnect. Direct merchants can also use it to create verification links and read verification sessions.
/identity/verification-linksCreates a document verification link.
/identity/verification-sessionsLists verification sessions.
/identity/verification-sessions/{id}Retrieves one verification session.
| Field | Type | Required | Description |
|---|---|---|---|
| type | enum | Optional | document or supported verification type. |
| return_url | string | Optional | Where the user should return after verification. |
| first_name / last_name | string | Optional | Prefill name if known. |
| country | enum | Optional | ISO country code. |
| metadata | object | Optional | Developer metadata. |
short_url or verification_url in your own dashboard.Compliance API
Compliance APIs let merchants or platforms read requested documents and submit evidence back to NeroPay.
/compliance/requestsLists compliance document requests.
/compliance/requests/{id}Retrieves one compliance request.
/compliance/requests/{id}/documentsUploads requested compliance documents.
| Field | Type | Required | Description |
|---|---|---|---|
| document_file | file | Required | Requested file. |
| document_type | string | Optional | Type requested by staff/compliance. |
| notes | text | Optional | Merchant or platform notes. |
| metadata | object | Optional | Optional developer metadata. |
Support Tickets
White-label support APIs allow a platform to create tickets for NeroPay staff while keeping the platform as the customer-facing brand.
/support/ticketsLists tickets.
/support/ticketsCreates ticket.
/support/tickets/{id}Retrieves ticket.
/support/tickets/{id}/messagesAdds ticket message.
| Field | Type | Required | Description |
|---|---|---|---|
| subject | string | Required | Ticket subject. |
| message | text | Required | Initial message. |
| priority | enum | Optional | low, normal, high, urgent. |
| category | string | Optional | Support category. |
| attachments[] | file | Optional | Optional files where supported. |
support.ticket_updated and support.message_created webhooks and display the answer in your own UI.Webhooks
Use webhooks for account updates, KYC, compliance, proof, reserve release and support events.
/webhooksLists configured endpoints.
/webhook-deliveriesLists delivery attempts.
transaction.proof_requestedtransaction.proof_submittedtransaction.proof_approvedtransaction.proof_rejectedpayout.proof_requestedtransfer.proof_requestedbalance.reserve_releasedcompliance.document_requestedcompliance.document_submittedcompliance.document_approvedcompliance.document_rejectedkyc.pendingkyc.verifiedkyc.rejectedaccount.updateaccount.updatedconnected_account.createdconnected_account.updatedsupport.ticket_createdsupport.ticket_updatedsupport.message_created| Field | Type | Description |
|---|---|---|
| id | string | Webhook event ID. |
| type | enum | Event type. |
| created_at | datetime | Event creation time. |
| account | object | Merchant or connected account payload. |
| data | object | Event-specific payload. |
| signature | string | Use your endpoint signing secret where configured. |
Sandbox
Sandbox write endpoints under /sandbox return realistic JSON and do not create live payment, terminal, payout or local records.
/sandbox/hosted-paymentsDry-run hosted payment.
/sandbox/payment-intentsDry-run payment intent.
/sandbox/terminal/paymentsDry-run terminal payment.
/sandbox/payment-linksDry-run payment link.
/sandbox/terminal/locationsDry-run terminal location.
/sandbox/terminal/readersDry-run reader registration.
/sandbox/bank-accountsDry-run bank account.
/sandbox/payoutsDry-run payout.
/sandbox/payout-scheduleDry-run schedule update.
/sandbox/resources/{resource}Dry-run resource create.
Sandbox is designed for API clients and Postman tests. Use live endpoints only when you want real records/actions.
Resource Reference
API v2 exposes explicit controller endpoints plus direct resource aliases. Resources are grouped by product area in this documentation; they are not all hidden under NeroPOS.
Core
Payments
Money Movement
NeroDisburse
Terminal
NeroCard
NeroPOS
NeroWeb
Bookings
Risk & Ops
/v2/disputes, /v2/bank-accounts, /v2/neroweb-orders, /v2/nerocard-transactions and /v2/bookings should not return route-not-found when the v2 route patch is deployed and route cache is cleared.