Payment Status API
Verify the outcome of a payment by calling the Payment Status API after receiving a callback notification.
Verify the outcome of a payment by calling this endpoint after receiving a callback on your returnUrl or errorUrl.
Endpoint
GET
https://demo.mifinity.com/api/gateway/payment-status/{validationKey}
Replace {validationKey} with the validation key you generated and passed in your init-iframe API request. This key uniquely identifies the payment session.
Response Handling
After receiving a callback notification, follow these steps:
- Call the Payment Status API using the
validationKeyfrom the original request. - Check the HTTP status code — only process responses with HTTP 200.
- Read the
statusfield in the response payload:SUCCESSFUL→ Move funds to the user.FAILED→ Mark the transaction as failed on your end.PENDINGorNOT_COMPLETED→ Wait — the payment is still being processed.
| Status | Final? | Description |
|---|---|---|
SUCCESSFUL | Yes | The payment completed successfully. |
PENDING | No | The payment has been submitted to the processor but is not yet determined. |
NOT_COMPLETED | No | The payment requires further input from the user. |
FAILED | Yes | The payment has failed. |
The
detailedStatusfield is optional and provides additional context on why a transaction was unsuccessful (e.g.,ABANDONED_BY_USER). Not all responses include it.
Response Examples
Returned when the payment completes successfully. Contains full transaction details including amounts, fees, and customer information.
{
"payload": [
{
"status": "SUCCESSFUL",
"paymentResponse": {
"sourceMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"destinationMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"totalFees": {
"amount": 0,
"currency": "EUR",
"presentationAmount": "EUR0.00"
},
"traceId": "traceIdASRQLThiunztFWhckw6t2",
"money": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"description": "Test",
"clientReference": "Sherlock Holmes",
"validationKey": "Gxx4o3r8OR2E372hHxtpW7mOjGvOa81EXGhz~luUXKsUbwGGd5oaiP5IHCEUxblV1XLGNKXbhYCQgAPhTHgLAcWEWpz1JiIRbeFP5YNlA3FVW~XYrhZsnq5uo4Zw",
"responseCode": "FnUVNoes9jwyI7V7gdQvovRMbM966WR1a2QAh3pj3LY=",
"transactionReference": "79da2eee-bc4d-4712-a6fa-6dc8c8088b1a",
"paymentType": "EWALLET",
"customerAccountNumber": "5001000001213949",
"customerDob": "1993-10-31",
"customerFirstName": "anish",
"customerLastName": "shah",
"senderEmailAddress": "[email protected]",
"paymentMethod": "giropay",
"accountNumber": "500100XXXXXX3949",
"customerCountryCode": "DE",
"requestedMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
}
}
}
]
}Updated about 10 hours ago