Payment Status Callback
Understand the notification callback structure sent after a deposit and how to verify payment status.
Handle deposit notifications by receiving callbacks from MiFinity and verifying the payment status before moving funds to the user.
How It Works
- The user completes a deposit through the iFrame.
- MiFinity sends a notification callback to your configured URL:
- Success → sent to the
returnUrlspecified in your init-iframe request. - Failure → sent to the
errorUrl(if provided).
- Success → sent to the
- Call the Payment Status API to retrieve the final transaction status.
- Move funds to the user only when the status is
SUCCESSFUL.
Configure both
returnUrlanderrorUrlto capture all notifications. These URLs can be identical — as long as you always call the Payment Status API after receiving a callback.
Callback Payload
The notification callback is a JSON object sent to your returnUrl or errorUrl. The structure varies depending on the outcome:
{
"sourceMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"destinationMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"totalFees": {
"amount": 0,
"currency": "EUR",
"presentationAmount": "EUR0.00"
},
"exchangeRate": null,
"traceId": "traceIdKf9BRLbkAzKCO~ilV1Ga~",
"money": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
},
"description": "Test",
"clientReference": "Sherlock Holmes",
"validationKey": "i3Kk40d5m0pP~L0BOrGPgSakPLBAV1BFc2QRWMp~Z2mz2ao~rCXuaBsQIfrX7~KdzBiucKQ0AVQkdKMil_Wy0_rM6V7KyvCalB0j8bpgzDTNYE_ix5eqdyYVdDw4",
"cardToken": null,
"responseCode": "dwcGXOe3OweA8E1X9g7N2BfYT6w77rLLg78PrLpqKHc=",
"captureToken": null,
"transactionReference": "879ff0d1-6a52-420e-9480-3c964ba633e3",
"paymentType": "EWALLET",
"sfaRequired": null,
"siteReference": null,
"customerAccountNumber": "5001000001213949",
"customerAccountNumberType": null,
"customerDob": [
1993,
10,
31
],
"customerPostCode": null,
"customerFirstName": "anish",
"customerLastName": "shah",
"senderEmailAddress": "[email protected]",
"paymentMethod": "giropay",
"accountNumber": "500100XXXXXX3949",
"customerCountryCode": "DE",
"requestedMoney": {
"amount": 150,
"currency": "EUR",
"presentationAmount": "EUR150.00"
}
}Ignore any additional fields returned in the callback response that are not documented above. These may change without notice.
Updated 1 day ago
What’s Next