KreedX — Banking API and Payments Platformby DigiPulse Solutions
Developer Docs
POSTBBPS

Submit payment

Routes the payment to the biller and returns the reference that identifies this transaction everywhere afterwards.

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.

POST{BASE_URL}/v1/bbps/payments

🚧 A timeout is not a failure

If this call times out, the payment may still have gone through. Do not mark it failed, and do not retry with a new clientReference. Check the status — or resend with the same clientReference, which returns the first result instead of charging twice.

Headers

Authorizationstringrequired

Bearer <your API key>. Sandbox and production keys are separate.

Content-Typestringrequired

application/json on every request that has a body.

Request body

billerIdstringrequired

From the biller catalogue.

billIdstringoptional

From fetch bill. Omit for billers without fetch.

amountnumberrequired

In rupees.

customerParamsobjectrequired

The same fields you validated.

clientReferencestringrequired

Your own unique ID. Sending it twice returns the first result instead of charging twice.

Response fields

referenceIdstringrequired

Store this. Use it for status checks, receipts and reconciliation.

statusstringrequired

PENDING, SUCCESS or FAILED. PENDING settles via webhook or the status call.

Values of status

ValueMeaning
PENDINGAccepted and in progress. The final result arrives by webhook or the status call.
SUCCESSCompleted. Safe to show the customer a receipt.
FAILEDDid 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.

400VALIDATION_ERROR

A field is missing or malformed. The message names the field.

401UNAUTHORIZED

The API key is missing, wrong, or for the other environment.

404NOT_FOUND

No resource with that ID or reference exists.

409DUPLICATE_REFERENCE

This clientReference was already used. Safe to treat as a repeat of the first call.

429RATE_LIMITED

Too many requests. Back off and retry after the Retry-After header.

503UPSTREAM_UNAVAILABLE

The biller, bank or network is down. Retry later; nothing was charged.