Payout Link
Handling payouts can be operationally complex, particularly when it involves collecting and managing bank account details from multiple recipients. To streamline this process, DOKU provides a feature called Payout Link. This feature allows merchants to send bonuses and commissions to their employees.
With Payout Link, merchants are not required to manually collect or input beneficiary bank account information. Instead, DOKU automatically generates and sends a secure link to each beneficiary via email. The recipient can then submit their banking details directly through this link at their convenience.
Integration Steps

Here is the overview of how to integrate with Payout Link:
Payout Link Status Mapping
Here is the possible value of Payout Link Status and the description:
PENDING
Payout link initiated successfully.
EMAIL_SENT
Payout link email notification is sent.
EMAIL_LINK_OPENED
Payout link opened through email.
PENDING_PROCESS
Payout link confirmation process has failed and will be retried.
CONFIRMED
Payout link is confirmed, payment/remit request is sent to beneficiary and on process.
COMPLETED
Payout link payment/remit request has been processed successfully.
FAILED
Payout link payment/remit request has been retried 3 times and still failed.
EXPIRED
Payout link is expired because it's never opened.
API Specification
Sandbox
Production
Create a Payout Link transaction through API
Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)
85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Client's current local time in yyyy-MM-ddTHH:mm:ssTZD format
2020-12-21T07:50:11Z
Unique ID for a partner (DOKU'S Client ID)
821508239190
Numeric String. Reference number that should be unique in the same day (request-id)
418075533589
Transaction Amount. Total Amount with 2 decimal, format ISO 4217 | min length: 1 | max length: 16.2
11500
Sender Name | min length: 1 | max length: 50
Firman
Beneficiary / Receiver Name | min length: 1 | max length: 50
Toru Yamashita
Beneficiary / Receiver Phone, Format: 62xxxxxxxxx xxxx | min length: 9 | max length: 14
0816291271826
Beneficiary / Receiver Email | min length: 1 | max length: 50
[email protected]
Unique Reference number from merchant | min length: 1 | max length: 30
PAY_83921251
Decription min length: 1 | max length: 30
Payout for bonus 2023
Currency | min length: 1 | max length: 3
IDR
item created
Bad Request
Time out
Internal Error
POST /v1/payout/initiate HTTP/1.1
Host: {api-domain}
Signature: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Request-Timestamp: 2020-12-21T07:50:11Z
Client-Id: 821508239190
Request-Id: 418075533589
Content-Type: application/json
Accept: */*
Content-Length: 229
{
"amount": 11500,
"sender_name": "Firman",
"receiver_name": "Toru Yamashita",
"receiver_phone_number": "0816291271826",
"receiver_email": "[email protected]",
"reference_id": "PAY_83921251",
"description": "Payout for bonus 2023",
"currency": "IDR"
}
{
"status": "0",
"message": "Success",
"timestamp": "2020-12-21T07:56:11.000Z",
"data": {
"reference_id": "PAY_83921251",
"transaction_id": "PTIzdQeGf2UZND12sra9Eg==|DEV-AA|2|2|oOvQV_FErC7bucf5vOjcXg==",
"status": "SUCCESS",
"amount": 11500,
"sender_name": "Firman",
"receiver_name": "Toru Yamashita",
"receiver_phone_number": "0816291271826",
"receiver_email": "[email protected]",
"created_time": "2020-12-21T07:56:11.000+07:00",
"modified_time": "2020-12-21T08:50:11.000+07:00"
}
}
Check Payout Link current status through API
Algorithm symmetric signature HMAC_SHA512 (clientSecret, stringToSign)
85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Client's current local time in yyyy-MM-ddTHH:mm:ssTZD format
2020-12-21T07:50:11Z
Unique ID for a partner (DOKU'S Client ID)
821508239190
Numeric String. Reference number that should be unique in the same day (request-id)
418075533589
Must be the same as reference_id given in the payout initiate request | min length: 1 | max length: 30
PAY_83921251
item created
Bad Request
POST /v1/payout/status HTTP/1.1
Host: {api-domain}
Signature: 85be817c55b2c135157c7e89f52499bf0c25ad6eeebe04a986e8c862561b19a5
Request-Timestamp: 2020-12-21T07:50:11Z
Client-Id: 821508239190
Request-Id: 418075533589
Content-Type: application/json
Accept: */*
Content-Length: 33
{
"transaction_id": "PAY_83921251"
}
{
"status": "0",
"message": "Success",
"timestamp": "2020-12-21T09:01:11.000+07:00",
"data": {
"reference_id": "PAY_83921251",
"transaction_id": "PL0002221",
"status": "SUCCESS",
"state": "SUCCESS",
"amount": 11500,
"sender_name": "Firman",
"receiver_name": "Toru Yamashita",
"receiver_phone_number": "0816291271826",
"receiver_email": "[email protected]",
"created_time": "2022-12-21T07:56:11.000+07:00",
"modified_time": "2020-12-21T08:50:11.000+07:00"
}
}
Last updated
Was this helpful?