3️⃣Callback 3 “Pay-out”

DCM platform sends a callback to the Initiating Bank in JWT format after:

The structure of the "Pay-out" callback fully corresponds to the "Pay-in" callback structure, with the addition of the "Reason" field, which contains an explanation of the operation status.

1. receiving a 2xx response from the Recipient Bank and Merchant:

JWT format

eyJhbGciOiJSUzI1NiIsImtpZCI6IjljMzdlYjc5LWI2YmYtNDQzNC1hYzNhLTM1NTZjOGI0YjBmNyIsInR5cCI6IkpXVCJ9.eyJwYXltZW50X21lc3NhZ2UiOnsiYW1vdW50IjoyMSwiY3JlZGl0b3IiOnsiY3JlZGl0b3JfYWNjb3VudCI6IlVBMDYzODA4MTYwMDQxNDY5OTQ4MzIyNTIzMzg5IiwiY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsImNyZWRpdG9yX25hbWUiOiJBdXRvbWF0aW9uIE1lcmNoIiwiY3JlZGl0b3JfdWlkIjoiOGIyZWNmYmYtZTdmNC1jZTc2LTU3ZjQtMmJiNGExYTBhNWNkIn0sImNyZWRpdG9yX2FnZW50Ijp7ImNyZWRpdG9yX2FnZW50X2JpYyI6IjM4MDgxNiIsImNyZWRpdG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiJ9LCJjdXJyZW5jeSI6IlVBSCIsImRlYnRvciI6eyJkZWJ0b3JfYWNjb3VudCI6IlVBNDMzODA4MTY3ODMxNzY2NDYxOTYwOTcwMDAwIiwiZGVidG9yX2lkIjoiMTczMzM1MDYzOTgzNSIsImRlYnRvcl9uYW1lIjoiSm9obiBEb3cxNzMzMzUwNjM5ODM1In0sImRlYnRvcl9hZ2VudCI6eyJkZWJ0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiZGVidG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiJ9LCJlbmNyeXB0aW9uIjp7ImVuY3J5cHRlZF9rZXkiOiJleUJ0WlhOellXZGxJam9nSWtobGJHeHZMQ0JYYjNKc1pDRWlMQ0FpYzNSaGRIVnpJam9nSW5OMVkyTmxjM01pZlE9PSIsIm5vbmNlIjoiU0dWc2JHOHNJRmR2Y214a0lRPT0ifSwianRpIjoiMTczMzM1MDYzOTgzNSIsIm1zZ19jcmVhdGlvbl9kYXRlIjoiMjAyNC0xMi0wNCIsIm1zZ19jcmVhdGlvbl90aW1lIjoiMjI6MTc6MTkiLCJvcmRlcl9pZCI6ImM4MmI5N2E1LTE4MTktNDA0OS05Nzg5LTk3NWY2ZDgxNTM4YSIsInBheW1lbnRfbWVzc2FnZV9leHRlcm5hbF9pZCI6IjljNmM3NDZiLWQ5Y2YtNGVhMi1iOWI2LWJkOTg0ZTM4NjNjZCIsInBtX3R5cGUiOiJ0cmFkZSIsInB1YmxpY19rZXkiOnsiZSI6IkFRQUIiLCJraWQiOiI5QTIxREQ2Mi1EQTU2LTQwMkQtODdBNS00NzE0QjExM0RBRDQiLCJrdHkiOiJSU0EiLCJuIjoiaXdkc0x3ejdMeVQ0aTlNSlZmSGJ1TEVTRnFGTjVlenVYTXdldW0yNUFUYmxLeFN1cGRjOGthb2RfOVZTQzg1bjNZSW9jcUF1R1JYQnJYV0UtczJhNGlDNF95TVhVX2wyQU50Nk4wUlF6Rm9qd2NDNEpPTF9EZ1B0ekMzUzBHRFNiSmx4TDIzcnZNODRKSVhsb19PTUNUaExmeDdWR0owSXJjTF9Ha21uWWVKZmdaSmFsSldSV1F2aS1XMDdUNmhfOU1VQWczUDMzeVFKcFpNV1l3VEhZUnNnWXFxR2dkenloSmlXNjNMNloycDJyTWhYVDVyUkU1R3hTUmg5NFByX082YjRIbHJlYTEtZDV4Qm82NkYxMjFwYTVEYlduVDMzM0ZWdTEtTjh5dmJXc2pqaFl6R0Y3cXE0MTNteURHbFNDZEhTYlNCX29FMGY1SkFPUFR4c0xRIiwidXNlIjoic2lnIn0sInB1cnBvc2UiOiIxNzMzMzUwNjM5MzU0Iiwic2VuZGVyX2FjY291bnRfdHlwZSI6ImxpbWl0LXJlbGF0ZWQiLCJ1bHRpbWF0ZV9jcmVkaXRvciI6eyJ1bHRpbWF0ZV9jcmVkaXRvcl9iaWMiOiIzODA4MTYiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9pYmFuIjoiVUEwNjM4MDgxNjAwNDE0Njk5NDgzMjI1MjMzODkiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9pZCI6IjQ0NjgzODU2IiwidWx0aW1hdGVfY3JlZGl0b3JfbWNjIjoiNDM0NiIsInVsdGltYXRlX2NyZWRpdG9yX25hbWUiOiJBdXRvbWF0aW9uIE1lcmNoIn19LCJwYXltZW50X21lc3NhZ2VfZ3VpZCI6ImY3NjVmZjg5LTQwNjEtNGZhMi04OTM2LWJkZTZmYjQ0Y2QwMyIsInJlYXNvbiI6IlBheW1lbnQgbWVzc2FnZSBpcyBhcHByb3ZlZCBieSB0aGUgcmVjZWl2ZXLigJlzIGJhbmsuIE1lcmNoYW50IGlzIGluZm9ybWVkIGJ5IHRoZSBjYWxsYmFjay4iLCJzdGF0dXMiOiJzdWNjZXNzIn0.Ad9FVJ6IxoFnGA7eGxFvVbLDPg3NoAhQFHHICuezZkRR1f4jNoa_1XKvdirEHjQdYj2k6ClmcG8L7MsbR3ZsN4K_OkmaEv5E3mlyGywvZ4vXpJE9a3ycscO4mr7QWDk5acqyNK3yNaquVKvKi9jf3wPquvlwEiGBjkRK5HQQuY6z76pJSZHwoWp-QgB8lDY5G-weu7r6Nha6cO0pYYrzOfxHEDqeBsNbwvBCgUs3vP8iGpeKKh8lon17PFZ0sm6EcHbN1AK9z97M19jrqGRBYG7jy4YNFiaJD3exZopIYBasYC2fv0syONmzQ0NPqZnSdzBl_7ZfN_CjN4hisjPx7Q

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 code
  "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": "Payment message is approved by the receiver's bank. Merchant is informed by the callback"
}

2. Receiving a callback "Pay-in" from the Initiator Bank or Merchant, where the operation has been rejected (response not 2xx):

The difference from the "Pay-out" callback sent after receiving 2xx response is:

  • in case of refusal of the Recipient Bank

    • string"status" - "reject"

    • string "reason" - "There is no response from the receivers bank. Payment message is not processed"

  • in case of the Merchant's refusal

    • string "status" - "reject"

    • string"reason" - "No response on the callback from the merchant"

JWT format (in case of refusal of the Recipient Bank)

eyJhbGciOiJSUzI1NiIsImtpZCI6IjlBMjFERDYyLURBNTYtNDAyRC04N0E1LTQ3MTRCMTEzREFENCIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjEwMDY5LCJjcmVkaXRvciI6eyJjcmVkaXRvcl9hY2NvdW50IjoiVUE0MzM4MDgxNjI2MDAxMTI0MzQ2MzQ1OTM0NTMiLCJjcmVkaXRvcl9pZCI6IndzaXNUVlBlbzlPRlQ1anV0dmV4MnBZMkVseitIODV0IiwiY3JlZGl0b3JfbmFtZSI6IklWcEs0TFZ6dGp2dUdITXhSdjE1SXU5WVQ0Z2ZrVkVvRmF6M3RDZkFRQT09In0sImNyZWRpdG9yX2FnZW50X2JpYyI6IjM4MDgxNiIsImN1cnJlbmN5IjoiVUFIIiwiZGVidG9yIjp7ImRlYnRvcl9hY2NvdW50IjoiVUEyNzgyODQ1MTczNDUyMTgyNTExNzgzNDY4NDIiLCJkZWJ0b3JfaWQiOiJ3OHlwVGxYZXB0eFovTk84eHNsQkl0OUlGVlRUSlZ3Y2tRYz0iLCJkZWJ0b3JfbmFtZSI6IklXdEwvN1ZXUmxtOGRoeGdGN3NhRnEwNnpjUG42K3lRY2xTR3h5NThRNXhDQXpFeEdvcEVoR09wakdYQk9BU3oxdFRhcHNUeVhVRFlCMy9oWXpkVC9QQ29IQ01iMmRGRCIsImRlYnRvcl9waG9uZSI6IiszODA1MDEyMzQ1NjcifSwiZGVidG9yX2FnZW50X2JpYyI6IjM4MDgxNiIsImVuY3J5cHRpb24iOnsiZW5jcnlwdGVkX2tleSI6ImZ2OXpQRWhDTFM0TjRXWEk1UmJta3IyRjA2b1Z2QUFscmlYN3BLOU4zYk5xbHM1TGcyMmFEa3p5SjJ5enJzVGV0eWd4cjRIWW9pRXlDRUdJWXBjOTZUNko5SXlKMHVzcTB3N1drMTErajlRaUhKRlpsMTVXQks2cm9KY3lGU2hCRzZiWmlYOTJ4ZGp0dkVGQzlLakhoaTk3Q0YvdHNnMW05cEtsUkJCbWs0cHRRbmwwZTYvVDl2eHorekI5YXJKSG5UTStaS1pjNnYwWWJQUEY5OHAzNVRHUGJDRlR6dnk2bjhFOUNJT0NDazVWekJhTllZODlHRG5MY1h6ZlNsR2xYQXVnd2VKaTNncjhQakgzbEc0UUJ0b3ZxNk9tZ1NRVlZhUkVNTWdPTjU3ME5jSE5iOXcyVlYxZHlSVDh1L3pSV0dmTEhteFNYLy9SdkhMTkJsSzNuUT09Iiwibm9uY2UiOiJob2t3Nk90UVFBNEJkb1p5In0sImlhdCI6MTczMzMxODM4NSwianRpIjoiYzAyNGM3MWEtYjdjYi00ZjEzLWE2MDctMWEyZWZlYjQ0MGQ4IiwibXNnX2NyZWF0aW9uX2RhdGUiOiIyMDI0LTEwLTMwIiwibXNnX2NyZWF0aW9uX3RpbWUiOiIxMjoxMjoxMiIsIm9yZGVyX2lkIjoiZTA4ODczNjQtOTAzNy00ODY3LWFmMmYtNDdjMGZiY2NiMjQ0IiwicGF5bWVudF9tZXNzYWdlX2V4dGVybmFsX2lkIjoiMWYxY2U3ODUtMmQzNy00YmFkLTliY2EtMjE3YmNlMWZiMWU1IiwicG1fdHlwZSI6InRyYWRlIiwicHVycG9zZSI6ItCe0L_Qu9Cw0YLQsCDQt9CwINGC0L7QstCw0YAg0LfQs9GW0LTQvdC-INGW0Lcg0LfQsNC80L7QstC70LXQvdC90Y_QvCAjNDI5NTFhMGU3YmQyNDNkYjk1YmUiLCJzZW5kZXJfYWNjb3VudF90eXBlIjoibGltaXQtcmVsYXRlZCJ9.OcWjFZynoK2kIrTNVqyS_7ZkmepPnLjDNVpt64lH4IIH000V5R8dizCWwwIKa1La_e6IMoVLNV0ShQAELaaq_q-YMNfAcO2vf0Y01eThNfTgDATISwwyikXdjFwFUlDQSoPYqxRZ_vrGS0fwHiP_z3-2P1olAViWanJ20xWQw0BB5BMtpxd8BIVXq58ZLEPTwzfSrkea7D1IbE1CBC3zLNrkrL5l-6jixvOKJZN_LYiBYEO9ebPsxlYeLO-vkiGldZuld1ptL0CWTogi7MpxZ5u-nyrNZ9dGrTpja4T9hx0D9ys2b1wdXJxaMP5kaxU15vMp9CVP96oHTVbWByldMg

JWT format (in case of the Merchant's refusal)

eyJhbGciOiJSUzI1NiIsImtpZCI6IjljMzdlYjc5LWI2YmYtNDQzNC1hYzNhLTM1NTZjOGI0YjBmNyIsInR5cCI6IkpXVCJ9.eyJwYXltZW50X21lc3NhZ2UiOnsiYW1vdW50IjoyMSwiY3JlZGl0b3IiOnsiY3JlZGl0b3JfYWNjb3VudCI6IlVBNDMzODA4MTYyNjAwMTEyNDM0NjM0NTkzNDUzIiwiY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsImNyZWRpdG9yX25hbWUiOiLQotCf0J0g0YLQvtGA0LMiLCJjcmVkaXRvcl91aWQiOiI4NDc4N2UzMy05NGUxLWM4NzEtYzM4Ni1jNmFlN2VjMWQyOTYifSwiY3JlZGl0b3JfYWdlbnQiOnsiY3JlZGl0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiY3JlZGl0b3JfYWdlbnRfbmFtZSI6IlTQn9CdINCR0LDQvdC6ICJ9LCJjdXJyZW5jeSI6IlVBSCIsImRlYnRvciI6eyJkZWJ0b3JfYWNjb3VudCI6IlVBNzkzODA4MTY3OTcxNjM5MTcwODcwNjU2MDAwIiwiZGVidG9yX2lkIjoiMTczMzQ3NDgyMTIwNiIsImRlYnRvcl9uYW1lIjoiSm9obiBEb3cxNzMzNDc0ODIxMjA2In0sImRlYnRvcl9hZ2VudCI6eyJkZWJ0b3JfYWdlbnRfYmljIjoiMzgwODE2IiwiZGVidG9yX2FnZW50X25hbWUiOiJU0J_QnSDQkdCw0L3QuiAifSwiZW5jcnlwdGlvbiI6eyJlbmNyeXB0ZWRfa2V5IjoiZXlCdFpYTnpZV2RsSWpvZ0lraGxiR3h2TENCWGIzSnNaQ0VpTENBaWMzUmhkSFZ6SWpvZ0luTjFZMk5sYzNNaWZRPT0iLCJub25jZSI6IlNHVnNiRzhzSUZkdmNteGtJUT09In0sImp0aSI6IjE3MzM0NzQ4MjEyMDYiLCJtc2dfY3JlYXRpb25fZGF0ZSI6IjIwMjQtMTItMDYiLCJtc2dfY3JlYXRpb25fdGltZSI6IjEwOjQ3OjAxIiwib3JkZXJfaWQiOiIzMjQ2NmNhNi04Yjk0LTQ4NDUtYjI0YS0zYWI3NGYzNDhlNDMiLCJwYXltZW50X21lc3NhZ2VfZXh0ZXJuYWxfaWQiOiI5YzZjNzQ2Yi1kOWNmLTRlYTItYjliNi1iZDk4NGUzODYzY2QiLCJwbV90eXBlIjoidHJhZGUiLCJwdWJsaWNfa2V5Ijp7ImUiOiJBUUFCIiwia2lkIjoiOUEyMURENjItREE1Ni00MDJELTg3QTUtNDcxNEIxMTNEQUQ0Iiwia3R5IjoiUlNBIiwibiI6Iml3ZHNMd3o3THlUNGk5TUpWZkhidUxFU0ZxRk41ZXp1WE13ZXVtMjVBVGJsS3hTdXBkYzhrYW9kXzlWU0M4NW4zWUlvY3FBdUdSWEJyWFdFLXMyYTRpQzRfeU1YVV9sMkFOdDZOMFJRekZvandjQzRKT0xfRGdQdHpDM1MwR0RTYkpseEwyM3J2TTg0SklYbG9fT01DVGhMZng3VkdKMElyY0xfR2ttblllSmZnWkphbEpXUldRdmktVzA3VDZoXzlNVUFnM1AzM3lRSnBaTVdZd1RIWVJzZ1lxcUdnZHp5aEppVzYzTDZaMnAyck1oWFQ1clJFNUd4U1JoOTRQcl9PNmI0SGxyZWExLWQ1eEJvNjZGMTIxcGE1RGJXblQzMzNGVnUxLU44eXZiV3NqamhZekdGN3FxNDEzbXlER2xTQ2RIU2JTQl9vRTBmNUpBT1BUeHNMUSIsInVzZSI6InNpZyJ9LCJwdXJwb3NlIjoiMTczMzQ3NDgyMDc2OSIsInNlbmRlcl9hY2NvdW50X3R5cGUiOiJsaW1pdC1yZWxhdGVkIiwidWx0aW1hdGVfY3JlZGl0b3IiOnsidWx0aW1hdGVfY3JlZGl0b3JfYmljIjoiMzgwODE2IiwidWx0aW1hdGVfY3JlZGl0b3JfaWJhbiI6IlVBNDMzODA4MTYyNjAwMTEyNDM0NjM0NTkzNDUzIiwidWx0aW1hdGVfY3JlZGl0b3JfaWQiOiI0NDY4Mzg1NiIsInVsdGltYXRlX2NyZWRpdG9yX21jYyI6IjQzNDYiLCJ1bHRpbWF0ZV9jcmVkaXRvcl9uYW1lIjoi0KLQn9CdINGC0L7RgNCzIn19LCJwYXltZW50X21lc3NhZ2VfZ3VpZCI6IjhiZjlkYmVlLTI0NGMtNDc2NC04NGFhLTBmMTVjZGY2MjkzZSIsInJlYXNvbiI6Ik5vIHJlc3BvbnNlIG9uIHRoZSBjYWxsYmFjayBmcm9tIHRoZSBtZXJjaGFudCIsInN0YXR1cyI6InJlamVjdCJ9.o6XeRnH_pcHktz9ctc_mSJWtGmsNOzEVsXn8x-L85TKU0pf8KjDT62luDtBCe1hXd_0ARxdEjGPpm5yTrlWII_XkZsepNlGGs1fzud-KkO_uK2Lv7Y076jZWXnAykW7sqwx1zys89OlGRimx73lp0u_npBkBWyR33tU-zq-BvKLCIbLRgbvZV4TSF4cAGq-N0FBSheWXcu3D_h6NmKwBNEqh0HRm2HBw1sexclCOE596-NGv8nP_2sHR1gi5vVHWkOacebPiGEPXqhxYOLc-wE35SHxCAci3GkF9RE5TjxK0kaTzFL_xxgQqgHeKyuJlzrbUDKVfH-qNCmRdLn0MLQ

Last updated