NRVE Pay developers

Accept Pay by Bank without rebuilding your checkout.

Use Hosted Checkout, Payment Links or the REST API. Your integration talks only to NRVE Pay; bank authorisation is handled by the hosted payment flow.

Quick start

Create a test API key, create a payment session, redirect the customer to checkout_url, then fulfil only after a verified payment.completed webhook.

Authentication

Send Authorization: Bearer nrve_test_… or nrve_live_…. Test keys use the NRVE Pay sandbox bank.

Idempotency

Send a unique Idempotency-Key header when creating a payment. Retrying the same request returns the original payment.

Create a payment

POST /v1/payment-sessions Authorization: Bearer nrve_test_xxx Idempotency-Key: order_1842 { "amount_minor": 7999, "currency": "GBP", "reference": "ORDER-1842", "return_url": "https://merchant.example/complete", "cancel_url": "https://merchant.example/cancel" }

Payment links

POST /v1/payment-links creates a hosted, single-use payment URL. This is suitable for email, CRM, phone orders and merchants without a checkout integration.

Webhooks

Register with POST /v1/webhook-endpoints. Events include payment.completed, payment.failed and payment.cancelled. Verify X-NRVE-Pay-Signature as HMAC-SHA256 over timestamp.body.

Do not fulfil from a browser return URL. Fulfil only after a verified payment.completed webhook or an authenticated API status check.

Refunds

NRVE Pay records refunds for reconciliation, but refund execution remains a manual bank process. There is intentionally no API endpoint that moves refund funds.