Checking Payment Status

Checking the Status of a Payment

Once a payment has been initiated using Web Checkout or Direct API, you can use this endpoint to retrieve its final status. This is useful when confirming a transaction on your system after the user has returned to your site or if you missed a webhook notification.

For a complete understanding of our payment system, we recommend reviewing our System Overview first.


End point: https://gateway.yallapaysudan.com/api/v1/gateway/getPaymentStatus

HTTP Method: POST


Request Parameters

ParameterDescriptionRequired/Optional
clientReferenceIdA unique identifier you originally passed when creating the paymentRequired
transactionDateThe date the transaction was initiated in the format YYYY-MM-DDRequired

Note: The clientReferenceId should match the one you used when creating the payment through Web Checkout or Direct API.


Example Request:

REQUEST
JSON
Header:
{
  "Authorization": "Bearer <Authorization-Token>"
}

Body:
{
"clientReferenceId": "7ff632fc-3e5b-4be5-b2a0-dbe2600e7789",
"transactionDate": "2025-12-05"
}

Note: You can find your authorization token in the Developers section of your dashboard.


Example Successful Response:

RESPONSE
JSON
{
"clientReferenceId": "7ff632fc-3e5b-4be5-b2a0-dbe2600e7789",
"paymentReferenceId": "01JXF7HSW41P9FCG9YN6Z094XR",
"status": "SUCCESSFUL",
"amount": 150,
"paymentDate": "2025-12-05",
"paymentTime": "13:15:02"
}

Status Values

The status field in the response can have one of the following values:

StatusDescription
SUCCESSFULThe payment was completed successfully
FAILEDThe payment attempt failed (e.g., insufficient funds, technical error)
CANCELLEDThe payment was canceled by the user
REVOKEDThe payment authorization was revoked by the customer or bank
EXPIREDThe payment session expired before completion

You can also view these statuses in the Transactions tab of your dashboard for a visual overview of all your payment activities.


Best Practices

For more advanced reconciliation workflows, consider combining this API with our Webhooks to ensure payment status is always synced with your system. This approach provides real-time updates and reduces the need for manual status checking.