Notification Callbacks

MiFinity sends HTTP JSON notification callbacks to confirm transaction status changes. Use these callbacks as the definitive indication of whether a payment succeeded or failed.

Callback Triggers

Callbacks fire when a transaction reaches one of these statuses:

StatusDescription
SUBMITTEDThe movement of funds has been initiated
PROCESSED BY ACQUIRERThe acquirer has confirmed the transaction (typically next day)
REJECTEDThe transaction was rejected
📘

Successful transactions generate two callbacks. The first fires when the status changes to SUBMITTED. The second fires the next day during reconciliation when the status updates to PROCESSED BY ACQUIRER.

Endpoint Setup

Provide your callback endpoint URLs (for both DEMO and PROD) to the integration team at [email protected].

You have two options for endpoint design:

  • Single endpoint — Receive all callbacks at one URL and differentiate success/failure in your internal logic
  • Separate endpoints — Specify a different URL for each callback status
⚠️

Your endpoint must return HTTP status 200 with no response body.

Callback Payload

{
  "postedOn": null,
  "money": {
    "amount": 10,
    "currency": "EUR",
    "presentationAmount": "EUR10.00"
  },
  "source": "5001000001212099",
  "destination": "EE bank",
  "description": "test EE success",
  "transactionStatus": 3,
  "transactionStatusDescription": "Submitted",
  "traceId": "ce1035ae-ffc8-4ab4-8493-4ef7ef5b546e",
  "transactionReference": "3f57cb79-0707-4249-924a-15780a3f930e",
  "eventTypeDescription": "Pay Any Bank",
  "createdOn": "2023-10-10T14:33:37.412Z",
  "arn": null,
  "paymentCategoryType": "GAMING_PAYOUT",
  "externalReference": "P2100CVTHJ",
  "sourceEmail": null,
  "merchantCompanyName": "MiFinity",
  "additionalInfo": null,
  "errorMessage": null
}
{
  "postedOn": null,
  "money": {
    "amount": 10,
    "currency": "GBP",
    "presentationAmount": "GBP10.00"
  },
  "source": "5001000001212099",
  "destination": "XXXXX100",
  "description": "test GB success",
  "transactionStatus": 5,
  "transactionStatusDescription": "Processed by acquirer",
  "traceId": "21d1490b-0764-424e-8e31-1f2a17d72088",
  "transactionReference": "82dcb6d9-6ada-4c20-9d77-168b6938995e",
  "eventTypeDescription": "Pay Any Bank",
  "createdOn": "2024-02-12T10:58:56.594Z",
  "arn": null,
  "paymentCategoryType": "GAMING_PAYOUT",
  "externalReference": "3985217",
  "sourceEmail": null,
  "merchantCompanyName": "MiFinity",
  "additionalInfo": null,
  "errorMessage": null
}
FieldTypeDescription
postedOnStringDefault value: null
moneyObjectContaining amount (Decimal), currency(String) and presentationAmount(String)
sourceStringSource Account Number
destinationStringDestination Account Number
transactionStatusIntegerTransaction status
descriptionStringDescription for this transaction
transactionStatusDescriptionStringRECEIVED(1), INTERNAL_ERROR(2), SUBMITTED(3), PROCESSED_BY_ACQUIRER(5), REJECTED(6), IN_PROGRESS(7) and ON_HOLD_KYC(8)
traceIdStringTrace id of original request
transactionReferenceStringTransaction reference
eventTypeDescriptionStringPayMyCard, PayAnyCard, PayAnyBank, Account to Account Transfer, Coupon Transfer
createdOnDataTimeDate Time for the transaction
paymentCategoryTypeStringContaining the category type
📘

Note: Please ignore any additional fields passed within this response.