Сallback 1 “Pay-in”
DCM platform sends a callback to the Initiator Bank JWT format after:
1. POST/payment_message request has been sent by the Initiator Bank.
JWT format
eyJhbGciOiJSUzI1NiIsImtpZCI6IjljMzdlYjc5LWI2YmYtNDQzNC1hYzNhLTM1NTZjOGI0YjBmNyIsInR5cCI6IkpXVCJ9.eyJwYXltZW50X21lc3NhZ2UiOnsiYW1vdW50IjoyMSwiY3JlZGl0b3IiOnsiY3JlZGl0b3JfYWNjb3VudCI6IlVBMDYzODA4MTYwMDQxNDY5OTQ4MzIyNTIzMzg5IiwiY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsImNyZWRpdG9yX25hbWUiOiJBdXRvbWF0aW9uIE1lcmNoIiwiY3JlZGl0b3JfdWlkIjoiOGIyZWNmYmYtZTdmNC1jZTc2LTU3ZjQtMmJiNGExYTBhNWNkIn0sImNyZWRpdG9yX2FnZW50Ijp7ImNyZWRpdG9yX2FnZW50X2JpYyI6IjM4MDgxNiIsImNyZWRpdG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiJ9LCJjdXJyZW5jeSI6IlVBSCIsImRlYnRvciI6eyJkZWJ0b3JfYWNjb3VudCI6IlVBMzIzODA4MTY0MzM2NjIwMDUwMTUxOTMxMDAwIiwiZGVidG9yX2lkIjoiMTczMzM1MDY4NjU4MCIsImRlYnRvcl9uYW1lIjoiSm9obiBEb3cxNzMzMzUwNjg2NTgwIn0sImRlYnRvcl9hZ2VudCI6eyJkZWJ0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiZGVidG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiJ9LCJlbmNyeXB0aW9uIjp7ImVuY3J5cHRlZF9rZXkiOiJleUJ0WlhOellXZGxJam9nSWtobGJHeHZMQ0JYYjNKc1pDRWlMQ0FpYzNSaGRIVnpJam9nSW5OMVkyTmxjM01pZlE9PSIsIm5vbmNlIjoiU0dWc2JHOHNJRmR2Y214a0lRPT0ifSwianRpIjoiMTczMzM1MDY4NjU4MCIsIm1zZ19jcmVhdGlvbl9kYXRlIjoiMjAyNC0xMi0wNCIsIm1zZ19jcmVhdGlvbl90aW1lIjoiMjI6MTg6MDYiLCJvcmRlcl9pZCI6IjNjMDdjNWZjLWI0ZGYtNDQ4Ny1hYzIzLTYyNjg2Zjc0YmJjMSIsInBheW1lbnRfbWVzc2FnZV9leHRlcm5hbF9pZCI6IjljNmM3NDZiLWQ5Y2YtNGVhMi1iOWI2LWJkOTg0ZTM4NjNjZCIsInBtX3R5cGUiOiJ0cmFkZSIsInB1YmxpY19rZXkiOnsiZSI6IkFRQUIiLCJraWQiOiI5QTIxREQ2Mi1EQTU2LTQwMkQtODdBNS00NzE0QjExM0RBRDQiLCJrdHkiOiJSU0EiLCJuIjoiaXdkc0x3ejdMeVQ0aTlNSlZmSGJ1TEVTRnFGTjVlenVYTXdldW0yNUFUYmxLeFN1cGRjOGthb2RfOVZTQzg1bjNZSW9jcUF1R1JYQnJYV0UtczJhNGlDNF95TVhVX2wyQU50Nk4wUlF6Rm9qd2NDNEpPTF9EZ1B0ekMzUzBHRFNiSmx4TDIzcnZNODRKSVhsb19PTUNUaExmeDdWR0owSXJjTF9Ha21uWWVKZmdaSmFsSldSV1F2aS1XMDdUNmhfOU1VQWczUDMzeVFKcFpNV1l3VEhZUnNnWXFxR2dkenloSmlXNjNMNloycDJyTWhYVDVyUkU1R3hTUmg5NFByX082YjRIbHJlYTEtZDV4Qm82NkYxMjFwYTVEYlduVDMzM0ZWdTEtTjh5dmJXc2pqaFl6R0Y3cXE0MTNteURHbFNDZEhTYlNCX29FMGY1SkFPUFR4c0xRIiwidXNlIjoic2lnIn0sInB1cnBvc2UiOiIxNzMzMzUwNjg2MzI3Iiwic2VuZGVyX2FjY291bnRfdHlwZSI6ImxpbWl0LXJlbGF0ZWQiLCJ1bHRpbWF0ZV9jcmVkaXRvciI6eyJ1bHRpbWF0ZV9jcmVkaXRvcl9iaWMiOiIzODA4MTYiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9pYmFuIjoiVUEwNjM4MDgxNjAwNDE0Njk5NDgzMjI1MjMzODkiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9pZCI6IjQ0NjgzODU2IiwidWx0aW1hdGVfY3JlZGl0b3JfbWNjIjoiNDM0NiIsInVsdGltYXRlX2NyZWRpdG9yX25hbWUiOiJBdXRvbWF0aW9uIE1lcmNoIn19LCJwYXltZW50X21lc3NhZ2VfZ3VpZCI6IjFmZDZjOWE1LTNjYWMtNDAyMy1hZGI5LWJkYWM3OWM2YmY4YyIsInN0YXR1cyI6InN1Y2Nlc3MifQ.fljtKCNo3RQ4aD7kFjR0keUO21B7PjruUlSLfUTzUvi_SdDsAze54G9iCRllNmFAin-fBlbb6vt3aOyKUbAcmzXCkOs6QzhziwBi8xpPZqdR0JmuL9WtnAqjUF7ZhmMUXmLKxvrQfSCQxUPtO2P6EcUK_wc-7xjbbXWNybP-NqyH9IMea4NQpx0REI_o8k6SeJ8knhj4QpCwYKEc9Vbjo3Q9z45eYyjFtW4jGXhNM23w9d74Rv6SbVRUKmWl5g-KkCVlrzSgj9UtiLwzU1voi5-Agw3HXXnWbCKMilsGfFA4yWA1odMfeSQbO33CCU39DC60DpndDYLg3KmdAPsNzQ
Payload сallback
{
“payment_message”: {
"jti": "T12fa2213",
"payment_message_external_id": "112663",
"amount": 5,
"currency": "UAH",
"debtor_agent": {
"debtor_agent_name": "TPN Bank", - name of the initiating bank
"debtor_agent_bic": "306500"
},
"debtor": {
"debtor_name": "encrypted value",
"debtor_id": "encrypted value",
"debtor_account": "UA761372924114433543273694797",
},
"creditor_agent": {
"creditor_agent_name": "Second Bank", - name of the recipient bank
"creditor_agent_bic": "380816"
},
"creditor": {
"creditor_name": "encrypted value",
"creditor_id": "encrypted value",
"creditor_account": "UA761372924114433543273694797",
"creditor_uid": "bb95a18f-bd52-46ae-bb1e-0e6f42bf48f5" - recipient identifier
},
"ultimate_creditor": { - Information about the ultimate beneficiary of the funds (if any)
"ultimate_creditor_name": "Global Payments Ltd.", - Name
"ultimate_creditor_id": "0012345678", - Tax number
"ultimate_creditor_iban": "UA723445993115212345678", - Account (IBAN)
"ultimate_creditor_bic": "300650", - Servicing bank's BIC
"ultimate_creditor_mcc": "1234" - Merchant category code
},
"order_id": "a38c4e9a-ee54-4e3c-90a4-d6af5e39cfc7",
"purpose": "Tesgtft777",
"msg_creation_date": "2023-12-10",
"msg_creation_time": "12:12:12",
"pm_type": "trade",
"sender_account_type": "aid-related",
"encryption": {
"nonce": "A1B2C3D4E5F6G7H8",
"encrypted_key": "a1b2c3d4e5f6g7h8i9j0"
},
"public_key": { - information about the public key of the recipient bank (which was used to encode the data)
"alg": "RS256"
"e": "AQAB",
"n": "iwdsLwz7LyT4i9MJVfHbuLESFqFN5ezuXMweum25ATblKxSupdc8kaVSC85n3YIocq,
"kid": "9A21DD62-DA56-402D-87A5-4714B113DAD4",
"kty": "RSA",
"use": "sig"
}
},
"payment_message_guid": "8af3c3f5-7543-4bc2-8a0f-2e27f4d16972",-unique identifier of the payment message
"status": "success" / "reject" - callback status
"reason": "string" (only for status reject)
}
Response
Code 2xx: DCM platform sends the "Pay-in" callback to the Merchant.
Code 4xx: DCM platform sends the "Pay-out" callback to the Initiator Bank in JWT format with:
status "Reject"
reason "There is no response from the receiver's bank. Payment message is not processed."
2. receipt of a "Pay-in" callback from the Merchant, which contains a refusal to conduct the transaction (response is not equal to 2xx).
The difference from the "Pay-in" callback created based on the POST/payment_message request is:
status - "reject"
reason - "No response on the callback from the merchant"
JWT format
eyJhbGciOiJSUzI1NiIsImtpZCI6IjljMzdlYjc5LWI2YmYtNDQzNC1hYzNhLTM1NTZjOGI0YjBmNyIsInR5cCI6IkpXVCJ9.eyJwYXltZW50X21lc3NhZ2UiOnsiYW1vdW50IjoyMSwiY3JlZGl0b3IiOnsiY3JlZGl0b3JfYWNjb3VudCI6IlVBNDMzODA4MTYyNjAwMTEyNDM0NjM0NTkzNDUzIiwiY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsImNyZWRpdG9yX25hbWUiOiLQotCf0J0g0YLQvtGA0LMiLCJjcmVkaXRvcl91aWQiOiI4NDc4N2UzMy05NGUxLWM4NzEtYzM4Ni1jNmFlN2VjMWQyOTYifSwiY3JlZGl0b3JfYWdlbnQiOnsiY3JlZGl0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiY3JlZGl0b3JfYWdlbnRfbmFtZSI6IlTQn9CdINCR0LDQvdC6ICJ9LCJjdXJyZW5jeSI6IlVBSCIsImRlYnRvciI6eyJkZWJ0b3JfYWNjb3VudCI6IlVBNzkzODA4MTY3OTcxNjM5MTcwODcwNjU2MDAwIiwiZGVidG9yX2lkIjoiMTczMzQ3NDgyMTIwNiIsImRlYnRvcl9uYW1lIjoiSm9obiBEb3cxNzMzNDc0ODIxMjA2In0sImRlYnRvcl9hZ2VudCI6eyJkZWJ0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiZGVidG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiAifSwiZW5jcnlwdGlvbiI6eyJlbmNyeXB0ZWRfa2V5IjoiZXlCdFpYTnpZV2RsSWpvZ0lraGxiR3h2TENCWGIzSnNaQ0VpTENBaWMzUmhkSFZ6SWpvZ0luTjFZMk5sYzNNaWZRPT0iLCJub25jZSI6IlNHVnNiRzhzSUZkdmNteGtJUT09In0sImp0aSI6IjE3MzM0NzQ4MjEyMDYiLCJtc2dfY3JlYXRpb25fZGF0ZSI6IjIwMjQtMTItMDYiLCJtc2dfY3JlYXRpb25fdGltZSI6IjEwOjQ3OjAxIiwib3JkZXJfaWQiOiIzMjQ2NmNhNi04Yjk0LTQ4NDUtYjI0YS0zYWI3NGYzNDhlNDMiLCJwYXltZW50X21lc3NhZ2VfZXh0ZXJuYWxfaWQiOiI5YzZjNzQ2Yi1kOWNmLTRlYTItYjliNi1iZDk4NGUzODYzY2QiLCJwbV90eXBlIjoidHJhZGUiLCJwdWJsaWNfa2V5Ijp7ImUiOiJBUUFCIiwia2lkIjoiOUEyMURENjItREE1Ni00MDJELTg3QTUtNDcxNEIxMTNEQUQ0Iiwia3R5IjoiUlNBIiwibiI6Iml3ZHNMd3o3THlUNGk5TUpWZkhidUxFU0ZxRk41ZXp1WE13ZXVtMjVBVGJsS3hTdXBkYzhrYW9kXzlWU0M4NW4zWUlvY3FBdUdSWEJyWFdFLXMyYTRpQzRfeU1YVV9sMkFOdDZOMFJRekZvandjQzRKT0xfRGdQdHpDM1MwR0RTYkpseEwyM3J2TTg0SklYbG9fT01DVGhMZng3VkdKMElyY0xfR2ttblllSmZnWkphbEpXUldRdmktVzA3VDZoXzlNVUFnM1AzM3lRSnBaTVdZd1RIWVJzZ1lxcUdnZHp5aEppVzYzTDZaMnAyck1oWFQ1clJFNUd4U1JoOTRQcl9PNmI0SGxyZWExLWQ1eEJvNjZGMTIxcGE1RGJXblQzMzNGVnUxLU44eXZiV3NqamhZekdGN3FxNDEzbXlER2xTQ2RIU2JTQl9vRTBmNUpBT1BUeHNMUSIsInVzZSI6InNpZyJ9LCJwdXJwb3NlIjoiMTczMzQ3NDgyMDc2OSIsInNlbmRlcl9hY2NvdW50X3R5cGUiOiJsaW1pdC1yZWxhdGVkIiwidWx0aW1hdGVfY3JlZGl0b3IiOnsidWx0aW1hdGVfY3JlZGl0b3JfYmljIjoiMzgwODE2IiwidWx0aW1hdGVfY3JlZGl0b3JfaWJhbiI6IlVBNDMzODA4MTYyNjAwMTEyNDM0NjM0NTkzNDUzIiwidWx0aW1hdGVfY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsInVsdGltYXRlX2NyZWRpdG9yX21jYyI6IjQzNDYiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9uYW1lIjoi0KLQn9CdINGC0L7RgNCzIn19LCJwYXltZW50X21lc3NhZ2VfZ3VpZCI6IjhiZjlkYmVlLTI0NGMtNDc2NC04NGFhLTBmMTVjZGY2MjkzZSIsInJlYXNvbiI6Ik5vIHJlc3BvbnNlIG9uIHRoZSBjYWxsYmFjayBmcm9tIHRoZSBtZXJjaGFudCIsInN0YXR1cyI6InJlamVjdCJ9.o6XeRnH_pcHktz9ctc_mSJWtGmsNOzEVsXn8x-L85TKU0pf8KjDT62luDtBCe1hXd_0ARxdEjGPpm5yTrlWII_XkZsepNlGGs1fzud-KkO_uK2Lv7Y076jZWXnAykW7sqwx1zys89OlGRimx73lp0u_npBkBWyR33tU-zq-BvKLCIbLRgbvZV4TSF4cAGq-N0FBSheWXcu3D_h6NmKwBNEqh0HRm2HBw1sexclCOE596-NGv8nP_2sHR1gi5vVHWkOacebPiGEPXqhxYOLc-wE35SHxCAci3GkF9RE5TjxK0kaTzFL_xxgQqgHeKyuJlzrbUDKVfH-qNCmRdLn0MLQ