Submit payment
Routes the payment to the correct issuer, with a reference for your reconciliation.
Sample reference
This shows the shape of the call — the operation, its fields and what comes back. The exact paths, base URL and any extra fields are confirmed with your sandbox credentials.
{BASE_URL}/v1/cards/payments🚧 A timeout is not a failure
Headers
AuthorizationstringrequiredBearer <your API key>. Sandbox and production keys are separate.
Content-Typestringrequiredapplication/json on every request that has a body.
Request body
issuerstringrequiredIssuer code.
cardLast4stringrequiredLast four digits only.
registeredMobilestringrequiredMobile registered with the issuer.
amountnumberrequiredIn rupees.
clientReferencestringrequiredYour own unique ID.
Response fields
referenceIdstringrequiredStore this for status checks and reconciliation.
statusstringrequiredPENDING, SUCCESS or FAILED.
Values of status
| Value | Meaning |
|---|---|
| PENDING | Accepted and in progress. The final result arrives by webhook or the status call. |
| SUCCESS | Completed. Safe to show the customer a receipt. |
| FAILED | Did not go through. Show the reason; the customer can try again. |
Errors
Every API returns the same envelope on failure, so one handler covers the whole catalogue.
VALIDATION_ERRORA field is missing or malformed. The message names the field.
UNAUTHORIZEDThe API key is missing, wrong, or for the other environment.
NOT_FOUNDNo resource with that ID or reference exists.
DUPLICATE_REFERENCEThis clientReference was already used. Safe to treat as a repeat of the first call.
RATE_LIMITEDToo many requests. Back off and retry after the Retry-After header.
UPSTREAM_UNAVAILABLEThe biller, bank or network is down. Retry later; nothing was charged.
