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
  3. Order

Payment through the DCM platform

After the order is placed and the customer selects the "Pay via DCM platform" option, the Merchant sends a JWT request using the POST method and redirects the customer to DCM platform’s payment page.

JWT

eyJhbGciOiJSUzI1NiIsImtpZCI6IjljMzdlYjc5LWI2YmYtNDQzNC1hYzNhLTM1NTZjOGI0YjBmNyJ9.eyJzdWIiOiI3OWU1M2UxYS1mOTZlLTQ4OTUtOGIzNi0xNjM2YjA3ODE2ZGIiLCJleHAiOiIxNzkyNzQ3NDU1IiwiaWF0IjoiMTcwNzEwNTk3MSIsImFtdCI6MjEsImN1ciI6IlVBSCIsInJlZiI6InE4NTIzOTg5ODk1NjcyMyIsInBycCI6ItGC0LXRgdGC0L7Qv9C70LDRgtCwIDIxIiwidXJsIjoiaHR0cHM6Ly93d3cuY2l0eTI0LmNvbSIsImZyaSI6eyJmcm4iOiLQotCe0JIg0JrQuNGX0LLRgdGC0LDRgCIsImZyYyI6IjA5ODc2NTQzMjEiLCJmcmEiOiJVQTU1Mzg2NzgwOTU2NTY3IiwiZnJiIjoiMzAwMzM1IiwiZnJtIjoiNzc5MSJ9fQ.CNQiJcwG60RthJU_tXZh7c0rgHh6AQQ-k30lnLLFz7_3vfbv5XcugfEar-6VWPcDn00UODZh0jrbXirqXo5JnYmZedV0JqR7yJhSbVvIX4fchP2grEfYqqUwfZNw4rmgbjhYUeaqDkWOorZ3e0r3Hoj5s2hyczS_bh0BHCw_9O_W4BmOJnfz3uWpT0I23lcuB6hrvf7ih4kH1DPgVUaB1yFJPjDbh0v_cko4bhAuSrwxGpF-4MhcXpSPuBSUu6tmTE5yzb0xL3_KAUig-auOetJ8wqRqZhcAhVNMdVm9ljIeDXr_q5rRdY4eIyp_0z-RlpI1lNu7zOwMPnAuy9JVVQ

Endpoint

{{url_host}}/api/v1/merchants/order?jwt={{JWT}}

The {url_host} of the DCM platform provided during integration is used.

The value of {url_host} differs between testing and production environments.

When redirecting to the payment page, the parameter &mobile is automatically appended based on the device type:

  • "&mobile=1" – for mobile devices.

  • "&mobile=0" – for other device types.

Payload запиту

{
  "sub": "623e460b-9ffd-41df", - Merchant identifier (uid) 
  "exp": 1719493881, - Order expiration time
  "iat": 1707105971, -  Order creation time
  "amt": 1000, -  Order amount
  "cur": "UAH", -  Order currency
  "ref": "d4ee06f", -  Order number in the Merchant's accounting system
  "prp": "Payment for goods/services", -  Payment purpose
  "url": "https://www.city24.com", - Redirect URL for returning the buyer to the Merchant's website
  "fri": { - Information about the ultimate beneficiary of the funds (optional)
    "frn": "Kyivpark LLC", - Name
    "frc": "0987654321", - Tax number
    "fra": "UA55386780956567", -  Account number (IBAN)
    "frb": "300335", - Servicing bank's code
    "frm": "7791" -  Merchant category code
 }

The "sub" field is provided by the Bank after the Merchant is registered with DCM platform

The "exp" and "iat" fields use the Unix Timestamp format. Can be used for convenience - https://www.unixtimestamp.com/

The "ref" field must contain a unique value.

The order is signed using the Merchant’s private key.

Response (example)

{
"id":"3aa202bc-6b20-445d-89698274b11c66d0",
"link_deeplinks":"https://api.admin.smaug.armenotech.dev/api/v1/merchants/order?id=3aa202bc-6b20-445d-8969-8274b11c66d0&mobile=1",
"link_qr":"https://api.admin.smaug.armenotech.dev/api/v1/merchants/order?id=3aa202bc-6b20-445d-8969-8274b11c66d0&mobile=0"
}

In case of order expiration, an Expiration callback in an open format is sent to the Merchant's address.

Example expiration callback:

{
  "amount":21,
  "amount_matched":"null",
  "callback_guid":"null",
  "code":4001,
  "currency":"UAH",
  "order_id":"7af01d72-b46b-4e2c-b6db-02eb64541f62",
  "payment_message_external_id":"null",
  "payment_message_guid":"00000000-0000-0000-0000-000000000000",
  "purpose":"null",
  "reason":"Order is expired",
  "receiver_account_iban":"null", 
  "ref_found":"null",
  "ref_number":"q81277312392323",
  "sender_account_iban":"null",
  "status":"reject"
}
PreviousOrderNextPayment on the Merchant's website
🏢
🏪
📦
💵