Get Payment Details

Overview

Use this endpoint to retrieve the status and detailed information of a specific payment.
When a payment is processed through MyFatoorah, the PaymentId is returned as a parameter in the Redirection URL. This PaymentId should then be used to inquire about the payment details and confirm whether the payment was successful or not.

👍

Good Practice

As a good practice, to ensure the payment response is returned from the MyFatoorah end, we encourage you to call GET /v3/payments/{paymentId} endpoint (Get Payment Details) once you receive the callback response to confirm the payment’s final status directly from MyFatoorah.

How it works

MyFatoorah invoice may have more than one transaction. The InvoiceStatus parameter represents the overall status of the invoice.

  • The invoice will be "PAID" if there is a successful transaction (with "SUCCESS" status).
  • The invoice will be "PENDING" if all transactions have "FAILED", "INPROGRESS", "AUTHORIZE", or "CANCELED" status.
GET /v3/payments/{paymentId}
{
    "IsSuccess": true,
    "Message": "",
    "ValidationErrors": null,
    "Data": {
        "Invoice": {
            "Id": "6389662",
            "Status": "PAID",
            "Reference": "2025060928",
            "CreationDate": "2025-12-24T16:23:49.5900000Z",
            "ExpirationDate": "2026-06-22T16:23:49.5900000Z",
            "ExternalIdentifier": null,
            "UserDefinedField": "",
            "MetaData": null
        },
        "Transaction": {
            "Id": "104690",
            "Status": "SUCCESS",
            "PaymentMethod": "VISA/MASTER",
            "PaymentId": "07076389662322472373",
            "ReferenceId": "535816104690",
            "TrackId": "24-12-2025_3224723",
            "AuthorizationId": "104690",
            "TransactionDate": "2025-12-24T16:23:50.7000000Z",
            "ECI": "",
            "IP": {
                "Address": "",
                "Country": ""
            },
            "Error": {
                "Code": "",
                "Message": ""
            },
            "Card": {
                "NameOnCard": "Muhammad",
                "Number": "512345xxxxxx0008",
                "Token": "TKN-0fb06aac-634d-418a-bf78-953202b67b53",
                "PanHash": "b888aa5f23a817883d4d12c74044bab1ae6ee65dc8d6e11515394aba452b273b",
                "ExpiryMonth": "12",
                "ExpiryYear": "36",
                "Brand": "Mastercard",
                "Issuer": "Test Bank",
                "IssuerCountry": "KWT",
                "FundingMethod": "credit"
            }
        },
        "Customer": {
            "Reference": "",
            "Name": "Anonymous",
            "Mobile": "+965",
            "Email": ""
        },
        "Amount": {
            "BaseCurrency": "KWD",
            "ValueInBaseCurrency": "20",
            "ServiceCharge": "0.4",
            "ServiceChargeVAT": "0.06",
            "ReceivableAmount": "19.54",
            "DisplayCurrency": "KWD",
            "ValueInDisplayCurrency": "20",
            "PayCurrency": "KWD",
            "ValueInPayCurrency": "20"
        },
        "Suppliers": []
    }
}

Error Codes

CodeExplanation
MF0013DS authentication failed, possible reasons (user inserted a wrong password, cardholder/card issuer are not enrolled with 3DS, or the issuer bank has technical issue).
MF002The issuer bank has declined the transaction, possible reasons (invalid card details, insufficient funds, denied by risk, the card is expired/held, or card is not enabled for online purchase).
MF003The transaction has been blocked from the gateway, possible reasons (unsupported card BIN, fraud detection, or security blocking rules).
MF004Insufficient funds
MF005Session timeout
MF006Transaction canceled
MF007The card is expired.
MF008The card issuer doesn't respond.
MF009Denied by Risk
MF010Wrong Security Code
MF020Unspecified Failure

📘

Old Integration (V2)

In case you are using the integration for v2, you can find the documentation here: