Validate a payout recipient
Requires payouts:create. Uses the environment on the API key and Paga Business Validate Deposit to Bank. Simulated sandbox behavior is available only when PAGA_SANDBOX_SIMULATE=true.
Requires payouts:create. Uses the environment on the API key and Paga Business Validate Deposit to Bank. Simulated sandbox behavior is available only when PAGA_SANDBOX_SIMULATE=true.
api-keyx-api-key<token>Your API key: ck_test_... for test mode, ck_live_... for live. Send it with x-api-secret (or Authorization: Bearer ).
x-api-secret?stringRecommended: API secret sent over HTTPS. You may send it as Authorization: Bearer instead. If supplied, x-timestamp and x-signature are not required.
x-timestamp?stringLegacy signed mode: Unix time in milliseconds; maximum clock skew five minutes.
x-signature?stringLegacy signed mode: HMAC-SHA256(secret, timestamp.METHOD.url.idempotencyKey.bodyHash).
x-idempotency-key*string1–128 letters/digits or ._:-. Same key and payload replay for 24 hours; conflicting, in-flight, or expired keys return 409. Never change a key to retry an uncertain payment.
application/json- body
bankCode*stringBank code supplied by the connected banking provider.
accountNumber*stringamountMinor?stringAmount in minor units used by Paga to calculate transfer fees during validation.
"100"currency?string"NGN"application/json- response
valid*booleanbankCode*stringaccountNumberMasked*stringaccountName*string|nullprovider*stringsimulated*booleanTrue only for the simulated sandbox validation response.
feeMinor*|Estimated Paga fee in minor units.
message*string|nullcurl -X POST 'https://api.creddot.com/api/v1/payouts/recipients/validate' \ -H 'x-idempotency-key: string' \ -H 'Content-Type: application/json' \ -d '{ "bankCode": "044", "accountNumber": "0123456789"}'{ "valid": true, "bankCode": "044", "accountNumberMasked": "******6789", "accountName": "Sandbox Account 6789", "provider": "PAGA", "simulated": true, "feeMinor": "5000", "message": "string"}Queue a payout POST
Requires payouts:create. Validates the recipient, atomically reserves funds, and writes a durable payout-dispatch record before BullMQ sends it to Paga. Provider calls are never retried automatically after dispatch begins.
Read public checkout payment status GET
No authentication. Poll this payer-safe endpoint after starting a Pay Link, event, Split Pay, or storefront order payment. It returns current database status immediately after callback or reconciliation settlement and never exposes payer contact details, provider references, or internal IDs.