Skip to main content
Upon submitting a payment initiation request, the status may be set to one of the following values:
  • PENDING – The request is still being processed. It has not yet been fully validated or accepted by the Institution.
  • COMPLETED – The request has passed all validation checks and was accepted by the Institution.
  • FAILED – The Institution has rejected the request. The payment will not be processed further.
  • UNKNOWN (rare) – The system could not determine. Payment status flow

Example Response from Get latest payment status Endpoint

{
  "id": "e68eee70-bfe9-4885-8650-46ec7d017458",
  "paymentId": "123e4567-e89b-12d3-a456-426614174000",
  "status": "PENDING",
  "detailedStatus": "AIS_PSU_CONSENT_RECEIVED",
  "failureReasons": ["INSUFFICIENT_FUNDS"],
  "createdAt": "2023-10-01T12:00:00Z"
}

Status Fields

Field
Type
Required
Description
idstring
Unique identifier for this status (UUID format)
paymentIdstring
The Kashimi payment ID that this status update relates to (UUID format)
statusstring
The new payment status: PENDING, COMPLETED, FAILED, or UNKNOWN
detailedStatusstring
Granular status within the payment lifecycle. See Detailed Status Reference.
failureReasonsArray
Array of failure reasons populated only when the payment status is FAILED.
createdAtstring
ISO 8601 timestamp when the status change occurred
To understand the status of a payment in more detail, you can obtain a granular Kashimi payment status by calling the Get latest payment status endpoint. In the case of FAILED payments, the endpoint might also return failureReasons. Additionally, the response includes a detailedStatus field that provides deeper insight into the current state of the payment within its lifecycle, regardless of whether it has failed or not.
Failure ReasonMeaning
UNKNOWN_ERRORAn unspecified error occurred. The exact cause could not be determined.
INTERNAL_TECHNICAL_ERRORAn unexpected technical issue occurred within Kashimi’s system.
PAYMENT_EXPIREDThe payment was not completed within the allowed time window and has expired.
SENDER_CREDENTIALS_INVALIDThe sender’s banking credentials were invalid or rejected by the bank.
REMITTANCE_INFORMATION_INVALIDThe remittance information provided is not valid or not accepted by the bank.
SENDER_ACCOUNT_INVALIDThe sender’s account number or details are invalid or not supported.
RECIPIENT_ACCOUNT_INVALIDThe recipient’s account number is incorrect or unsupported.
RECIPIENT_NAME_INVALIDThe recipient’s name is invalid or does not match the expected format.
CURRENCY_INVALIDThe specified currency is not supported for this payment.
AMOUNT_EXCEEDS_AVAILABLE_FUNDSThe sender’s account does not have sufficient funds to complete the payment.
AMOUNT_EXCEEDS_DAILY_LIMITThe payment amount exceeds the daily limit set by the bank or sender.
AMOUNT_EXCEEDS_MONTHLY_LIMITThe payment amount exceeds the monthly limit set by the bank or sender.
AMOUNT_EXCEEDS_LIMITThe payment amount exceeds a single-transaction limit set by the bank.
PROVIDER_AGREEMENT_MISSINGThe bank does not have a valid agreement to process payments for this sender or account.
SENDER_BLOCKEDThe sender’s account or profile has been blocked by the bank.
SENDER_RIGHTS_MISSINGThe sender does not have the necessary rights to initiate this payment.
SENDER_ACCOUNT_BLOCKEDThe specific sender account used for this payment has been blocked.
PAYMENT_ABORTED_BY_SENDERThe sender cancelled the payment during the authorisation flow.
PAYMENT_ABORTED_BY_PROVIDERThe bank or provider rejected or cancelled the payment.
SENDER_AUTHORIZATION_NOT_GRANTEDThe sender did not grant the required authorisation to proceed with the payment.
ACCOUNT_INFORMATION_CONSENT_NOT_GRANTEDThe sender did not grant consent to access account information required for this payment.
PAYMENT_CONSENT_INCOMPLETEThe payment consent flow was started but not completed by the sender.
PAYMENT_CONSENT_NOT_GRANTEDThe sender did not grant consent for the payment.
PROVIDER_SYSTEM_MAINTENANCEThe bank’s system is temporarily unavailable due to scheduled maintenance.
PROVIDER_TECHNICAL_ERRORAn unexpected technical issue occurred on the bank’s side.
MTLS_CERTIFICATE_INVALIDThe mutual TLS client certificate is invalid or not accepted by the bank.
SIGNATURE_CERTIFICATE_INVALIDThe signing certificate (QSealC) is invalid or not accepted by the bank.

UNKNOWN Status

The UNKNOWN status is a fallback that occurs when Kashimi receives a response from the bank that does not map to any expected status. This is not a permanent terminal state. How to handle it: Do not treat UNKNOWN as equivalent to FAILED. Instead:
  • Continue polling the Get latest payment status endpoint — the status may update as the bank resolves the response.
  • If the status remains UNKNOWN for an extended period, contact Kashimi support to investigate.
Do not stop the payment flow or mark a payment as failed solely because the status is UNKNOWN. Await a status update or contact support.

Webhooks

Kashimi supports webhooks to notify you about payment status changes. For detailed information about implementing webhooks, including security, payload structure, and code examples, see the Webhooks documentation.