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. Checkout Full Request
  • Introduction
  • Getting Started
    • Create Account
    • Authentication & API Keys
    • Make your first API call
  • Checkout API
    • Build a Checkout Page
      • Checkout Display Type
      • Initiate Payment
    • Checkout Full Request
      • DOKU Checkout Full Request
        POST
  • Direct API
    • Cards
      • Payment Form
        • Generate Payment Page
        • Authorize Capture
        • Online Refund
      • Host-to-host Payment
        • Get Token List
        • Check 3D Secure
        • Charge
    • 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
        • Merchant Generated Payment Code
          • DOKU Generate Payment Code
        • DOKU Generated Payment Code
          • Step 1 - Get Token
          • Step 2 - Create VA (DGPC)
        • Direct Inquiry
          • Step 1 - Get Token
          • Step 2 - Create VA (DGPC)
      • 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
      • BPD Virtual Account
      • CIMB SNAP 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
        • Indomaret - Generate Payment Code
    • e-Wallet
      • OVO
        • One Time Payment
          • OVO - Payment
          • OVO - Void
        • Account Binding
          • Account Binding
          • Balance Inquiry
          • Payment
          • Refund
          • Account Unbinding
      • ShopeePay
        • Payment
        • Refund
    • Direct Debit
      • CIMB Direct Debit
        • Account Binding
        • Payment
        • OTP Verification
        • Refund
        • Account Unbinding
      • ALLO BANK 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
    • 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
      POST
  • Check Status API
    • Payment
      GET
  • Partner API
  • Biller API
  • Wallet Service API
  • Payout API
    • Sub Account API
      • Money In
        • Accept Payment
      • Money Out
      • Balance
  • Use Case Guides
  • Error Handling
    • Error Codes Glossary
  • FAQ / Troubleshooting
  • Change Log
    • ID - Indonesia Version
  • Archive
    • Get Token B2B
    • Get Token B2B2C
    • Step 1 - Account Binding
    • Step 2 - Balance Inquiry
    • Step 3 - Payment
    • Additional - Refund
    • Additional - Account Unbinding
    • Get Token B2B
    • Get Token B2B2C
    • Account Binding
    • Balance Inquiry
    • Payment
    • Refund
    • Account Unbinding
  • Delete Payment Code
    • Delete Payment Code
  • Technical Reference
    • Signature
    • Handling Idempotency
    • Postman Collection
  • Webhooks
    • Setup Notification URL
    • HTTP Notification Sample - SNAP
    • HTTP Notification Sample - non SNAP
    • Best Practice
    • Retry Notification
    • Override Notification URL
  1. Checkout Full Request

DOKU Checkout Full Request

POST
/checkout/v1/payment
DOKU Checkout Full Request

Request

Header Params

Body Params application/json

Example
{
    "order": {
        "amount": 20000,
        "invoice_number": "INV-20210231-0001",
        "currency": "IDR",
        "callback_url": "http://doku.com/",
        "callback_url_cancel": "https://doku.com",
        "line_items": [
            {
                "name": "Fresh flowers",
                "quantity": 1,
                "price": "20000",
                "sku": "FF01",
                "category": "gift-and-flowers",
                "url": "http://doku.com/",
                "image_url": "http://doku.com/",
                "type": "ABC"
            }
        ],
        "language": "EN",
        "disable_retry_payment": true,
        "auto_redirect": true
    },
    "payment": {
        "payment_method_types": [
            "VIRTUAL_ACCOUNT_BCA"
        ],
        "payment_due_date": "60"
    },
    "customer": {
        "id": "JC-01",
        "state": "Jakarta",
        "city": "Jakarta Selatan",
        "postcode": "120129",
        "email": "zolanda@example.com",
        "phone": "628121212121",
        "name": "Zolanda",
        "last_name": "Anggraeni",
        "address": "taman setiabudi",
        "country": "ID"
    },
    "shipping_address": {
        "address": "Jalan Teknologi Indonesia No. 25",
        "city": "Jakarta",
        "phone": "081513114262",
        "first_name": "Zolanda",
        "last_name": "Anggraeni",
        "postal_code": "12960",
        "country_code": "IDN"
    },
    "billing_address": {
        "address": "Jalan Teknologi Indonesia No. 25",
        "city": "Jakarta",
        "phone": "081513114262",
        "first_name": "Zolanda",
        "last_name": "Anggraeni",
        "postal_code": "12960",
        "country_code": "IDN"
    },
    "additional_info": {
        "allow_tenor": [
            0
        ],
        "close_redirect": "www.doku.com",
        "doku_wallet_notify_url": "https://dw-notify.free.beeceptor.com",
        "doku_wallet_sac_id": "SAC_001"
    }
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/checkout/v1/payment' \
--header 'Client-Id;' \
--header 'Request-Id;' \
--header 'Request-Timestamp;' \
--header 'Signature;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "order": {
        "amount": 20000,
        "invoice_number": "INV-20210231-0001",
        "currency": "IDR",
        "callback_url": "http://doku.com/",
        "callback_url_cancel": "https://doku.com",
        "line_items": [
            {
                "name": "Fresh flowers",
                "quantity": 1,
                "price": "20000",
                "sku": "FF01",
                "category": "gift-and-flowers",
                "url": "http://doku.com/",
                "image_url": "http://doku.com/",
                "type": "ABC"
            }
        ],
        "language": "EN",
        "disable_retry_payment": true,
        "auto_redirect": true
    },
    "payment": {
        "payment_method_types": [
            "VIRTUAL_ACCOUNT_BCA"
        ],
        "payment_due_date": "60"
    },
    "customer": {
        "id": "JC-01",
        "state": "Jakarta",
        "city": "Jakarta Selatan",
        "postcode": "120129",
        "email": "zolanda@example.com",
        "phone": "628121212121",
        "name": "Zolanda",
        "last_name": "Anggraeni",
        "address": "taman setiabudi",
        "country": "ID"
    },
    "shipping_address": {
        "address": "Jalan Teknologi Indonesia No. 25",
        "city": "Jakarta",
        "phone": "081513114262",
        "first_name": "Zolanda",
        "last_name": "Anggraeni",
        "postal_code": "12960",
        "country_code": "IDN"
    },
    "billing_address": {
        "address": "Jalan Teknologi Indonesia No. 25",
        "city": "Jakarta",
        "phone": "081513114262",
        "first_name": "Zolanda",
        "last_name": "Anggraeni",
        "postal_code": "12960",
        "country_code": "IDN"
    },
    "additional_info": {
        "allow_tenor": [
            0
        ],
        "close_redirect": "www.doku.com",
        "doku_wallet_notify_url": "https://dw-notify.free.beeceptor.com",
        "doku_wallet_sac_id": "SAC_001"
    }
}'

Responses

🟢200OK
application/json
After hitting the above API request, DOKU will give the response.
Body

Example
{
    "message": [
        "SUCCESS"
    ],
    "response": {
        "order": {
            "amount": "20000",
            "invoice_number": "INV-1677749345",
            "currency": "IDR",
            "session_id": "f3cc59e620c54b2aaa773f6ed6a98895",
            "callback_url": "http://doku.com/",
            "callback_url_cancel": "https://doku.com",
            "line_items": [
                {
                    "name": "Fresh flowers",
                    "quantity": 1,
                    "price": "20000",
                    "sku": "FF01",
                    "category": "gift-and-flowers",
                    "url": "http://doku.com/",
                    "image_url": "http://doku.com/",
                    "type": "ABC"
                }
            ],
            "language": "EN",
            "disable_retry_payment": true,
            "auto_redirect": true
        },
        "payment": {
            "payment_method_types": [
                "VIRTUAL_ACCOUNT_BCA"
            ],
            "payment_due_date": 60,
            "token_id": "ABC",
            "url": "ABC",
            "expired_date": "ABC"
        },
        "customer": {
            "id": "JC-01",
            "state": "Jakarta",
            "city": "Jakarta Selatan",
            "postcode": "120129",
            "email": "zolanda@example.com",
            "phone": "628121212121",
            "name": "Zolanda",
            "last_name": "Anggraeni",
            "address": "taman setiabudi",
            "country": "ID"
        },
        "additional_info": {
            "allow_tenor": [
                0
            ],
            "close_redirect": "www.doku.com",
            "doku_wallet_notify_url": "https://dw-notify.free.beeceptor.com",
            "doku_wallet_sac_id": "SAC_001"
        },
        "uuid": 2.225230302162906e+39,
        "headers": {
            "request_id": "32a53bdd-a94d-4ee1-bd1a-854a2f7cffb5",
            "signature": "HMACSHA256=tK3zNthfy1FOUiJdKhJTf5N6Lzx4rmcPXQDxLJhonqk=",
            "date": "2023-03-02T09:29:04Z",
            "client_id": "MCH-0003-8279340109246"
        },
        "shipping_address": {
            "address": "Jalan Teknologi Indonesia No. 25",
            "city": "Jakarta",
            "phone": "081513114262",
            "first_name": "Zolanda",
            "last_name": "Anggraeni",
            "postal_code": "12960",
            "country_code": "IDN"
        },
        "billing_address": {
            "address": "Jalan Teknologi Indonesia No. 25",
            "city": "Jakarta",
            "phone": "081513114262",
            "first_name": "Zolanda",
            "last_name": "Anggraeni",
            "postal_code": "12960",
            "country_code": "IDN"
        }
    }
}
Modified at 2025-07-24 06:21:01
Previous
Initiate Payment
Next
Direct API
Built with