API Reference (NEW)
ID - Indonesia
  • ID - Indonesia
  • GL - Global
DashboardProduct Docs
Resources
  • Github
  • Demo Site
  • Simulator
DashboardProduct Docs
Resources
  • Github
  • Demo Site
  • Simulator
ID - Indonesia
  • ID - Indonesia
  • GL - Global
  1. BCA Virtual Account
  • Introduction
  • BI SNAP
  • Getting Started
    • Create Account
    • Authentication & API Keys
    • Make your first API call
  • Checkout API
    • Build a Checkout Page
      • Initiate Order
    • Additional Feature
      • Custom Callback URL
      • Custom Tenor for Credit Card
      • Tokenization
      • Recover Abandoned Cart
      • Custom Checkout Page
  • Direct API
    • Cards
      • Payment Form
        • Generate Payment Page
        • Authorize Capture
        • Online Refund
      • Host-to-host Payment
        • Get Token List
        • Check 3D Secure
        • Charge
      • Payment Notification
    • Bank Transfer
      • BCA Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BNI Virtual Account
        • DOKU Generated Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generated Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BRI Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BNC Virtual Account
      • BSI Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Delete Payment Code
          • Update Payment Code
      • Danamon Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • Mandiri Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token Copy
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • Maybank Virtual Account
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • Permata Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • DOKU Generate Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Merchant Generate Payment
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • Sinarmas Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • DOKU Generate Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Merchant Generate Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BJB Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • DOKU Generate Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Merchant Generate Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BPD Virtual Account
      • CIMB Virtual Account
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BSS Virtual Account
        • Doku Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token Copy
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • BTN Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
      • DOKU Virtual Account
        • DOKU Generate Payment Code
          • Get Token
          • Create Payment Code
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code
        • Merchant Generate Payment Code
          • Get Token
          • Create Payment Code
          • Update Payment Code
          • Payment Notification
          • Delete Payment Code
        • Direct Inquiry
          • Direct Inquiry
          • Payment Notification
          • Update Payment Code
          • Delete Payment Code Copy
    • Convenience Store
      • Alfa Group
        • Alfa - Generate Payment Code
      • Indomaret
        • How To Pay API
          • Get payment details and instructions
        • Indomaret - Generate Payment Code
    • e-Wallet
      • OVO
        • One Time Payment
          • Payment
          • Void
        • Account Binding
          • Account Binding
          • Balance Inquiry
          • Payment
          • Refund
          • Account Unbinding
      • ShopeePay
        • Payment
        • Refund
      • Payment Notification
    • Direct Debit
      • CIMB Direct Debit
        • Account Binding
        • Payment
        • OTP Verification
        • Refund
        • Account Unbinding
      • Allobank Direct Debit
        • Account Binding
        • Balance Inquiry
        • Payment
        • Refund
        • Account Unbinding
      • Mandiri Direct Debit
        • Card Binding
        • OTP Verification
        • Payment
        • Refund
        • Card Unbinding
      • BRI Direct Debit
        • Card Binding
        • OTP Verification
        • Payment
        • Refund
        • Card Unbinding
      • Payment Notification
    • PayLater
      • Generate Order
      • Cancellation
      • Refund
    • Kartu Kredit Indonesia
      • Get Token B2B
      • Binding Only
      • Payment AFP with Binding
      • Payment AFP
      • Payment with token
      • Payment without AFP
      • Refund
      • Unbinding
      • Online Refund
  • Webhooks
    • Setup Notification URL
    • Receive Notification
    • Best Practice
    • Retry Notification
    • Additional Features
      • Override Notification URL
  • Check Status API
    • Payment
    • Virtual Account
    • Direct Debit
    • E-Wallet X
    • Direct Debit Copy
  • Error Handling
    • Error Codes Glossary
  • Partner API
  • Payout API
    • Sub Account API
      • Money In
        • Accept Payment
      • Money Out
      • Balance
  • Technical Reference
    • Handling Idempotency
    • Postman Collection
    • Signature
  • Change Log
    • ID - Indonesia Version
  1. BCA Virtual Account

DOKU Generate Payment Code

Introduction#

This documentation explains how merchants can integrate with DOKU APIs to generate payment codes and process transactions through acquirers (banks, e-wallets, etc.). The sequence below shows the interaction between:
1.
Customer: End user making a payment.
2.
Merchant: E-commerce platform or application integrating with DOKU.
3.
DOKU: Payment gateway that provides secure access tokens, validates inquiries, and processes payments.
4.
Acquirer: Bank or payment channel where the actual payment happens.

Step-by-Step Payment Flow#

Step 1. Customer Checkout#

The customer shops online and proceeds to checkout.
The merchant displays the payment page with available payment channels.
The customer selects an acquirer (ATM, Internet Banking, e-Wallet, etc.) and clicks "Proceed".

Step 2. Request Access Token#

The merchant requests an access token from DOKU using credentials (public & private key).
DOKU validates and processes the request.
If successful, DOKU grants an access token which will be used in subsequent API calls.

Step 3. Generate Payment Code#

With the token, the merchant requests a payment code from DOKU.
The request includes: invoice number, transaction amount, and expiry date.
DOKU processes the request and generates a unique payment code, returning it along with payment instructions.
The merchant displays payment information (code, instructions) to the customer.

Step 4. Customer Payment via Acquirer#

The customer inputs the payment code at the acquirer’s channel (ATM, Internet Banking, etc.).
The acquirer system invokes an inquiry to DOKU to verify order details.
DOKU responds with details (merchant name, customer name, amount).
The acquirer displays order details to the customer.
The customer confirms the payment.

Step 5. Payment Processing#

The acquirer performs a payment invocation to debit the customer account.
The acquirer checks payment status internally.
Once processed, the acquirer sends a payment response to DOKU.

Step 6. Notify Merchant#

DOKU validates and processes the payment result.
Merchant requests access token from DOKU.
DOKU validates and processes token request.
DOKU grants access token to merchant.
DOKU sends payment notification to merchant system.
Merchant displays payment result to customer.
Modified at 2025-08-26 04:23:15
Previous
Bank Transfer
Next
Get Token
Built with