> For the complete documentation index, see [llms.txt](https://developers.doku.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.doku.com/get-started-with-doku-api/check-status-api/snap.md).

# SNAP

{% hint style="warning" %}
**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.
{% endhint %}

## Virtual Account

### API Request&#x20;

#### Endpoint

<table><thead><tr><th width="248">Type</th><th>Value</th></tr></thead><tbody><tr><td><strong>HTTP Method</strong></td><td>POST</td></tr><tr><td><strong>API endpoint (Sandbox)</strong></td><td><code>https://api-sandbox.doku.com/orders/v1.0/transfer-va/status</code></td></tr><tr><td><strong>API endpoint (Production)</strong></td><td><code>https://api.doku.com/orders/v1.0/transfer-va/status</code></td></tr></tbody></table>

Here is the sample of Check Status request header  :

```json
X-TIMESTAMP: 2020-12-21T14:56:11+07:00
X-SIGNATURE: ieNOENDdN4MnectGytx5UvmOfASZ2oGWMCJ8gVqkw3tB98ofgY9cbxSeY4IYoYeoKs+0QP4h8BTBhemlfeXp1w==
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
Authorization: bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Content type: application/ json
```

#### Request Header Explanation

<table><thead><tr><th>Parameter</th><th width="123">Data Type	</th><th width="116">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><strong>X-TIMESTAMP</strong></td><td>string</td><td>Mandatory</td><td>Client's current local time with format :<br><code>YYYY-MM-DDTHH:mm:ssZD</code></td></tr><tr><td><strong>X-SIGNATURE</strong></td><td>string</td><td>Mandatory</td><td>Represents signature of a request. Identify Signature Type used Value:<br>1. Symmetric Signature with Get Token (Default)<br><code>HMAC_SHA512 (clientSecret, stringToSign)</code> with formula <code>stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp</code><br>Notes :<br>1. The full URL endpoint includes all parameters in the associated URL<br>2. For the <code>minify(Request Body)</code> parameter, if there is no Request Body then an empty string is used.</td></tr><tr><td><strong>X-PARTNER-ID</strong></td><td>string</td><td>Mandatory</td><td>Client ID for merchant that generated by DOKU</td></tr><tr><td><strong>X-EXTERNAL-ID</strong></td><td>string</td><td>Mandatory</td><td>Reference number that should be unique in the same day or to be known as Request ID</td></tr><tr><td><strong>Authorization</strong></td><td>string</td><td>Mandatory</td><td>Represents access_token of a request; Keyword starts with “Bearer ” followed by access_token (e.g. <code>Bearer eyJraWQiOi...Jzc29zIiwiY</code>)</td></tr><tr><td><strong>Content type</strong></td><td>string</td><td>Mandatory</td><td>The media type of the resource (e.g. application/json)</td></tr></tbody></table>

#### Request Body

Here is the sample of request body to get status of VA number:

```json
{
   "partnerServiceId":"  088899",
   "customerNo":12345678901234567890,
   "virtualAccountNo":"  08889912345678901234567890",
   "inquiryRequestId":"abcdef-123456-abcdef",
   "paymentRequestId":"abcdef-123456-abcdef",
   "additionalInfo":{
   
   }
}
```

| Parameter          | Type         | Mandatory   | Description                                                                                                                     |
| ------------------ | ------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `partnerServiceId` | string (8)   | Mandatory   | Derivative of X-PARTNER-ID , similar to company code, 8 digit left padding space                                                |
| `customerNo`       | string (20)  | Mandatory   | Unique number (up to 20 digits)                                                                                                 |
| `virtualAccountNo` | string (28)  | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). partnerServiceId + customerNo or virtualAccountNo |
| `inquiryRequestId` | string (128) | Conditional | Unique identifier from Inquiry. If not send, will return array of transaction based on **virtualAccountNo**                     |
| `paymentRequestId` | string (128) | Optional    | Unique identifier for this Payment from PJP. Mandatory if Payment happened.                                                     |
| `additionalInfo`   | 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.

{% tabs %}
{% tab title="BRI" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "BRI"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="BNI" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "BNI"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="BNC" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "BNC"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="BTN" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "BTN"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="Danamon" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "DANAMON"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="Mandiri" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "MANDIRI"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}

{% tab title="Permata" %}

```json
{
    "responseCode": "2002600",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "paymentFlagReason": {
            "english": "Pending",
            "indonesia": "Belum Terbayar"
        },
        "partnerServiceId": "   12345",
        "customerNo": "70020000342",
        "virtualAccountNo": "   1234570020000342",
        "paidAmount": {
            "value": "200000.00",
            "currency": "IDR"
        },
        "billDetails": [
            {
                "billAmount": {
                    "value": "200000.00",
                    "currency": "IDR"
                }
            }
        ]
    },
    "additionalInfo": {
        "acquirer": {
            "id": "PERMATA"
        },
        "trxId": "Testjess12345"
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="BRI" %}

<table><thead><tr><th>Parameter</th><th width="174">Type</th><th>Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><code>responseCode</code></td><td>String (7)</td><td>Mandatory</td><td>Response Code</td></tr><tr><td><code>responseMessage</code></td><td>String (150)</td><td>Mandatory</td><td>Response Description</td></tr><tr><td><code>virtualAccountData.paymentFlagReason</code></td><td>String (200)</td><td>Optional</td><td>Reason for Payment Status multi language</td></tr><tr><td><code>virtualAccountData.partnerServiceId</code></td><td>String</td><td>Mandatory</td><td>Derivative of X-PARTNER-ID , similar to company code,</td></tr><tr><td><code>virtualAccountData.customerNo</code></td><td>String</td><td>Mandatory</td><td>Unique number</td></tr><tr><td><code>virtualAccountData.virtualAccountNo</code></td><td>String</td><td>Mandatory</td><td>partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits)</td></tr><tr><td><code>virtualAccountData.inquiryRequestId</code></td><td>String</td><td>Conditional</td><td>Unique identifier from Inquiry</td></tr><tr><td><code>virtualAccountData.paymentRequestId</code></td><td>String</td><td>Conditional</td><td>Unique identifier for this Payment from PJP. Mandatory if Payment happened.</td></tr><tr><td><code>virtualAccountData.paidAmount</code></td><td>Object</td><td>Mandatory</td><td>Paid Amount with 2 decimal</td></tr><tr><td><code>virtualAccountData.paidAmount.billDetails</code></td><td>Object</td><td>Mandatory</td><td>Transaction Amount.</td></tr><tr><td><code>additionalInfo</code></td><td>Object</td><td>Mandatory</td><td>Additional Info</td></tr></tbody></table>
{% endtab %}

{% tab title="BNI" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |

{% tab title="BNC" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |

{% tab title="BTN" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |

{% tab title="Danamon" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |

{% tab title="Mandiri" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |

{% tab title="Permata" %}

| Parameter                                   | Type         | Mandatory   | Description                                                                  |
| ------------------------------------------- | ------------ | ----------- | ---------------------------------------------------------------------------- |
| `responseCode`                              | String (7)   | Mandatory   | Response Code                                                                |
| `responseMessage`                           | String (150) | Mandatory   | Response Description                                                         |
| `virtualAccountData.paymentFlagReason`      | String (200) | Optional    | Reason for Payment Status multi language                                     |
| `virtualAccountData.partnerServiceId`       | String       | Mandatory   | Derivative of X-PARTNER-ID , similar to company code,                        |
| `virtualAccountData.customerNo`             | String       | Mandatory   | Unique number                                                                |
| `virtualAccountData.virtualAccountNo`       | String       | Mandatory   | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
| `virtualAccountData.inquiryRequestId`       | String       | Conditional | Unique identifier from Inquiry                                               |
| `virtualAccountData.paymentRequestId`       | String       | Conditional | Unique identifier for this Payment from PJP. Mandatory if Payment happened.  |
| `virtualAccountData.paidAmount`             | Object       | Mandatory   | Paid Amount with 2 decimal                                                   |
| `virtualAccountData.paidAmount.billDetails` | Object       | Mandatory   | Transaction Amount.                                                          |
| `additionalInfo`                            | Object       | Mandatory   | Additional Info                                                              |
| {% endtab %}                                |              |             |                                                                              |
| {% endtabs %}                               |              |             |                                                                              |

## Direct Debit

### API Request&#x20;

#### Endpoint

<table><thead><tr><th width="248">Type</th><th>Value</th></tr></thead><tbody><tr><td><strong>HTTP Method</strong></td><td>POST</td></tr><tr><td><strong>API endpoint (Sandbox)</strong></td><td><code>https://api-sandbox.doku.com/orders/v1.0/debit/status</code></td></tr><tr><td><strong>API endpoint (Production)</strong></td><td><code>https://api.doku.com/orders/v1.0/debit/status</code></td></tr></tbody></table>

Here is the sample of Check Status request header  :

```json
X-TIMESTAMP: 2020-12-21T14:56:11+07:00
X-SIGNATURE: ieNOENDdN4MnectGytx5UvmOfASZ2oGWMCJ8gVqkw3tB98ofgY9cbxSeY4IYoYeoKs+0QP4h8BTBhemlfeXp1w==
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
Authorization: bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Content type: application/ json
```

#### Request Header Explanation

<table><thead><tr><th>Parameter</th><th width="123">Data Type	</th><th width="116">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><strong>X-TIMESTAMP</strong></td><td>string</td><td>Mandatory</td><td>Client's current local time with format :<br><code>YYYY-MM-DDTHH:mm:ssZD</code></td></tr><tr><td><strong>X-SIGNATURE</strong></td><td>string</td><td>Mandatory</td><td>Represents signature of a request. Identify Signature Type used Value:<br>1. Symmetric Signature with Get Token (Default)<br><code>HMAC_SHA512 (clientSecret, stringToSign)</code> with formula <code>stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp</code><br>Notes :<br>1. The full URL endpoint includes all parameters in the associated URL<br>2. For the <code>minify(Request Body)</code> parameter, if there is no Request Body then an empty string is used.</td></tr><tr><td><strong>X-PARTNER-ID</strong></td><td>string</td><td>Mandatory</td><td>Client ID for merchant that generated by DOKU</td></tr><tr><td><strong>X-EXTERNAL-ID</strong></td><td>string</td><td>Mandatory</td><td>Reference number that should be unique in the same day or to be known as Request ID</td></tr><tr><td><strong>Authorization</strong></td><td>string</td><td>Mandatory</td><td>Represents access_token of a request; Keyword starts with “Bearer ” followed by access_token (e.g. <code>Bearer eyJraWQiOi...Jzc29zIiwiY</code>)</td></tr><tr><td><strong>Content type</strong></td><td>string</td><td>Mandatory</td><td>The media type of the resource (e.g. application/json)</td></tr></tbody></table>

#### Request Body

Here is the sample of request body to get status of Direct Debit :&#x20;

```json
{
   "originalPartnerReferenceNo":"2020102900000000000001",
   "originalReferenceNo":"2020102977770000000009",
   "originalExternalId":"30443786930722726463280097920912",
   "serviceCode":"55",
   "transactionDate":"2020-12-21T14:56:11+07:00",
   "amount":{
      "value":"12345678.00",
      "currency":"IDR"
   },
   "merchantId":"23489182303312",
   "subMerchantId":"23489182303312",
   "externalStoreId":"183908924912387",
   "additionalInfo":{
      "deviceId":"12345679237",
      "channel":"mobilephone"
   }
}
```

| 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.

{% tabs %}
{% tab title="BRI" %}

```json
{
   "responseCode":"2005500",
   "responseMessage":"Request has been processed successfully",
   "originalPartnerReferenceNo":"2020102900000000000001",
   "originalReferenceNo":"2020102977770000000009",
   "approvalCode":"201039000200",
   "originalExternalId":"30443786930722726463280097920912",
   "serviceCode":"55",
   "latestTransactionStatus":"00",
   "transactionStatusDesc":"success",
   "originalResponseCode":"2005500",
   "originalResponseMessage":"Request has been processed successfully",
   "sessionId":"883737GHY8839",
   "requestID":"3763773",
   "refundHistory":[
      {
         "refundNo":"96194816941239812",
         "partnerReferenceNo":"239850918204981205970",
         "refundAmount":{
            "value":"12345678.00",
            "currency":"IDR"
         },
         "refundStatus":"00",
         "refundDate":"2020-12-23T07:44:16+07:00",
         "reason":"Customer Complain"
      },
      {
         "refundNo":"96194123981251341",
         "partnerReferenceNo":"2398509123131981205970",
         "refundAmount":{
            "value":"112345678.00",
            "currency":"IDR"
         },
         "refundStatus":"00",
         "refundDate":"2020-12-23T07:54:16+07:00",
         "reason":"Customer Complain"
      }
   ],
   "transAmount":{
      "value":"112345678.00",
      "currency":"IDR"
   },
   "feeAmount":{
      "value":"112345678.00",
      "currency":"IDR"
   },
   "paidTime":"2020-12-21T14:56:11+07:00",
   "additionalInfo":{
      "deviceId":"12345679237",
      "channel":"mobilephone"
   }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="BRI" %}

| Parameter                  | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| -------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`             | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`          | 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   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| 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 | <p>00 = Success<br>03 = Pending<br>04 = Failed</p>                                                                                                                                                                          |
| refundDate                 | String       | Conditional | <p>(ISO 8601) <br>Transaction date : dd-MM-yyyy ( Mandatory )<br><br>HH:mm:Ss ( Optional )</p>                                                                                                                              |
| reason                     | String       | Optional    | Refund reason.                                                                                                                                                                                                              |
| 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                                                                                                                                                                                                      |
| {% endtab %}               |              |             |                                                                                                                                                                                                                             |
| {% endtabs %}              |              |             |                                                                                                                                                                                                                             |

## E-Wallet

### API Request&#x20;

#### Endpoint

<table><thead><tr><th width="248">Type</th><th>Value</th></tr></thead><tbody><tr><td><strong>HTTP Method</strong></td><td>POST</td></tr><tr><td><strong>API endpoint (Sandbox)</strong></td><td><code>https://api-sandbox.doku.com/orders/v1.0/debit/status</code></td></tr><tr><td><strong>API endpoint (Production)</strong></td><td><code>https://api.doku.com/orders/v1.0/debit/status</code></td></tr></tbody></table>

Here is the sample of Check Status request header  :

```json
X-TIMESTAMP: 2020-12-21T14:56:11+07:00
X-SIGNATURE: ieNOENDdN4MnectGytx5UvmOfASZ2oGWMCJ8gVqkw3tB98ofgY9cbxSeY4IYoYeoKs+0QP4h8BTBhemlfeXp1w==
X-PARTNER-ID: 82150823919040624621823174737537
X-EXTERNAL-ID: 41807553358950093184162180797837
Authorization: bearer gp9HjjEj813Y9JGoqwOeOPWbnt4CUpvIJbU1mMU4a11MNDZ7Sg5u9a"
Content type: application/ json
```

#### Request Header Explanation

<table><thead><tr><th>Parameter</th><th width="123">Data Type	</th><th width="116">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><strong>X-TIMESTAMP</strong></td><td>string</td><td>Mandatory</td><td>Client's current local time with format :<br><code>YYYY-MM-DDTHH:mm:ssZD</code></td></tr><tr><td><strong>X-SIGNATURE</strong></td><td>string</td><td>Mandatory</td><td>Represents signature of a request. Identify Signature Type used Value:<br>1. Symmetric Signature with Get Token (Default)<br><code>HMAC_SHA512 (clientSecret, stringToSign)</code> with formula <code>stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp</code><br>Notes :<br>1. The full URL endpoint includes all parameters in the associated URL<br>2. For the <code>minify(Request Body)</code> parameter, if there is no Request Body then an empty string is used.</td></tr><tr><td><strong>X-PARTNER-ID</strong></td><td>string</td><td>Mandatory</td><td>Client ID for merchant that generated by DOKU</td></tr><tr><td><strong>X-EXTERNAL-ID</strong></td><td>string</td><td>Mandatory</td><td>Reference number that should be unique in the same day or to be known as Request ID</td></tr><tr><td><strong>Authorization</strong></td><td>string</td><td>Mandatory</td><td>Represents access_token of a request; Keyword starts with “Bearer ” followed by access_token (e.g. <code>Bearer eyJraWQiOi...Jzc29zIiwiY</code>)</td></tr><tr><td><strong>Content type</strong></td><td>string</td><td>Mandatory</td><td>The media type of the resource (e.g. application/json)</td></tr></tbody></table>

#### Request Body

Here is the sample of request body to get status of E-Wallet :&#x20;

```json
{
   "originalPartnerReferenceNo":"INV_SHOPEE_202407250004",
   "serviceCode":"55",
   "transactionDate":"2020-12-21T14:56:11+07:00",
   "amount":{
      "value":"2000.00",
      "currency":"IDR"
   },
   "merchantId":"23489182303312",
   "subMerchantId":"23489182303312",
   "externalStoreId":"183908924912387",
   "additionalInfo":{
      "deviceId":"12345679237",
      "channel":"mobilephone"
   }
}
```

| 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

* **OVO Open API Sale**
* **OVO Open API Recurring**
* **ShopeePay**
* **DANA**

#### 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.

#### **OVO Open API Sale**

{% tabs %}
{% tab title="Pending" %}

<pre class="language-json"><code class="lang-json"><strong>{
</strong>   "responseCode":"2005500",
   "responseMessage":"Successful",
   "originalPartnerReferenceNo":"2020102900000000000001",
   "originalReferenceNo":"2020102977770000000009",
   "originalExternalId":"30443786930722726463280097920912",
   "serviceCode":"55",
   "latestTransactionStatus":"03",
   "transactionStatusDesc":"PENDING",
   "originalResponseCode":"2005503",
   "originalResponseMessage":"Request has been processed successfully",
   "paidTime":"2020-12-21T14:56:11+07:00",
   "transAmount":{
      "value":"112345678.00",
      "currency":"IDR"
   },
   "additionalInfo":{
      "acquirer": {
         "id" : "OVO SNAP Direct Debit"
      }
   }
}
</code></pre>

{% endtab %}

{% tab title="Success Payment" %}

```json
{
   "responseCode":"2005500",
   "responseMessage":"Successful",
   "originalPartnerReferenceNo":"2020102900000000000001",
   "originalReferenceNo":"2020102977770000000009",
   "originalExternalId":"30443786930722726463280097920912",
   "serviceCode":"55",
   "latestTransactionStatus":"00",
   "transactionStatusDesc":"SUCCESS",
   "originalResponseCode":"2005503",
   "originalResponseMessage":"Request has been processed successfully",
   "paidTime":"2020-12-21T14:56:11+07:00",
   "transAmount":{
      "value":"112345678.00",
      "currency":"IDR"
   },
   "additionalInfo":{
      "acquirer": {
         "id" : "OVO SNAP Direct Debit"
      }
   }
}
```

{% endtab %}

{% tab title="Refund" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20260701002",
    "originalReferenceNo": "C3fl1d4sNn",
    "originalExternalId": "693036698",
    "serviceCode": "55",
    "latestTransactionStatus": "04",
    "transactionStatusDesc": "REFUNDED",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2025-07-01T11:40:54+07:00",
    "transAmount": {
        "value": "500000.00",
        "currency": "IDR"
    },
    "refundHistory": [
        {
            "refundNo": "REFUND_NO_SdvDY8",
            "partnerReferenceNo": "INV_SHOPEE_20260701002",
            "refundAmount": {
                "value": "10000.00",
                "currency": "IDR"
            },
            "refundStatus": "00",
            "refundDate": "2025-07-01T11:50:53+07:00",
            "partnerRefundNo": "RFN_SHOPEE_20260701002_1"
        }
    ],
    "additionalInfo": {
        "acquirer": {
            "id": "OVO SNAP Direct Debit"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Pending" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Success Payment" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Refund" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `refundNo`                   | String       | Conditional | Transaction Identifier on Service Provider System                                                                                                                                                                           |
| `partnerReferenceNo`         | String       | Conditional | ReferenceNumber from PJP AIS for the refund.                                                                                                                                                                                |
| `refundAmount`               | object       | Optional    | Net amount of the refund                                                                                                                                                                                                    |
| `refundStatus`               | String       | Conditional | 00 = Success                                                                                                                                                                                                                |
| `refundDate`                 | String       | Conditional | <p>(ISO 8601) <br>Transaction date : dd-MM-yyyy ( Mandatory )<br><br>HH:mm:Ss ( Optional )</p>                                                                                                                              |
| `reason`                     | String       | Optional    | Refund reason.                                                                                                                                                                                                              |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |
| {% endtabs %}                |              |             |                                                                                                                                                                                                                             |

#### **OVO Open API Recurring**

{% tabs %}
{% tab title="Success Payment" %}

```json
{
   "responseCode":"2005500",
   "responseMessage":"Successful",
   "originalPartnerReferenceNo":"2020102900000000000001",
   "originalReferenceNo":"2020102977770000000009",
   "originalExternalId":"30443786930722726463280097920912",
   "serviceCode":"55",
   "latestTransactionStatus":"00",
   "transactionStatusDesc":"SUCCESS",
   "originalResponseCode":"2005500",
   "originalResponseMessage":"Request has been processed successfully",
   "paidTime":"2020-12-21T14:56:11+07:00",
   "transAmount":{
      "value":"112345678.00",
      "currency":"IDR"
   },
   "additionalInfo":{
      "acquirer": {
         "id" : "OVO SNAP Direct Debit"
      }
   }
}
```

{% endtab %}

{% tab title="Refund" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20260701002",
    "originalReferenceNo": "C3fl1d4sNn",
    "originalExternalId": "693036698",
    "serviceCode": "55",
    "latestTransactionStatus": "04",
    "transactionStatusDesc": "REFUNDED",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2025-07-01T11:40:54+07:00",
    "transAmount": {
        "value": "500000.00",
        "currency": "IDR"
    },
    "refundHistory": [
        {
            "refundNo": "REFUND_NO_SdvDY8",
            "partnerReferenceNo": "INV_SHOPEE_20260701002",
            "refundAmount": {
                "value": "10000.00",
                "currency": "IDR"
            },
            "refundStatus": "00",
            "refundDate": "2025-07-01T11:50:53+07:00",
            "partnerRefundNo": "RFN_SHOPEE_20260701002_1"
        }
    ],
    "additionalInfo": {
        "acquirer": {
            "id": "OVO SNAP Direct Debit"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Success Payment" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Refund" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `refundNo`                   | String       | Conditional | Transaction Identifier on Service Provider System                                                                                                                                                                           |
| `partnerReferenceNo`         | String       | Conditional | ReferenceNumber from PJP AIS for the refund.                                                                                                                                                                                |
| `refundAmount`               | object       | Optional    | Net amount of the refund                                                                                                                                                                                                    |
| `refundStatus`               | String       | Conditional | 00 = Success                                                                                                                                                                                                                |
| `refundDate`                 | String       | Conditional | <p>(ISO 8601) <br>Transaction date : dd-MM-yyyy ( Mandatory )<br><br>HH:mm:Ss ( Optional )</p>                                                                                                                              |
| `reason`                     | String       | Optional    | Refund reason.                                                                                                                                                                                                              |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |
| {% endtabs %}                |              |             |                                                                                                                                                                                                                             |

#### **ShopeePay**

{% tabs %}
{% tab title="Pending" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20231130115650",
    "originalExternalId": "UAT_20231130115650143",
    "serviceCode": "54",
    "latestTransactionStatus": "03",
    "transactionStatusDesc": "PENDING",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2023-11-30 11:56:50",
    "transAmount": {
        "value": "100000.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "acquirer": {
            "id": "SHOPEE_PAY"
        }
    }
}
```

{% endtab %}

{% tab title="Success" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20231130115650",
    "originalReferenceNo": "h0v9Z34vyX",
    "originalExternalId": "UAT_20231130115650143",
    "serviceCode": "54",
    "latestTransactionStatus": "00",
    "transactionStatusDesc": "SUCCESS",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2023-11-30 11:59:31",
    "transAmount": {
        "value": "100000.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "acquirer": {
            "id": "SHOPEE_PAY"
        }
    }
}
```

{% endtab %}

{% tab title="Refund" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20260701002",
    "originalReferenceNo": "C3fl1d4sNn",
    "originalExternalId": "693036698",
    "serviceCode": "55",
    "latestTransactionStatus": "04",
    "transactionStatusDesc": "REFUNDED",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2025-07-01T11:40:54+07:00",
    "transAmount": {
        "value": "500000.00",
        "currency": "IDR"
    },
    "refundHistory": [
        {
            "refundNo": "REFUND_NO_SdvDY8",
            "partnerReferenceNo": "INV_SHOPEE_20260701002",
            "refundAmount": {
                "value": "10000.00",
                "currency": "IDR"
            },
            "refundStatus": "00",
            "refundDate": "2025-07-01T11:50:53+07:00",
            "partnerRefundNo": "RFN_SHOPEE_20260701002_1"
        }
    ],
    "additionalInfo": {
        "acquirer": {
            "id": "SHOPEE_PAY"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Pending" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Success" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Refund" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |
| {% endtabs %}                |              |             |                                                                                                                                                                                                                             |

#### **DANA**

{% tabs %}
{% tab title="Pending" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV20240711007",
    "originalReferenceNo": "rarPxBRuvdByoOnbmUrQqtVyz6UdgUgik2M0yyR98l10EeadmVnnq62pVMPCMR8W",
    "originalExternalId": "307350227",
    "serviceCode": "55",
    "latestTransactionStatus": "03",
    "transactionStatusDesc": "PENDING",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2024-07-11T14:23:55+07:00",
    "transAmount": {
        "value": "1.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "acquirer": {
            "id": "DANA Snap Direct Debit"
        }
    }
}
```

{% endtab %}

{% tab title="Success" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV20240723006",
    "originalReferenceNo": "20240723111212800110166234101713965",
    "originalExternalId": "209469647",
    "serviceCode": "55",
    "latestTransactionStatus": "00",
    "transactionStatusDesc": "SUCCESS",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2024-07-23T16:55:29+07:00",
    "transAmount": {
        "value": "1.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "acquirer": {
            "id": "DANA Snap Direct Debit"
        }
    }
}
```

{% endtab %}

{% tab title="Refund" %}

```json
{
    "responseCode": "2005500",
    "responseMessage": "Successful",
    "originalPartnerReferenceNo": "INV_SHOPEE_20260701002",
    "originalReferenceNo": "C3fl1d4sNn",
    "originalExternalId": "693036698",
    "serviceCode": "55",
    "latestTransactionStatus": "04",
    "transactionStatusDesc": "REFUNDED",
    "originalResponseCode": "2005400",
    "originalResponseMessage": "Successful",
    "paidTime": "2025-07-01T11:40:54+07:00",
    "transAmount": {
        "value": "500000.00",
        "currency": "IDR"
    },
    "refundHistory": [
        {
            "refundNo": "REFUND_NO_SdvDY8",
            "partnerReferenceNo": "INV_SHOPEE_20260701002",
            "refundAmount": {
                "value": "10000.00",
                "currency": "IDR"
            },
            "refundStatus": "00",
            "refundDate": "2025-07-01T11:50:53+07:00",
            "partnerRefundNo": "RFN_SHOPEE_20260701002_1"
        }
    ],
    "additionalInfo": {
        "acquirer": {
            "id": "DANA Snap Direct Debit"
        }
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Pending" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |

{% tab title="Success" %}

| Parameter                          | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`                     | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`                  | 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                                                                                                                                                                  |
| `originalExternalId`               | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                      | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`          | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`            | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`             | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`          | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                      | object       | Optional    | Transaction amount that will be paid using this payment method If it's IDR then value includes 2 decimal digits.                                                                                                            |
| `refundHistory.refundNo`           | string       | Optional    | Transaction Identifier on Service Provider System                                                                                                                                                                           |
| `refundHistory.partnerReferenceNo` | string       | Mandatory   | Transaction Identifier No                                                                                                                                                                                                   |
| `refundAmount`                     | object       | Mandatory   | Refund Amount                                                                                                                                                                                                               |
| `refundStatus`                     | string       | Mandatory   | Refund Status                                                                                                                                                                                                               |
| `refundDate`                       | string       | Optional    | Refund Date                                                                                                                                                                                                                 |
| `paidTime`                         | String       | Conditional | transaction date : ISO 8601                                                                                                                                                                                                 |
| `additionalInfo`                   | object       | Mandatory   | Additional information                                                                                                                                                                                                      |
| {% endtab %}                       |              |             |                                                                                                                                                                                                                             |

{% tab title="Refund" %}

| Parameter                    | Type         | Mandatory   | Description                                                                                                                                                                                                                 |
| ---------------------------- | ------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `responseCode`               | String (7)   | Mandatory   | Response Code                                                                                                                                                                                                               |
| `responseMessage`            | 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                                                                                                                                                                  |
| `originalExternalId`         | String       | Optional    | Original External-ID on header message                                                                                                                                                                                      |
| `serviceCode`                | String       | Mandatory   | Transaction type indicator 55                                                                                                                                                                                               |
| `latestTransactionStatus`    | String       | Mandatory   | <p>Unique identifier for this Payment from PJP. Mandatory if Payment happened. <br><br>00 = Success<br>01 = Initiated<br>02 = Paying<br>03 = Pending<br>04 = Refunded<br>05 = Canceled<br>06 = Failed<br>07 = Not Found</p> |
| `transactionStatusDesc`      | String       | Optional    | Description status transaction                                                                                                                                                                                              |
| `originalResponseCode`       | String       | Optional    | Response code                                                                                                                                                                                                               |
| `originalResponseMessage`    | String       | Optional    | Response description                                                                                                                                                                                                        |
| `transAmount`                | object       | Optional    | Transaction 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                                                                                                                                                                                                      |
| {% endtab %}                 |              |             |                                                                                                                                                                                                                             |
| {% endtabs %}                |              |             |                                                                                                                                                                                                                             |
