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 PracticeAs 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
| Code | Explanation |
|---|---|
| MF001 | 3DS authentication failed, possible reasons (user inserted a wrong password, cardholder/card issuer are not enrolled with 3DS, or the issuer bank has technical issue). |
| MF002 | The 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). |
| MF003 | The transaction has been blocked from the gateway, possible reasons (unsupported card BIN, fraud detection, or security blocking rules). |
| MF004 | Insufficient funds |
| MF005 | Session timeout |
| MF006 | Transaction canceled |
| MF007 | The card is expired. |
| MF008 | The card issuer doesn't respond. |
| MF009 | Denied by Risk |
| MF010 | Wrong Security Code |
| MF020 | Unspecified Failure |
Old Integration (V2)In case you are using the integration for v2, you can find the documentation here:
Updated 7 minutes ago
