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. Getting Started
  • 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
      GET
    • Virtual Account
      POST
    • Direct Debit
      POST
    • E-Wallet X
      POST
    • Direct Debit Copy
      POST
  • 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. Getting Started

Make your first API call

Overview#

This example helps you generate a hosted payment page using DOKU’s Checkout API, so your customer can pay via Virtual Account (VA) or other methods.
No complexity. Just follow these 3 steps. Are you ready? let's start.
What You Need Before Starting
✅ Your Client ID
✅ Your Secret Key
✅ A tool like Postman or cURL
No OAuth token needed — this API uses HMAC-SHA256 Signature in the headers to protect each request.

Use Case#

Accepting a Payment with Checkout Page (Virtual Account)
You want to send an invoice of Rp10.000 to a customer, and let them pay via VA or QRIS on a secure DOKU page.

Step 1: Prepare the Payload#

Step 2: Generate Signature Header#

To make the request secure, you must generate a Signature header like this:
Convert the JSON body to string (no spaces)
Use secret_key as secret
Hash with HMAC-SHA256
Send the hex digest result

Example code (Node.js):

Step 3: Send the Request#

On success, you’ll get this:

Final Step: Redirect Your Customer#

Send the customer to the checkout_url.
They’ll see a secure page where they can pay via:
Virtual Account (BCA, BNI, Mandiri)
QRIS
e-Wallets (OVO, Dana, ShopeePay)
Cards
etc.
✅ Done!
You just created your first DOKU Checkout payment.
No tokens. No complexity. No problem.

What’s Next?#

1.
Setup your callback_url to get notified when payment is completed.
2.
Try other amounts and invoice numbers.
3.
Test different payment methods.
4.
Ready to go live? Just swap to Production credentials.
Modified at 2025-07-14 16:13:42
Previous
Authentication & API Keys
Next
Checkout API
Built with