API Reference
DOKU DocsChangelogDOKU Github
  • Getting Started with DOKU API
    • User Registration
    • Idempotency Request
    • Notification
      • Setup Notification URL
      • HTTP Notification Sample for SNAP
      • HTTP Notification Sample - Non SNAP
      • Best Practice
      • Retry Notification
      • Override Notification URL
    • Signature Component
      • Non-SNAP
        • Signature Component from Request Header
        • Signature Componen from Response Header
        • Signature from API Get Method
        • Sample Code
      • SNAP
        • Symmetric Signature
        • Asymmetric Signature
    • Response Code
      • HTTP Status and Case Code
    • Check Status API
      • Non-SNAP
      • SNAP
    • Retrieve Payment Credential
  • Accept Payment
    • DOKU Checkout
      • Integration Guide
        • Backend Integration
        • Frontend Integration
        • Simulate payment and Notification
      • Supported Payment Methods
      • Status Order
      • Additional Feature
        • Tokenization
        • Promo on DOKU Checkout Page
        • Track Campaign Source on Google Analytics
      • Checkout Settings
    • Direct API
      • Non-SNAP
        • Cards
          • Payment Page Integration Guide
          • Host-To-Host Integration Guide
          • Mastercard Automatic Billing Updater (ABU) Integration Guide
            • Backend Integration
        • e-Wallet
          • Overview
          • DOKU e-Wallet
          • OVO Push Payment
          • ShopeePay
          • LinkAja
        • Paylater
          • Akulaku
          • Kredivo
          • Indodana
        • Digital Banking
          • Jenius Pay
        • Convenience Store
          • Alfa Group
          • Indomaret
      • SNAP
        • Integration Guide
          • Get Token API
            • B2B
            • B2B2C
          • Virtual Account
            • CIMB Virtual Account
            • BSI Virtual Account
            • BCA Virtual Account
            • BNC Virtual Account
            • BNI Virtual Account
            • Mandiri Virtual Account
            • BRI Virtual Account
            • BTN Virtual Account
            • Permata Virtual Account
            • Danamon Virtual Account
            • BSS Virtual Account
          • E-Wallet
            • DOKU Wallet
            • DANA
            • OVO
            • ShopeePay
          • Direct Debit
            • Allo Bank Direct Debit
            • BRI Direct Debit
            • CIMB Direct Debit
            • Mandiri Direct Debit
          • Kartu Kredit Indonesia Cepat Secure(KKI CPTS)
            • Host to Host Integration
          • QRIS
    • Finance and Settlement
      • Split Settlement
      • Custom Settlement Report
      • Hold and Release Settlement
      • Bulk Registration Bank
    • Test on DOKU Demo Site
    • DOKU Payment Simulator
  • Developer Kit
    • Postman Collection
    • Libraries and SDK
  • Wallet As A Service
    • Sub Account
  • Partnership
    • Partner API
      • Check Requirements API
      • Generate Token API
      • Upload File API
      • Business Registration API
      • Create Business Lite API
      • Get Business Data API
  • Payout
    • Kirim DOKU
  • FLEXIBILL
    • Account Billing
      • Batch Upload
    • DOKU Biller
      • Response Code
      • Samples
  • PAYCHAT API
    • Send WhatsApp Message
  • Archive
    • Non-SNAP
      • Tokenization V1
      • e-Wallet
        • OVO Recurring
        • OVO Open API
    • SNAP
      • Virtual Account
        • BCA v1.0
        • BRI v1.0
        • BNI v1.0
        • BNC v1.0
        • Mandiri v1.0
        • BTN v1.0
        • Permata v1.0
        • Danamon Virtual Account
      • e-Wallet
        • OVO Open API
        • DANA
        • ShopeePay
      • Direct Debit
        • CIMB Direct Debit
        • BRI Direct Debit
        • Allobank
Powered by GitBook

DOKU API

  • Legacy Documentation
On this page

Was this helpful?

  1. Accept Payment
  2. Direct API
  3. SNAP
  4. Integration Guide
  5. Virtual Account

Danamon Virtual Account

DOKU has partnered with various banks and one of them is Danamon to provide Virtual Account Payment. Learn more about how DOKU can help you integrate with Danamon Virtual Account here.

PreviousPermata Virtual AccountNextBSS Virtual Account

Last updated 7 months ago

Was this helpful?

Integration methods

There are two methods to integrate with Danamon VA:

  1. Create VA: The VA number will be registered to DOKU and Acquirer will inquiry to our side when the customer make payment at the acquirer channel (ATM, mobile banking, internet banking, etc.)

    1. DOKU Generated Payment Code (DGPC): The VA number is generated by DOKU. Suitable for e-commerce business model.

    2. Merchant Generated Payment Code (MGPC): The VA number is generated by Merchant. Suitable for top up business model.

  2. Direct Inquiry (DIPC): The VA number is registered on merchant side and DOKU will forward Acquirer inquiry request to merchant side when the customer make payment at the acquirer channel (ATM, mobile banking, internet banking, etc.)

Integration Steps

Precondition

Get Token API

As client who hit DOKU's API such as Create VA, you need to obtain an access token first. Learn how to do it in this .

Generate Signature

X- SIGNATURE is a security parameter that needs to be generated on merchant's Backend to verify the request authenticity.

So, it's very crucial for merchant to generate the X-SIGNATURE. Learn how to do it in this

Here is the overview of how to integrate with Virtual Account:


1. Create VA

To create VA, you will need to hit this API through your Backend:

API Endpoint

Type
Value

Service Code

27

HTTP Method

POST

API Endpoint Sandbox

API Endpoint Production

Path

Here is the sample request header, request body and response body for Danamon VA

a. DOKU Generate Payment Code

Check this flow diagram to get know about this method

Request Header

Parameter
Type
Mandatory
Description

X- TIMESTAMP

String

Mandatory

Client's current local time in yyyy-MM-ddTHH:mm:ssZ format

X-SIGNATURE

String

Mandatory

X-PARTNER-ID

String

Mandatory

Unique ID for a partner (Merchant Client ID)

X-EXTERNAL-ID

String

Mandatory

Numeric string. Reference number that should be unique in the same day (request-id)

CHANNEL-ID

String

Mandatory

channel ID for VA. Please fill with H2H (Host-To-Host)

Authorization

String

Mandatory

b. Merchant Generate Payment Code

Check this flow diagram to get know about this method

Request Header

Parameter
Type
Mandatory
Description

X- TIMESTAMP

String

Mandatory

Client's current local time in yyyy-MM-ddTHH:mm:ssZ format

X-SIGNATURE

String

Mandatory

X-PARTNER-ID

String

Mandatory

Unique ID for a partner (Merchant Client ID)

X-EXTERNAL-ID

String

Mandatory

Numeric string. Reference number that should be unique in the same day (request-id)

CHANNEL-ID

String

Mandatory

channel ID for VA. Please fill with H2H (Host-To-Host)

Authorization

String

Mandatory

Pro Tips!

  1. You can also show payment instruction link to your customer by using additionalInfo.howToPayPage

  2. If you wish to customize the UI for the payment instruction, you can use the additionalInfo.howToPayApi

c. Display Virtual Account

You can display the payment code to your customer by using virtualAccountData.virtualAccountNo that you retrieved from the API response.

d. Acknowledge payment result

e. Hit DOKU Check Status API


f. Delete Payment Code

If you wish to delete your virtual account, you can do that by hitting the API with this API :

Request Header

Parameter
Type
Mandatory
Description

X- TIMESTAMP

String

Mandatory

Client's current local time in yyyy-MM-ddTHH:mm:ssZ format

X-SIGNATURE

String

Mandatory

X-PARTNER-ID

String

Mandatory

Unique ID for a partner (Merchant Client ID )

X-EXTERNAL-ID

String

Mandatory

Numeric string. Reference number that should be unique in the same day ( request-id)

CHANNEL-ID

String

Mandatory

channel ID for VA. Please fill with H2H (Host-To-Host )

Authorization

String

Mandatory

g. Update Payment Code

If you wish to update your virtual account, you can do that by hitting the API with this API :

Request Header

Parameter
Type
Mandatory
Description

X- TIMESTAMP

String

Mandatory

Client's current local time in yyyy-MM-ddTHH:mm:ssZ format

X-SIGNATURE

String

Mandatory

X-PARTNER-ID

String

Mandatory

Unique ID for a partner (Merchant Client ID )

X-EXTERNAL-ID

String

Mandatory

Numeric string. Reference number that should be unique in the same day ( request-id)

CHANNEL-ID

String

Mandatory

channel ID for VA. Please fill with H2H (Host-To-Host )

Authorization

String

Mandatory


2. Direct Inquiry

Type
Value

Service Code

24

HTTP Method

POST

API Endpoint Sandbox

API Endpoint Production

Path

Here is the overview of how to integrate Direct Inquiry Danamon VA :

Check this flow to diagram to get know about this API :

To get Inquiry Request from DOKU, you will need to hit this API through your Backend:

a. Setup Inquiry URL on DOKU Dashboard

To receive the inquiry request from DOKU. You must set your Inquiry URL to DOKU. Please contact our team for the setup.

Please inform the Inquiry URL for Sandbox environment and Production environment.

b. Generate Payment Code on your end

Generate payment is done in your system. The payment code length maximum is 28 digits.

c. Receive Inquiry Request from DOKU

Here is the sample request header, request body from DOKU

Request Header

Parameter
Type
Mandatory
Description

X- TIMESTAMP

String

Mandatory

Client's current local time in yyyy-MM-ddTHH:mm:ssZ format

X-SIGNATURE

String

Mandatory

X-PARTNER-ID

String

Mandatory

Unique ID for a partner (Merchant Client ID )

X-EXTERNAL-ID

String

Mandatory

Numeric string. Reference number that should be unique in the same day ( request-id)

CHANNEL-ID

String

Mandatory

channel ID for VA. Please fill with H2H (Host-To-Host )

Authorization

String

Mandatory

d. Acknowledge payment notification

e. Hit DOKU Check Status API


Additional Feature

Open Amount

DOKU supports open payment meaning that your customer can input their own payment amount. To use open amount, you need to set virtualAccountTrxType = O and you need to send totalAmount.value = 0and totalAmount.currency = IDR DOKU. Here is the sample:

{
    "partnerServiceId": "    8922",
        ...
    "totalAmount": {
        "value": "0",
        "currency": "IDR"
      },
      ...
    "virtualAccountTrxType": "O",
    ...
}
{
  ...
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    ...
    "totalAmount": {
      "value": "0",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "O",
    "expiredDate": "2023-01-01T10:55:00+07:00",
    ...
    },
    ...
}

Limit Amount

DOKU supports limit amount payment meaning that your customer can input their own payment amount at the range that you defined. Limit amount only available when virtualAccountTrxType type is O and V.To use limit amount, you need to set virtualAccountConfig.minAmount >= 0 or virtualAccountConfig.maxAmount > 0 to DOKU.

{
    "partnerServiceId": "   8922",
        ...
    "totalAmount": {
        "value": "0",
        "currency": "IDR"
      },
    "additionalInfo": {
        "channel" : "VIRTUAL_ACCOUNT_DANAMON",
        "virtualAccountConfig" : {
            "minAmount" : "10000.00"
            "maxAmount" : "5000000.00"
            }
        },
    "virtualAccountTrxType": "O" / "V",
    ...
}
{
  ...
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    ...
    "totalAmount": {
      "value": "0",
      "currency": "IDR"
    },
    "additionalInfo": {
        "channel" : "VIRTUAL_ACCOUNT_DANAMON",
        "virtualAccountConfig" : {
            "minAmount" : "10000.00"
            "maxAmount" : "5000000.00"
            }
        },
    "virtualAccountTrxType": "O" / "V",
    ...
    },
}

Algorithm symmetric signature HMAC_SHA2512(clientSecret, stringToSign) Refer to this

Bearer "access token" obtained from Get B2B Token API, refer to this

Algorithm symmetric signature HMAC_SHA2512(clientSecret, stringToSign) Refer to this

Bearer "access token" obtained from Get B2B Token API, refer to this

After the payment is being made by your customer, DOKU will send HTTP Notification to your defined Notification URL. Learn how to .

If you do not receive notifications from DOKU due to some issue, you can perform an API status check on the DOKU side to determine the updated transaction status. See the detailed request and response here .

Algorithm symmetric signature HMAC_SHA2512(clientSecret, stringToSign) Refer to this

Bearer "access token" obtainedn from Get B2B Token API , refer to this

Algorithm symmetric signature HMAC_SHA2512(clientSecret, stringToSign) Refer to this

Bearer "access token" obtainedn from Get B2B Token API , refer to this

a.

b.

c.

d.

e.

Algorithm symmetric signature HMAC_SHA2512(clientSecret, stringToSign) Refer to this

Bearer "access token" obtainedn from Get B2B Token API , refer to this

After the payment is being made by your customer, DOKU will send HTTP Notification to your defined Notification URL. Learn how to .

If you do not receive notifications from DOKU due to some issue, you can perform an API status check on the DOKU side to determine the updated transaction status. See the detailed request and response here .

https://api-sandbox.doku.com/.../
https://api.doku.com/..../
/virtual-accounts/bi-snap-va/v1.1/transfer-va/create-va
https://api-sandbox.doku.com/.../
https://api.doku.com/..../
/virtual-accounts/bi-snap-va/v1.1/transfer-va/inquiry
Learn what are the response codes!
Learn what are the response codes!
handle the notification from DOKU
Check Status API
handle the notification from DOKU
Check Status API
​
section
section
Create Virtual Account
a. DOKU Generate Payment Code
b. Merchant Generate Payment Code
c. Display Virtual Account
d. Acknowledge Payment Result
e. Hit DOKU Check Status API
f. Delete Virtual Account
g. Update Virtual Account
Direct Inquiry
Setup Inquiry URL on DOKU Dashboard
Generate Payment Code on your End
Receive Inquiry Request from DOKU
Acknowledge Payment Notification
Hit DOKU Check Status API
Docs
Docs
Docs
Docs
Docs
Docs
Docs
Docs
Docs
Docs
DOKU Generate Payment Code
Merchant Generate Payment Code
Direct Inquiry

Direct Inquiry

post

Direct Inquiry

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: BRN-0259-1678068334526
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
channelCodestringOptional

Channel code from bank | min length: 1 | max length: 10

Example: 1
trxDateInitstringRequired

Transaction date. | Mandatory

Example: 2023-01-01T10:55:00+07:00
languagestringOptional

Language | min length: 1 | max length: 2

Example: ID
inquiryRequestIdstringRequired

Unique Inquiry request id. | Mandatory | min length: 1 | max length: 30

Example: 12839218738127830
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
post
POST /v1.1/transfer-va/inquiry HTTP/1.1
Host: {merchant-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: BRN-0259-1678068334526
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 292

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "channelCode": "1",
  "trxDateInit": "2023-01-01T10:55:00+07:00",
  "language": "ID",
  "inquiryRequestId": "12839218738127830",
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON"
  }
}
{
  "responseCode": "2002400",
  "responseMessage": "Successful",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "virtualAccountPhone": "081293912081",
    "totalAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "expiredDate": "2023-01-01T10:55:00+07:00",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "trxId": "INV-001",
      "virtualAccountConfig": {
        "reusableStatus": true,
        "minAmount": "10000.00",
        "maxAmount": "5000000.00"
      }
    },
    "inquiryStatus": "00",
    "inquiryReason": {
      "english": "Success",
      "indonesia": "Sukses"
    },
    "inquiryRequestId": "12839218738127830",
    "freeText": [
      {
        "english": "Free text",
        "indonesia": "Tulisan Bebas"
      }
    ]
  }
}

Delete Payment Code

delete

Delete Payment Code

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: BRN-0259-1678068334526
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
trxIdstringRequired

Invoice number in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
delete
DELETE /virtual-accounts/bi-snap-va/v1.1/transfer-va/delete-va HTTP/1.1
Host: {api-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: BRN-0259-1678068334526
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 199

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "trxId": "23219829713",
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON"
  }
}
{
  "responseCode": "2003100",
  "responseMessage": "Successful",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "trxId": "23219829713",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "virtualAccountConfig": {
        "status": "DELETED",
        "minAmount": "10000.00",
        "maxAmount": "5000000.00"
      }
    }
  }
}

DOKU Generate Payment Code

post

DOKU Generate Payment Code

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: BRN-0259-1678068334526
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Prefix Sub BIN Merchant. | Mandatory | min length: 1 | max length: 20

Example: 6
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 89226
virtualAccountNamestringRequired

Customer Name. | Mandatory | min length: 1 | max length: 255

Example: Customer Name
virtualAccountEmailstringOptional

Customer Email | min length: 1 | max length: 255

Example: customer.email@mail.com
virtualAccountPhonestringOptional

Customer Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 30

Example: 0816291271826
trxIdstringRequired

Invoice number in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
virtualAccountTrxTypestringRequired

Transaction type for this transaction. C (Closed Amount), O (Open Amount), V (Bill Variable Amount) | Mandatory | min length: 1 | max length: 1

Example: C
expiredDatestringOptional

Expiration date for Virtual Account. ISO-8601

Example: 2023-01-01T10:55:00+07:00
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
post
POST /virtual-accounts/bi-snap-va/v1.1/transfer-va/create-va HTTP/1.1
Host: {api-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: BRN-0259-1678068334526
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 566

{
  "partnerServiceId": "    8922",
  "customerNo": "6",
  "virtualAccountNo": "    89226",
  "virtualAccountName": "Customer Name",
  "virtualAccountEmail": "customer.email@mail.com",
  "virtualAccountPhone": "0816291271826",
  "trxId": "23219829713",
  "totalAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "virtualAccountConfig": {
      "reusableStatus": true,
      "minAmount": "10000.00",
      "maxAmount": "5000000.00"
    }
  },
  "virtualAccountTrxType": "C",
  "expiredDate": "2023-01-01T10:55:00+07:00",
  "freeText": [
    {
      "english": "Free text",
      "indonesia": "Tulisan Bebas"
    }
  ]
}
{
  "responseCode": "2002700",
  "responseMessage": "Successful",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "virtualAccountPhone": "081293912081",
    "trxId": "23219829713",
    "totalAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "expiredDate": "2023-01-01T10:55:00+07:00",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "howToPayPage": "https://app.doku.com/how-to-pay/virtual-account/danamon/19008000000000000000000001/2226240319101120691107165798734001192511",
      "howToPayApi": "https://api.doku.com/pay-instruction/danamon/19008000000000000000000001/2226240319101120691107165798734001192511"
    }
  }
}

Payment Notification

post

Payment Notification

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: 821508239190
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
virtualAccountNamestringRequired

Customer Name | min length: 1 | max length: 255

Example: Customer Name
virtualAccountEmailstringOptional

Customer Email | min length: 1 | max length: 255

Example: customer.email@mail.com
trxIdstringRequired

Transaction ID in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
paymentRequestIdstringOptional

Unique identifier generated by PJP. If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId. | Mandatory | min length: 1 | max length: 30

Example: 12839218738127830
virtualAccountPhonestringOptional

Customer Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 30

Example: 081293912081
trxDateTimestringOptional

DOKU's transaction date time

Example: 2023-01-01T10:55:00+07:00
virtualAccountTrxTypestringOptional

Transaction type for this transaction. C (Closed Amount), O (Open Amount), V (Bill Variable Amount) | Mandatory | min length: 1 | max length: 1

Example: C
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
post
POST /v1.1/transfer-va/payment HTTP/1.1
Host: {merchant-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: 821508239190
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 554

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "virtualAccountName": "Customer Name",
  "virtualAccountEmail": "customer.email@mail.com",
  "trxId": "23219829713",
  "paymentRequestId": "12839218738127830",
  "paidAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "virtualAccountPhone": "081293912081",
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "virtualAccountConfig": {
      "minAmount": "10000.00",
      "maxAmount": "5000000.00"
    }
  },
  "trxDateTime": "2023-01-01T10:55:00+07:00",
  "virtualAccountTrxType": "C"
}
{
  "responseCode": "2002500",
  "responseMessage": "Success",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "paymentRequestId": "12839218738127830",
    "paidAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "virtualAccountConfig": {
        "minAmount": "10000.00",
        "maxAmount": "5000000.00"
      }
    }
  }
}
  • Integration methods​
  • Integration Steps
  • 1. Create VA
  • POSTDOKU Generate Payment Code
  • POSTMerchant Generate Payment Code
  • POSTPayment Notification
  • DELETEDelete Payment Code
  • PUTUpdate Payment Code
  • 2. Direct Inquiry
  • POSTDirect Inquiry
  • POSTPayment Notification
  • Additional Feature

Merchant Generate Payment Code

post

Merchant Generate Payment Code

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: BRN-0259-1678068334526
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
virtualAccountNamestringRequired

Customer Name | min length: 1 | max length: 255

Example: Customer Name
virtualAccountEmailstringOptional

Customer Email | min length: 1 | max length: 255

Example: customer.email@mail.com
virtualAccountPhonestringOptional

Customer Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 30

Example: 0816291271826
trxIdstringRequired

Invoice number in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
virtualAccountTrxTypestringRequired

Transaction type for this transaction. C (Closed Amount), O (Open Amount), V (Bill Variable Amount) | Mandatory | min length: 1 | max length: 1

Example: C
expiredDatestringOptional

Expiration date for Virtual Account. ISO-8601

Example: 2023-01-01T10:55:00+07:00
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
post
POST /virtual-accounts/bi-snap-va/v1.1/transfer-va/create-va HTTP/1.1
Host: {api-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: BRN-0259-1678068334526
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 604

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "virtualAccountName": "Customer Name",
  "virtualAccountEmail": "customer.email@mail.com",
  "virtualAccountPhone": "0816291271826",
  "trxId": "23219829713",
  "totalAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "virtualAccountConfig": {
      "reusableStatus": true,
      "minAmount": "10000.00",
      "maxAmount": "5000000.00"
    }
  },
  "virtualAccountTrxType": "C",
  "expiredDate": "2023-01-01T10:55:00+07:00",
  "freeText": [
    {
      "english": "Free text",
      "indonesia": "Tulisan Bebas"
    }
  ]
}
{
  "responseCode": "2002700",
  "responseMessage": "Successful",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "virtualAccountPhone": "081293912081",
    "trxId": "23219829713",
    "totalAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "expiredDate": "2023-01-01T10:55:00+07:00",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "howToPayPage": "https://app.doku.com/how-to-pay/virtual-account/danamon/19008000000000000000000001/2226240319101120691107165798734001192511",
      "howToPayApi": "https://api.doku.com/pay-instruction/danamon/19008000000000000000000001/2226240319101120691107165798734001192511"
    }
  }
}

Update Payment Code

put

Update Payment Code

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: BRN-0259-1678068334526
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
virtualAccountNamestringOptional

Customer Name | min length: 1 | max length: 255

Example: Customer Name
virtualAccountEmailstringOptional

Customer Email | min length: 1 | max length: 255

Example: customer.email@mail.com
virtualAccountPhonestringOptional

Customer Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 30

Example: 0816291271826
trxIdstringRequired

Invoice number in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
virtualAccountTrxTypestringOptional

Transaction type for this transaction. C (Closed Amount), O (Open Amount), V (Bill Variable Amount) | Mandatory | min length: 1 | max length: 1

Example: C
expiredDatestringOptional

Expiration date for Virtual Account. ISO-8601

Example: 2023-01-01T10:55:00+07:00
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
put
PUT /virtual-accounts/bi-snap-va/v1.1/transfer-va/update-va HTTP/1.1
Host: {api-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: BRN-0259-1678068334526
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 537

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "virtualAccountName": "Customer Name",
  "virtualAccountEmail": "customer.email@mail.com",
  "virtualAccountPhone": "0816291271826",
  "trxId": "23219829713",
  "totalAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "virtualAccountConfig": {
      "status": "INACTIVE",
      "minAmount": "10000.00",
      "maxAmount": "5000000.00"
    }
  },
  "virtualAccountTrxType": "C",
  "expiredDate": "2023-01-01T10:55:00+07:00"
}
{
  "responseCode": "2002800",
  "responseMessage": "Successful",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "virtualAccountPhone": "081293912081",
    "trxId": "23219829713",
    "totalAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "expiredDate": "2023-01-01T10:55:00+07:00",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "virtualAccountConfig": {
        "status": "INACTIVE",
        "minAmount": "10000.00",
        "maxAmount": "5000000.00"
      }
    }
  }
}

Payment Notification

post

Payment Notification

Header parameters
X-TIMESTAMPstringRequired

Client's current local time in yyyy-MM-dd'T'HH:mm:ssXXX format. Sample: 2024-03-19T14:39:01+07:00

Example: 2024-03-19T14:39:01+07:00
X-SIGNATUREstringRequired

Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)

Example: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-IDstringRequired

Unique ID for a partner (DOKU'S Client ID)

Example: 821508239190
X-EXTERNAL-IDstringRequired

Numeric String. Reference number that should be unique in the same day (request-id)

Example: 418075533589
CHANNEL-IDstringRequired

Channel Id for VA. Please fill with H2H (Host-To-Host)

Example: H2H
AuthorizationstringRequired

Access Token obtained from Get B2B Token API

Example: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Body
partnerServiceIdstringRequired

similar to company code/BIN,8 digit left padding space. | Mandatory | min length: 1 | max length: 8

Example: 8922
customerNostringRequired

Unique number (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 20

Example: 60000000000000000001
virtualAccountNostringRequired

partnerServiceId (8 digit left padding 0) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo. | Mandatory | min length: 1 | max length: 28

Example: 892260000000000000000001
virtualAccountNamestringRequired

Customer Name | min length: 1 | max length: 255

Example: Customer Name
virtualAccountEmailstringOptional

Customer Email | min length: 1 | max length: 255

Example: customer.email@mail.com
trxIdstringRequired

Transaction ID in Partner system. | Mandatory | min length: 1 | max length: 64

Example: 23219829713
paymentRequestIdstringOptional

Unique identifier generated by PJP. If Payment comes from the Inquiry process, this value must be the same with inquiryRequestId. | Mandatory | min length: 1 | max length: 30

Example: 12839218738127830
virtualAccountPhonestringOptional

Customer Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 30

Example: 081293912081
trxDateTimestringOptional

DOKU's transaction date time

Example: 2023-01-01T10:55:00+07:00
virtualAccountTrxTypestringOptional

Transaction type for this transaction. C (Closed Amount), O (Open Amount), V (Bill Variable Amount) | Mandatory | min length: 1 | max length: 1

Example: C
Responses
200
item created
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Not Found
application/json
409
Conflict
application/json
500
Internal server error
application/json
504
Gateway Timeout
application/json
post
POST /v1.1/transfer-va/payment HTTP/1.1
Host: {merchant-domain}
X-TIMESTAMP: 2024-03-19T14:39:01+07:00
X-SIGNATURE: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
X-PARTNER-ID: 821508239190
X-EXTERNAL-ID: 418075533589
CHANNEL-ID: H2H
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE2OTgwNTA3NDMsImlzcyI6IkRPS1UiLCJjbGllbnRJZCI6IkJSTi0wMjExLTE2OTY5MTk2NTE5MTgifQ.x-D5VlK6TlVZbLPUSCr-Gbfgh4tnp0QDJmedYFHJGHFjg1c4x39pszU4sLvRhr0Jk0vKdMIzxUZeNhKoesWqDJitnG3kfrNZNsMb_WYUC0tJW91onXzYOKXiTgsHwRNFoWPQHlXIEtT3RQm-SRlCpk_E0gsavgkQn2-kbJEBnPhIs4eKg5IUY9GYi4hRr-_GHsudDl8sd2B5UBB_rHYq36BRmLXH7i7MQADHPsB1ktPVgk3ZWF0jebEjI-lJ88p-omL1vQNvRseXej2HKBa9chGLmPDvXYBQaRmmstHz-tv1boFrHfwsHJebcUec-i3WE1vMvP_3EPXdbqb45N4ciQ
Content-Type: application/json
Accept: */*
Content-Length: 554

{
  "partnerServiceId": "    8922",
  "customerNo": "60000000000000000001",
  "virtualAccountNo": "    892260000000000000000001",
  "virtualAccountName": "Customer Name",
  "virtualAccountEmail": "customer.email@mail.com",
  "trxId": "23219829713",
  "paymentRequestId": "12839218738127830",
  "paidAmount": {
    "value": "11500.00",
    "currency": "IDR"
  },
  "virtualAccountPhone": "081293912081",
  "additionalInfo": {
    "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
    "virtualAccountConfig": {
      "minAmount": "10000.00",
      "maxAmount": "5000000.00"
    }
  },
  "trxDateTime": "2023-01-01T10:55:00+07:00",
  "virtualAccountTrxType": "C"
}
{
  "responseCode": "2002500",
  "responseMessage": "Success",
  "virtualAccountData": {
    "partnerServiceId": "    8922",
    "customerNo": "60000000000000000001",
    "virtualAccountNo": "    892260000000000000000001",
    "virtualAccountName": "Customer Name",
    "virtualAccountEmail": "customer.email@mail.com",
    "paymentRequestId": "12839218738127830",
    "paidAmount": {
      "value": "11500.00",
      "currency": "IDR"
    },
    "virtualAccountTrxType": "C",
    "additionalInfo": {
      "channel": "VIRTUAL_ACCOUNT_BANK_DANAMON",
      "virtualAccountConfig": {
        "minAmount": "10000.00",
        "maxAmount": "5000000.00"
      }
    }
  }
}