Posteering
Reference

Create a payment intent (partner perimeter).

Creates a payment intent attributed to the authenticated partner. The partner identity (req.user.partnerId from PartnerHmacGuard) is recorded on bankrail.payment_intents.consumer_partner_id; the callback dispatcher will sign the credit-confirmed callback with the partner's active callback-signing credential when one exists. Returns 200 OK with the allocated virtual account details (synchronous creation — bankrail calls Providus DCS during the request).

POST
/api/v1/bankrail/payment/intent

Authorization

X-Bankrail-Key-Id<token>

Partner-visible credential identifier issued by bank-rail at credential provisioning time. Names which credential signed the request; the corresponding signing secret never appears in any request.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/bankrail/payment/intent" \  -H "Content-Type: application/json" \  -d '{    "reference": "partner-intent-2026-001",    "currency": "NGN",    "callbackUrl": "https://partner.example.com/webhooks/bankrail/credit",    "purposeTag": "wallet_fund",    "virtualAccountHolder": {}  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "trackingId": "string",  "partnerId": "bf408d53-df49-40a6-8455-a34bd4360901",  "reference": "string",  "status": "pending",  "direction": {},  "provider": "providus",  "providerChannel": "dcs",  "providerReference": "string",  "amountKobo": 0,  "currency": "string",  "virtualAccount": "string",  "virtualAccountName": "string",  "virtualAccountBank": "string",  "purposeTag": "string",  "creatorMetadata": {},  "expiresAt": "2019-08-24T14:15:22Z",  "createdAt": "2019-08-24T14:15:22Z",  "checkoutToken": "string",  "merchantDisplayName": "string",  "returnUrl": "string"}
Empty
Empty
Empty
Empty