DCM Platform Guide
  • 🌐DCM platform
  • ⚙️Specifics of working with the API
    • 🔐Security stack
    • 🔑Key Generation
    • 🔐Data encrypting
    • 🪃Retry policy
  • 🎨Design guide
  • 🗂️DCM platform's artifacts
  • 🏦Bank
    • 📋Preparing for integration
    • 🏪E-commerce
      • 📦Order and payment
      • 📨Payment message
        • 1️⃣Validation
        • 2️⃣Сallback 1 “Pay-in”
        • 3️⃣Callback 3 “Pay-out”
        • 4️⃣Callback 4 "Credit callback"
      • 🎯Testing
      • 🖇️Merchant Onboarding
      • ⛔Error reference guide
    • 🗃️Alias database
      • 🗝️Adding alias
      • ↕️"Сallback "Alias updated"
      • ☑️Get alias status
    • 💸p2p transfers
      • 📲p2p by phone number
        • ⏺️p2p order (to pay)
        • 🔍Receiver search
        • 🗂️Get receiver's data
        • ⏪Callback "Pay request"
      • 🖇️p2p by deeplink or QR code
        • ⏺️p2p order (to request)
        • Pay request initiation
      • 📨Payment message
        • 1️⃣Validation
        • 2️⃣Сallback “Pay-in”
        • 3️⃣Callback "Pay-out"
    • 💲Gross settlement
      • 1️⃣Callback “Gross_Settlement”
      • 2️⃣Gross_settlement_list
      • 3️⃣Gross_settlement_by_id
      • 4️⃣Gross_settlement_pay
      • 5️⃣Gross_settlement_confirm
      • 6️⃣Gross_settlement_confirm_internal
      • 📧Email notification
    • ✔️Reconciliation
  • 🏢Merchant
    • 🏫DCM platform for Merchants
      • 🔠Integration options
    • 👨‍🏫Preparing for integration
      • ⚙️Working with the API
      • 🔑Key Generation
      • 🖥️Updating interfaces
    • 🏪E-commerce
      • 📦Order
        • 💵Payment through the DCM platform
        • 💳Payment on the Merchant's website
        • 📋Emitters
        • 📬Order status
      • 1️⃣Сallback "Pay-in"
  • 📑Document data
    • 🆕Version history
    • 📃Change log
Powered by GitBook
On this page
  1. Merchant
  2. E-commerce

Сallback "Pay-in"

After the successful order creation and payment confirmation by the customer via DCM platform, the bank generates a Payment Message. Based on this message, DCM platform sends a "Pay-in" callback to the Merchant in JWT format.

JWT example

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW91bnQiOjIxLCJhbW91bnRfbWF0Y2hlZCI6ZmFsc2UsImNhbGxiYWNrX2d1aWQiOiJmNTQwMWFjMS1lNmM4LTQzNmItYjMxMS05OTFmNTdlMDkzNGIiLCJjdXJyZW5jeSI6IlVBSCIsIm9yZGVyX2lkIjoiODZmNDMwOTgtZDE4NC00Y2IxLThkOWItOTcyMGE4YzQ5MzFlIiwicGF5bWVudF9tZXNzYWdlX2V4dGVybmFsX2lkIjoiOWM2Yzc0NmItZDljZi00ZWEyLWI5YjYtYmQ5ODRlMzg2M2NkIiwicGF5bWVudF9tZXNzYWdlX2d1aWQiOiJmNTQwMWFjMS1lNmM4LTQzNmItYjMxMS05OTFmNTdlMDkzNGIiLCJwdXJwb3NlIjoiMTczMDIwNDUwNTY0MCIsInJlY2VpdmVyX2FjY291bnRfaWJhbiI6IlVBMDYzODA4MTYwMDQxNDY5OTQ4MzIyNTIzMzg5IiwicmVmX2ZvdW5kIjp0cnVlLCJyZWZfbnVtYmVyIjoiMTczMDIwNDUwNTY1NyIsInNlbmRlcl9hY2NvdW50X2liYW4iOiJVQTYyMzgwODE2MjgzMTg4NTQxMjA3ODY5MDAwMCIsInN0YXR1cyI6InN1Y2Nlc3MifQ.BzfZJHyKKNgsE3p_SlPf4EKM3-26iJXIWTRgGLp2uJd8hcYlwWuz60LxxEl57zyjgxOeLuhwJwvna6mWnltV9J72W34jGURS6QJ769YMIJ9upjJ-cx_qgWhRSn9mYIrmcp0AqQI_S6UjZFQXSG-fRcwAryfsisM6gRP83WicWNr6UyzO_nEO6u8HWF9QepHyJlor9andDRJ_mFBSOTqE0P1QqAVbF-83oIVoO3Ovq-ZC_k3yz1BQVhxkDMast0uD7mabqkPJ4Z4fRtQRgK6NKI0ipav4hjB-UMMqmxo3-unxUDMMTy8TKlXzssSboF3bfVEpoFrbCIywogxyWxSGrw

Callback Structure

{
  "payment_message_external_id": "string",-  Unique identifier for the payment (generated by the paying bank)
  "payment_message_guid": "string", - Unique identifier for the payment message
  "callback_guid": "string", - Unique identifier for the callback
  "amount": "number", - Payment amount
  "currency": "string", - Payment currency
  "sender_account_iban": "string", - Payer's IBAN account
  "receiver_account_iban": "string", - Receiver's IBAN account
  "order_id": "string", - Unique order identifier 
  "ref_found": "bool",- Technical attribute indicating if the payment purpose matched
  "ref_number": "string",- Unique identifier of the order (generated by the Merchant)
  "amount_matched": "bool", - Technical attribute indicating if the payment amount matched
  "purpose": "string", - Payment purpose (provided by the Merchant)
  "status": "success/reject", - Callback status
  "reason": "string" - Error description if the status is "reject"
}

Response

  • Code "2хх" - DCM platform sends a “Pay-out” callback in JWT format with:

    • status "Success"

    • reason "Payment message is approved by the receiver's bank. Merchant is informed by the callback"

  • Code "4хх" - DCM platform sends a “Pay-out” callback in JWT format with:

    • status "Reject"

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

  • Code "5хх" - DCM platform sends retries according to the retry policy (10 retries). After 10 unsuccessful attempts, the "Pay-out" callback is sent to the Initiator Bank with the same response as Code 4xx.

PreviousOrder statusNextVersion history

Last updated 3 months ago

The Merchant authorizes the callback request using DCM platform's JWKS, accessible via the provided link -

🏢
🏪
1️⃣
https://api-lz5r45.tpn-api.dcm.systems/api/v1/.well-known/jwks.json