SNAP
To get the status of a transaction, you can send a request to DOKU Check Status API. It will response with the transaction status.
HIT CHECK STATUS AFTER 60 SECONDS AFTER PAYMENT COMPLETION!
To get the status for the transaction, please ensure your application is already hit after 60 seconds after payment completion.
Virtual Account
API Request
Endpoint
Type | Value |
---|---|
HTTP Method | POST |
API endpoint (Sandbox) |
|
API endpoint (Production) |
|
Here is the sample of Check Status request header :
Request Header Explanation
Parameter | Data Type | Mandatory | Description |
---|---|---|---|
X-TIMESTAMP | string | Mandatory | Client's current local time with format :
|
X-SIGNATURE | string | Mandatory | Represents signature of a request. Identify Signature Type used Value:
1. Symmetric Signature with Get Token (Default)
|
X-PARTNER-ID | string | Mandatory | Client ID for merchant that generated by DOKU |
X-EXTERNAL-ID | string | Mandatory | Reference number that should be unique in the same day or to be known as Request ID |
Authorization | string | Mandatory | Represents access_token of a request; Keyword starts with “Bearer ” followed by access_token (e.g. |
Content type | string | Mandatory | The media type of the resource (e.g. application/json) |
Request Body
Here is the sample of request body to get status of VA number:
Parameter | Type | Mandatory | Description |
---|---|---|---|
| string (8) | Mandatory | Derivative of X-PARTNER-ID , similar to company code, 8 digit left padding space |
| string (20) | Mandatory | Unique number (up to 20 digits) |
| string (28) | Mandatory | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| string (128) | Conditional | Unique identifier from Inquiry. If not send, will return array of transaction based on virtualAccountNo |
| string (128) | Optional | Customer address |
| string | Optional | Additional info |
API Response
Response Body
The response will be similar to HTTP notification. Some parameters might not be presented in certain status cases, please check our Postman Collection to try it yourself.
Parameter | Type | Mandatory | Description |
---|---|---|---|
| String (7) | Mandatory | Response Code |
| String (150) | Mandatory | Response Description |
| String (200) | Optional | Reason for Payment Status multi language |
| String | Mandatory | Derivative of X-PARTNER-ID , similar to company code, |
| String | Mandatory | Unique number |
| String | Mandatory | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| String | Conditional | Unique identifier from Inquiry |
| String | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened. |
| String | Optional | The virtual account number that used for the transaction |
| Object | Mandatory | Paid Amount with 2 decimal |
v | Object | Mandatory | Transaction Amount. |
| Object | Mandatory | Acquirer Name |
Direct Debit
API Request
Endpoint
Type | Value |
---|---|
HTTP Method | POST |
API endpoint (Sandbox) |
|
API endpoint (Production) |
|
Here is the sample of Check Status request header :
Request Header Explanation
Parameter | Data Type | Mandatory | Description |
---|---|---|---|
X-TIMESTAMP | string | Mandatory | Client's current local time with format :
|
X-SIGNATURE | string | Mandatory | Represents signature of a request. Identify Signature Type used Value:
1. Symmetric Signature with Get Token (Default)
|
X-PARTNER-ID | string | Mandatory | Client ID for merchant that generated by DOKU |
X-EXTERNAL-ID | string | Mandatory | Reference number that should be unique in the same day or to be known as Request ID |
Authorization | string | Mandatory | Represents access_token of a request; Keyword starts with “Bearer ” followed by access_token (e.g. |
Content type | string | Mandatory | The media type of the resource (e.g. application/json) |
Request Body
Here is the sample of request body to get status of Direct Debit :
Parameter | Type | Mandatory | Description |
---|---|---|---|
originalPartnerReferenceNo | string | Optional | Original transaction identifier on service consumer system |
originalReferenceNo | string | Optional | Original transaction identifier on service provider system |
originalExternalId | string | Optional | Original External-ID on header message |
serviceCode | string | Mandatory | API type indicator. Use : 55 for Check Status API |
transactionDate | string | Optional | transaction date : ISO 8601 |
amount | object | Optional | Value and Currency |
merchantId | string | Optional | Merchant identifier that is unique per each merchant |
subMerchantId | string | Optional | Sub merchant ID |
externalStoreId | string | Optional | External Store ID for merchant |
additionalInfo | object | Optional | Additional information |
API Response
Response Body
The response will be similar to HTTP notification. Some parameters might not be presented in certain status cases, please check our Postman Collection to try it yourself.
Parameter | Type | Mandatory | Description |
---|---|---|---|
| String (7) | Mandatory | Response Code |
| String (150) | Mandatory | Response Description |
originalReferenceNo | String (200) | Conditional | Original transaction identifier on service provider system. |
originalPartnerReferenceNo | String | Optional | Original transaction identifier on service consumer system |
approvalCode | String | Optional | Unique number |
originalExternalId | String | Optional | Original External-ID on header message |
serviceCode | String | Mandatory | Transaction type indicator (service code of the original transaction request) |
latestTransactionStatus | String | Mandatory | Unique identifier for this Payment from PJP. Mandatory if Payment happened. 00 = Success 01 = Initiated 02 = Paying 03 = Pending 04 = Refunded 05 = Canceled 06 = Failed 07 = Not Found |
transactionStatusDesc | String | Optional | Description status transaction |
originalResponseCode | String | Optional | Response code |
originalResponseMessage | String | Optional | Response description |
sessionId | String | Optional | Transaction invoice ID |
requestID | String | Optional | Transaction request ID |
refundNo | String | Conditional | Transaction Identifier on Service Provider System |
partnerRefundNo | String | Conditional | ReferenceNumber from PJP AIS for the refund. |
refundAmount | object | Optional | Net amount of the refund |
refundStatus | String | Conditional | 00 = Success 03 = Pending 04 = Failed |
refundDate | String | Conditional | (ISO 8601) Transaction date : dd-MM-yyyy ( Mandatory ) HH:mm:Ss ( Optional ) |
transAmount | object | Optional | Transaction amount that will be paid using this payment method If it's IDR then value includes 2 decimal digits. |
feeAmount | String | Optional | Fee amount that will be paid using this payment method If it's IDR then value includes 2 decimal digits. |
paidTime | String | Conditional | transaction date : ISO 8601 |
additionalInfo | object | Mandatory | Additional information |
Last updated