Get Transaction Status Endpoint - Get Request

Once Pesapal redirect your customer to your callback URL and triggers your IPN URL, you need to check the status of the payment using the OrderTrackingId.

The URL to our GetTransactionStatus API is either:

Where xxxxxxxxxxxx represents the OrderTrackingId received as part of the callback [GET] or IPN [POST/GET] params.

HTTP request headers

Accept: The response format, which is required for operations with a response body.
Content-Type: The request format, which is required for operations with a request body.

Parameter RequiredDescription
Accept Required Should be set to application/json
Content-Type Required Should be set to application/json


Request Parameters


orderTrackingId string Required Unique order id generated by Pesapal e.g 7e6b62d9-883e-440f-a63e-e1105bbfadc3. Attached as a query parameter to the getTransactionStatus endpoint to get status of your submitted order.

Response Parameters


payment_method This refers to the payment method used by your customers to make payment. Can be through CARD, MPESA, MTN, TIGO etc.
amount Amount paid by the customer.
created_date Date the payment was made.
confirmation_code Confirmation code received from the payment provider used.
payment_status_description Contains the status of the transaction. This will include either FAILED, COMPLETED or REVERSED.
description Description of the payment status.
message The message shows if transaction request status was processed successfully or not.
payment_account Masked card number or phone number used during payment.
call_back_url A valid URL which Pesapal will redirect the client to after payment is made.
status_code Pesapal status code representing the payment_status_description.
merchant_reference Your application's unique ID as received in the SubmitOrderRequest call.
currency Currency the payment was made in. ISO Currency Codes.
error An error object containing error_type, code, message and call_back_url.
status HTTP status code as defined on RFC 2616. A status of 200 means the request was successful.


Sample Response
        "payment_method": "Visa",
        "amount": 100,
        "created_date": "2022-04-30T07:41:09.763",
        "confirmation_code": "6513008693186320103009",
        "payment_status_description": "Failed",
        "description": "Unable to Authorize Transaction.Kindly contact your bank for assistance",
        "message": "Request processed successfully",
        "payment_account": "476173**0010",
        "call_back_url": "",
        "status_code": 2,
        "merchant_reference": "1515111111",
        "payment_status_code": "",
        "currency": "KES",
        "error": {
            "error_type": null,
            "code": null,
            "message": null,
            "call_back_url": null
        "status": "200"
Is this article helpful?