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 on the Merchant's website

PreviousPayment through the DCM platformNextEmitters

After completing an order and selecting the "Pay with DCM platform" option, the Merchant sends a JWT request using the POST method. To enable this scenario, integration with the method must be configured beforehand.

Endpoint

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

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

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

Process Description:

  1. For Desktop Users: Merchant must display key elements of the payment page, including: DCM platform QR code and logos of participating banks.

  2. For Mobile Users: The Merchant must generate clickable bank logos embedded with deep links. These deep links should include the JWT received in the response to the order creation request.

Bank logos in both scenarios are obtained using the “Emitters” query

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",
"jwt": ""eyJhbGciOiJSUzI1NiIsImtpZCI6Ijl........_5qgFg",
"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" 
"qr_code_data": "/9j/2wCEAAgGBgc......IBAwM"
}

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"
}
🏢
🏪
📦
💳
"Emitters"