# Non-SNAP

To get the status of a transaction, you can send a request to DOKU Check Status API. It will response with the transaction status. This method requires the transaction `order.invoice_number` (or `Request-Id`) as the identifier.

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

### Transaction Status Mapping[​](https://dashboard.doku.com/docs/docs/technical-references/status-mapping#transaction-status-mapping) <a href="#api-request" id="api-request"></a>

Here is the list of status that DOKU will provide for the `transaction.status`:

| Name       | Description                                       | Final Status | Merchant Action                                                         | Applicable for Channels                                                              |
| ---------- | ------------------------------------------------- | ------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `PENDING`  | Transaction is waiting to be paid by the customer | NO           | Wait for HTTP Notification or Call Check Status API to get final status | `VIRTUAL_ACCOUNT`, `ONLINE_TO_OFFLINE`, `CREDIT_CARD_AUTHORIZE`, `PAYLATER, EWALLET` |
| `SUCCESS`  | Transaction is paid by the customer               | YES          | -                                                                       | All Channels                                                                         |
| `FAILED`   | Transaction is failed to be paid                  | NO           | Generate new payment request to DOKU                                    | `VIRTUAL_ACCOUNT`,`CREDIT_CARD`, `DIRECT_DEBIT`, `E_MONEY`, `PAYLATER`               |
| `EXPIRED`  | Transaction due date is exceeded                  | YES          | Generate new payment request to DOKU                                    | `VIRTUAL_ACCOUNT`, `ONLINE_TO_OFFLINE` , `PAYLATER`                                  |
| `REFUNDED` | Transaction fund is refunded to merchant          | YES          | -                                                                       | `CREDIT CARD`, `EMONEY`, `PAYLATER`                                                  |
| `TIMEOUT`  | Transaction is timeout                            | NO           | Call Check Status API to get final status                               | `E_MONEY`                                                                            |
| `REDIRECT` | Transaction is waiting for acquirer verification  | NO           | Wait for HTTP Notification or Call Check Status API to get final status | `CREDIT_CARD`                                                                        |

### API Request <a href="#api-request" id="api-request"></a>

| Type                          | Value                                                                                  |
| ----------------------------- | -------------------------------------------------------------------------------------- |
| **HTTP Method**               | GET                                                                                    |
| **API endpoint (Sandbox)**    | `https://api-sandbox.doku.com/orders/v1/status/{{order.invoice_number OR Request-Id}}` |
| **API endpoint (Production)** | `https://api.doku.com/orders/v1/status/{{order.invoice_number OR Request-Id}}`         |

Here is the sample of notification request header:

```
Client-Id: MCH-0001-10791114622547
Request-Id: e71fe02a-bfef-4af9-a6f6-2cf1f03b00e7
Request-Timestamp: 2020-11-18T08:45:42Z
Signature: HMACSHA256=vl9DBTX5KhEiXmnpOD0TSm8PYQknuHPdyHSTSc3W6Ps=
```

#### Request Header Explanation

<table><thead><tr><th width="199">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><strong><code>client-id</code></strong></td><td>Client ID retrieved from DOKU Back Office</td></tr><tr><td><strong><code>request-id</code></strong></td><td>Unique random string (max 128 characters) generated from merchant side to protect duplicate request</td></tr><tr><td><strong><code>request-timestamp</code></strong></td><td>Timestamp request on UTC time in ISO8601 UTC+0 format. It means to proceed transaction on UTC+7 (WIB), merchant need to subtract time with 7. Ex: to proceed transaction on September 22th 2020 at 08:51:00 WIB, the timestamp should be 2020-09-22T01:51:00Z</td></tr><tr><td><strong><code>signature</code></strong></td><td>Security parameter that needs to be generated on merchant Backend and placed to the header request to ensure that the request is coming from valid merchant. Please refer to <a href="https://dashboard.doku.com/docs/docs/technical-references/generate-signature">this section</a> to generate the signature</td></tr></tbody></table>

**Signature Generation for GET Method**

For GET Method, you don't need to generate a Digest. Learn more on this section.

### API Response <a href="#api-response" id="api-response"></a>

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

### Virtual Account

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

* BCA VA
* Mandiri VA
* BSI VA
* DOKU VA
* BRI VA
* CIMB VA
* Permata VA
* BNI VA

{% tabs %}
{% tab title="BCA VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BCA"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BCA"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T03:24:23Z",
        "original_request_id": "15022aab-444f-4b04-afa8-ddfce89432ec"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1900600000000046"
    },
    "virtual_account_payment": {
        "identifer": [
            {
                "name": "REQUEST_ID",
                "value": "7892931"
            },
            {
                "name": "REFERENCE",
                "value": "6769200"
            },
            {
                "name": "CHANNEL_TYPE",
                "value": "6010"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Mandiri VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_MANDIRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T07:24:50Z",
        "original_request_id": "cc682442-6c22-493e-8121-b9ef6b3fa728"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "8889940000000213"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSACTION_ID",
                "value": "8341422"
            },
            {
                "name": "CHANNEL_ID",
                "value": "001"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="BSI VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_SYARIAH_MANDIRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_SYARIAH_MANDIRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-27T06:00:20Z",
        "original_request_id": "d24a5644-6078-4249-8740-4a6dcd92df5a"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "6059000000000205"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "PAY_TERMINAL_ID",
                "value": ""
            },
            {
                "name": "BANK_REFERENCE",
                "value": "1232990188"
            },
            {
                "name": "PAY_CHANNEL",
                "value": "6019"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="DOKU VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "DOKU"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_DOKU"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-01-22T07:06:28Z",
        "original_request_id": "09e0defe-a071-45b3-9feb-ac134374628c"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "8000100000000323"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRACE_NUMBER",
                "value": "19832"
            },
            {
                "name": "TRANSACTION_NUMBER",
                "value": "d094700e379f0fb3b543e25c77f8e4b3e068f057"
            },
            {
                "name": "HOST_REFERENCE_NUMBER",
                "value": ""
            }
        ]
    }
}
```

{% endtab %}

{% tab title="BRI VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BRI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BRI"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="CIMB VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "CIMB"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_CIMB"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Permata VA" %}

```json
{
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BANK_PERMATA"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BANK_PERMATA"
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2020-08-11T09:06:18Z",
        "original_request_id": "e5a8a8b8-7eab-4be3-91d8-5e2d7ab7cc25"
    },
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "virtual_account_info": {
        "virtual_account_number": "1236260000000004"
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRANSAKSI_ID",
                "value": "127503812"
            },
            {
                "name": "TERMINAL_ID",
                "value": "1"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="BNI VA" %}

```json
{
    "order": {
        "invoice_number": "INV-1649674900",
        "amount": 20000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2022-04-11T11:30:01Z",
        "original_request_id": "f1f95a6e-f2bf-4714-89c1-4f67a059c1f1"
    },
    "service": {
        "id": "VIRTUAL_ACCOUNT"
    },
    "acquirer": {
        "id": "BNI"
    },
    "channel": {
        "id": "VIRTUAL_ACCOUNT_BNI"
    },
    "virtual_account_info": {
        "virtual_account_number": "8803300000000388",
        "created_date": "20220411183001",
        "expired_date": "20220411190140",
        "reusable_status": false
    },
    "virtual_account_payment": {
        "identifier": [
            {
                "name": "TRX_ID",
                "value": "02871649035257909UNIQUE_00002"
            },
            {
                "name": "PAYMENT_NTB",
                "value": "577437"
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="VA Notification Explanation" %}

<table><thead><tr><th width="204.24609375">Parameter</th><th>Type</th><th>Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><code>service.id</code></td><td>string</td><td>Mandatory</td><td>The service that is used for the transaction</td></tr><tr><td><code>acquirer.id</code></td><td>string</td><td>Mandatory</td><td>The acquirer that processed the transaction</td></tr><tr><td><code>channel.id</code></td><td>string</td><td>Mandatory</td><td>The channel of the transaction</td></tr><tr><td><code>transaction.status</code></td><td>string</td><td>Mandatory</td><td>The transaction status to be use to update the status on merchant side<br>Possible value: <code>PENDING</code>, <code>SUCCESS</code>, <code>EXPIRED</code>, <code>FAILED</code></td></tr><tr><td><code>transaction.date</code></td><td>string</td><td>Optional</td><td>The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)</td></tr><tr><td><code>transaction.original_request_id</code></td><td>string</td><td>Mandatory</td><td>The request ID that sent when initiate the payment</td></tr><tr><td><code>order.invoice_number</code></td><td>string</td><td>Mandatory</td><td>The invoice number that sent when initate the payment</td></tr><tr><td><code>order.amount</code></td><td>string</td><td>Mandatory</td><td>The amount of the transaction</td></tr><tr><td><code>virtual_account_info.</code><br><code>virtual_account_number</code></td><td>string</td><td>Optional</td><td>The virtual account number that used for the transaction</td></tr><tr><td><code>virtual_account_info.</code><br><code>created_date</code></td><td>string</td><td>Optional</td><td>Date time of VA generated with the format of <code>yyyyMMddHHmmss</code>.</td></tr><tr><td><code>virtual_account_info.</code><br><code>expired_date</code></td><td>string</td><td>Optional</td><td>Date time of VA generated with the format of <code>yyyyMMddHHmmss</code>.</td></tr><tr><td><code>virtual_account_info.</code><br><code>reusable_status</code></td><td>string</td><td>Optional</td><td>Reusable status when initiate the payment</td></tr><tr><td><code>virtual_account_payment.identifier</code></td><td>array</td><td>Optional</td><td>List of transaction identifier that coming from the acquiring. Merchant can save these data for reference</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

### Convenience store

* Alfa
* Indomaret

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="Alfa" %}

```json
{
    "order": {
        "invoice_number": "INV-67220100000",
        "amount": 120000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-12-29T02:37:35Z",
        "original_request_id": "INV-67220100000"
    },
    "service": {
        "id": "ONLINE_TO_OFFLINE"
    },
    "acquirer": {
        "id": "ALFA"
    },
    "channel": {
        "id": "ONLINE_TO_OFFLINE_ALFA"
    },
    "online_to_offline_info": {
        "created_date": "20211229093735",
        "expired_date": "20211229100732",
        "reusable_status": "false"
    },
    "online_to_offline_payment": {
        "identifier": [
            {
                "name": "AGENT_ID",
                "value": "ALFAMART"
            },
            {
                "name": "AGENT_STORE_ID",
                "value": "store"
            },
            {
                "name": "AGENT_TRX_ID",
                "value": "505045001763766906"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Indomaret" %}

```json
{
    "order": {
        "invoice_number": "INV-1640746942",
        "amount": 150000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-12-28T20:03:37Z",
        "original_request_id": "91c65738-4148-4862-8147-009728097e17"
    },
    "service": {
        "id": "ONLINE_TO_OFFLINE"
    },
    "acquirer": {
        "id": "INDOMARET"
    },
    "channel": {
        "id": "ONLINE_TO_OFFLINE_INDOMARET"
    },
    "online_to_offline_info": {
        "created_date": "20211229030337",
        "expired_date": "20211229040224",
        "reusable_status": false
    },
    "online_to_offline_payment": {
        "identifier": [
            {
                "name": "AGENT_ID",
                "value": "s0337180"
            },
            {
                "name": "MESSAGE_ID",
                "value": "messageId0337180"
            },
            {
                "name": "TRACKING_REF",
                "value": "tracking0337180"
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Alfa" %}
Alfa O2O Notification Explanation

| Parameter                                | Type     | Mandatory | Description                                                                                                                                                      |
| ---------------------------------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                   | `string` | Mandatory | The invoice number that sent when initate the payment                                                                                                            |
| `order.amount`                           | `string` | Mandatory | The amount of the transaction                                                                                                                                    |
| `transaction.status`                     | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS</code>, <code>FAILED</code>, <code>TIMEOUT</code></p> |
| `transaction.date`                       | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                          |
| `transaction.original_request_id`        | `string` | Mandatory | The request ID that sent when initiate the payment                                                                                                               |
| `service.id`                             | `string` | Mandatory | The service that is used for the transaction                                                                                                                     |
| `acquirer.id`                            | `string` | Mandatory | The acquirer that processed the transaction                                                                                                                      |
| `channel.id`                             | `string` | Mandatory | The channel of the transaction                                                                                                                                   |
| `jdm.journey_id`                         | `string` | Mandatory | Journey id for transaction                                                                                                                                       |
| `online_to_offline_info.created_date`    | `string` | Mandatory | Created date for Transaction                                                                                                                                     |
| `online_to_offline_info.expired_date`    | `string` | Mandatory | Expired date for Transaction                                                                                                                                     |
| `online_to_offline_info.reusable_status` | `string` | Mandatory | Reusable status for Payment Code                                                                                                                                 |
| `online_to_offline_payment.identifier`   | `array`  | Mandatory | Identifier for Transaction                                                                                                                                       |
| {% endtab %}                             |          |           |                                                                                                                                                                  |

{% tab title="Indomaret" %}
Indomaret O2O Notification Explanation

| Parameter                                | Type     | Mandatory | Description                                                                                                                                                      |
| ---------------------------------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                   | `string` | Mandatory | The invoice number that sent when initate the payment                                                                                                            |
| `order.amount`                           | `string` | Mandatory | The amount of the transaction                                                                                                                                    |
| `transaction.status`                     | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS</code>, <code>FAILED</code>, <code>TIMEOUT</code></p> |
| `transaction.date`                       | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                          |
| `transaction.original_request_id`        | `string` | Mandatory | The request ID that sent when initiate the payment                                                                                                               |
| `service.id`                             | `string` | Mandatory | The service that is used for the transaction                                                                                                                     |
| `acquirer.id`                            | `string` | Mandatory | The acquirer that processed the transaction                                                                                                                      |
| `channel.id`                             | `string` | Mandatory | The channel of the transaction                                                                                                                                   |
| `jdm.journey_id`                         | `string` | Mandatory | Journey id for transaction                                                                                                                                       |
| `online_to_offline_info.created_date`    | `string` | Mandatory | Created date for Transaction                                                                                                                                     |
| `online_to_offline_info.expired_date`    | `string` | Mandatory | Expired date for Transaction                                                                                                                                     |
| `online_to_offline_info.reusable_status` | `string` | Mandatory | Reusable status for Payment Code                                                                                                                                 |
| `online_to_offline_payment.identifier`   | `array`  | Mandatory | Identifier for Transaction                                                                                                                                       |
| {% endtab %}                             |          |           |                                                                                                                                                                  |
| {% endtabs %}                            |          |           |                                                                                                                                                                  |

### e-Wallet

* DANA
* ShopeePay
* DOKU e-Wallet
* OVO Push Payment
* OVO Recurring
* Link Aja

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="DANA" %}

```json
{
    "order": {
        "invoice_number": "INV-1724393502",
        "amount": 1.00
    },
    "transaction": {
        "status": "SUCCESS",
        "type": "SALE",
        "date": "2024-08-23T06:11:52Z",
        "original_request_id": "3348ca8d-f82b-41ce-aeb1-5d7efe8cf309",
        "service_code": "54"
    },
    "acquirer": {
        "id": "DANA",
        "name": "DANA Snap Direct Debit"
    },
    "channel": {
        "id": "EMONEY_DANA"
    },
    "additional_info": {
        "supportDeepLinkCheckoutUrl": "false",
        "origin": {
            "product": "CHECKOUT",
            "source": "direct",
            "system": "mid-jokul-checkout-system",
            "apiFormat": "JOKUL"
        },
        "line_items": [
            {
                "name": "Very Long Name Which Is Very Loooooong",
                "price": "1",
                "quantity": 1.0
            }
        ],
        "orderTitle": "INV-1724393502",
        "account": {
            "accountNo": "http://doku.com/",
            "accountName": "http://doku.com/"
        },
        "channelId": "http://doku.com/"
    },
    "emoney_payment": {
        "status": "PENDING",
        "date": "20240823131152",
        "approval_code": "v6GZT6pvyHh1basLKudYvkQbpVSs6dvvtbFijLdinbyBSgGdEpCsWmMdgsuYVoT7",
        "response_code": "2005400",
        "response_message": "Success"
    },
    "emoney_configuration": {
        "sub_merchant_id": "test"
    }
}
```

{% endtab %}

{% tab title="ShopeePay" %}

```json
{
    "order": {
        "invoice_number": "INV-testCheckStatusShopeepay",
        "amount": 80003
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2024-08-23T04:34:58Z",
        "original_request_id": "e9dacd5d-3a63-4776-ac4a-fec9eb4b71a6"
    },
    "acquirer": {
        "id": "SHOPEE_PAY",
        "name": "Shopee Pay"
    },
    "channel": {
        "id": "EMONEY_SHOPEE_PAY"
    },
    "additional_info": {
        "origin": {
            "source": "direct",
            "system": "mid-jokul-checkout-system",
            "product": "CHECKOUT",
            "apiFormat": "JOKUL"
        },
        "line_items": [
            {
                "sku": "FF01",
                "url": "http://item-url.domain/",
                "name": "Fresh flowers",
                "type": "ABC",
                "price": "40003",
                "category": "others",
                "quantity": 1.0,
                "image_url": "http://image-url.domain/"
            },
            {
                "sku": "T01",
                "url": "http://item-url.domain/",
                "name": "T-shirt",
                "type": "ABC",
                "price": "40000",
                "category": "others",
                "quantity": 1.0,
                "image_url": "http://image-url.domain/"
            }
        ],
        "allow_tenor": [
            0.0,
            3.0,
            6.0,
            12.0
        ],
        "doku_wallet_notify_url": "https://dw-notification.merchantdomain"
    },
    "shopeepay_payment": {
        "status": "SUCCESS",
        "date": "20240823113458",
        "identifier": [
            {
                "name": "PAYMENT_REFERENCE_ID",
                "value": "INV-testCheckStatusDANA"
            },
            {
                "name": "TRANSACTION_SN",
                "value": "7803086338142291260544613762532053068807260727842944261355953953"
            },
            {
                "name": "USER_ID_HASH",
                "value": "0272317754971626181110118654850459524546253866569833098069226095"
            }
        ]
    },
    "shopeepay_configuration": {
        "merchant_ext_id": "BRN-0234-1681288290275",
        "payment_return_url": "https://dashboard.doku.com/docs",
        "store_ext_id": "BRN-0234-1681288290275"
    }
}
```

{% endtab %}

{% tab title="OVO Push Payment" %}

```json
{
    "order": {
        "invoice_number": "INV-20210124-0001",
        "amount": 150000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2021-08-24T06:55:37Z",
        "original_request_id": "6503362"
    },
    "service": {
        "id": "EMONEY"
    },
    "acquirer": {
        "id": "OVO"
    },
    "channel": {
        "id": "EMONEY_OVO"
    },
    "ovo_payment": {
        "status": "SUCCESS",
        "date": "20210824135537",
        "batch_number": 195,
        "trace_number": 6503362,
        "reference_number": 10,
        "approval_code": "4318514",
        "response_code": "00",
        "cash_used": 150000,
        "cash_balance": 9850000,
        "ovo_points_used": 0,
        "ovo_points_balance": 10000000,
        "ovo_points_earned": 0
    },
    "ovo_configuration": {
        "merchant_id": "123456",
        "tid": "4562019",
        "mid": "Doku20191241234",
        "store_code": "Doku2019"
    },
    "ovo_info": {
        "ovo_account_name": "testing Doku",
        "ovo_id": "081211111111"
    }
}
```

{% endtab %}

{% tab title="OVO Recurring" %}

```json
Coming Soon
```

{% endtab %}

{% tab title="Link Aja" %}

```json
Coming Soon
```

{% endtab %}
{% endtabs %}

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

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                         |
| -------------------------------------- | -------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                    |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                    |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING,REFUNDED</code></p>     |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                             |
| `transaction.service_code`             | string   | Optional    | Service Code                                                                                                                                        |
| `transaction.type`                     | `string` | Conditional | <p>Type for DANA transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                  |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                        |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                              |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                      |
| `additional_info`                      | array    | Optional    |                                                                                                                                                     |
| `emoney_payment.status`                | `string` | Optional    | Status of the Payment                                                                                                                               |
| `emoney_payment.date`                  | `string` | Optional    | Date of the order                                                                                                                                   |
| `emoney_payment.approval_code`         | `string` | Optional    | Approval Code from DOKU                                                                                                                             |
| `emoney_payment.response_code`         | `string` | Optional    | Response code for the order                                                                                                                         |
| `emoney_payment.response_message`      | `string` | Optional    | Response message for the Order                                                                                                                      |
| `emoney_configuration.sub_merchant.id` | `string` | Optional    | Sub merchant ID                                                                                                                                     |
| {% endtab %}                           |          |             |                                                                                                                                                     |

{% tab title="Shopeepay" %}

| Parameter                                    | Type     | Mandatory   | Description                                                                                                                                         |
| -------------------------------------------- | -------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                       | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                    |
| `order.amount`                               | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                    |
| `transaction.status`                         | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING,REFUNDED</code></p>     |
| `transaction.date`                           | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                             |
| `transaction.service_code`                   | string   | Optional    | Service Code                                                                                                                                        |
| `transaction.type`                           | `string` | Conditional | <p>Type for DANA transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE</code></p> |
| `transaction.original_request_id`            | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                  |
| `service.id`                                 | `string` | Mandatory   | The service that is used for the transaction                                                                                                        |
| `acquirer.id`                                | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                              |
| `channel.id`                                 | `string` | Mandatory   | The channel of the transaction                                                                                                                      |
| `additional_info`                            | array    | Optional    |                                                                                                                                                     |
| `shopeepay_payment.status`                   | `string` | Optional    | Status of the Payment                                                                                                                               |
| `shopeepay_payment.date`                     | `string` | Optional    | Date of the order                                                                                                                                   |
| `shopeepay_payment.identifier`               | `string` | Optional    | Identifier for ShopeePay                                                                                                                            |
| `shopeepay_configuration.merchant_ext_id`    | `string` | Optional    | Merchant Ext Id                                                                                                                                     |
| `shopeepay_configuration.payment_return_url` | `string` | Optional    | Payment return URL                                                                                                                                  |
| `shopeepay_configuration.store_ext_id`       | `string` | Optional    | Store ext id                                                                                                                                        |
| {% endtab %}                                 |          |             |                                                                                                                                                     |

{% tab title="DOKU e-Wallet" %}

```
Coming Soon
```

{% endtab %}

{% tab title="OVO Push Payment" %}
OVO E-Money Check Status Explanation

| Parameter                         | Type     | Mandatory | Description                                                                                                                                                      |
| --------------------------------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`            | `string` | Mandatory | The invoice number that sent when initate the payment                                                                                                            |
| `order.amount`                    | `string` | Mandatory | The amount of the transaction                                                                                                                                    |
| `transaction.status`              | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS</code>, <code>FAILED</code>, <code>TIMEOUT</code></p> |
| `transaction.date`                | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                          |
| `transaction.original_request_id` | `string` | Mandatory | The request ID that sent when initiate the payment                                                                                                               |
| `service.id`                      | `string` | Mandatory | The service that is used for the transaction                                                                                                                     |
| `acquirer.id`                     | `string` | Mandatory | The acquirer that processed the transaction                                                                                                                      |
| `channel.id`                      | `string` | Mandatory | The channel of the transaction                                                                                                                                   |
| `ovo_payment.status`              | `string` | Mandatory | Payment status generated by DOKU                                                                                                                                 |
| `ovo_payment.date`                | `string` | Mandatory | Payment date generated by DOKU with the format of yyyyMMddHHmmss UTC+7 time                                                                                      |
| `ovo_payment.batch_number`        | `number` | Mandatory | Batch number of transaction for settlement. Value increment on daily basis, except if the Reference Number already reached maximum value                         |
| `ovo_payment.trace_number`        | `number` | Mandatory | <p>Generated by OVO<br>Max length: <code>6</code></p>                                                                                                            |
| `ovo_payment.reference_number`    | `number` | Mandatory | <p>Transaction ID for every transaction generated by OVO. Increment for each Push to Pay Transaction<br>Maximum value: <code>999999</code></p>                   |
| `ovo_payment.approval_code`       | `string` | Mandatory | Generated by OVO                                                                                                                                                 |
| `ovo_payment.response_code`       | `string` | Mandatory | Generated by OVO. Please refer to the section below for the `response_code` mapping                                                                              |
| `ovo_payment.cash_used`           | `number` | Optional  | OVO Cash that being charged for the transaction                                                                                                                  |
| `ovo_payment.cash_balance`        | `number` | Optional  | OVO Cash remaining balance after the transaction                                                                                                                 |
| `ovo_payment.ovo_points_used`     | `number` | Optional  | OVO Points that being charged for the transaction                                                                                                                |
| `ovo_payment.ovo_points_balance`  | `number` | Optional  | OVO Points remaining balance after the transaction                                                                                                               |
| `ovo_payment.ovo_points_earned`   | `number` | Optional  | OVO Points earned after the transaction                                                                                                                          |
| `ovo_configuration.merchant_id`   | `string` | Optional  | <p>Merchant ID by OVO<br>Allowed chars: <code>numeric</code><br>Max length: <code>7</code></p>                                                                   |
| `ovo_configuration.tid`           | `string` | Optional  | <p>TID by OVO<br>Allowed chars: <code>numeric</code><br>Max length: <code>8</code></p>                                                                           |
| `ovo_configuration.mid`           | `string` | Optional  | <p>MID by OVO<br>Allowed chars: <code>alphabetic, numeric</code><br>Max length: <code>15</code></p>                                                              |
| `ovo_configuration.store_code`    | `string` | Optional  | <p>Store code by OVO Allowed chars: <code>alphabetic, numeric</code><br>Max length: <code>15</code></p>                                                          |
| `ovo_info.ovo_account_name`       | `string` | Optional  | Name of the OVO customer                                                                                                                                         |
| `ovo_info.ovo_id`                 | `string` | Mandatory | ID for OVO phone number to do payment                                                                                                                            |
| {% endtab %}                      |          |           |                                                                                                                                                                  |

{% tab title="OVO Recurring" %}

```
Coming Soon
```

{% endtab %}

{% tab title="Link Aja" %}

```
Coming Soon
```

{% endtab %}
{% endtabs %}

### Direct Debit

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

```json
{
    "order": {
        "amount": 500000,
        "invoice_number":"INV-20210217-0003"
    },
    "channel":{
        "id":"DIRECT_DEBIT_BRI"
    },
    "service":{
        "id":"DIRECT_DEBIT"
    },
    "acquirer":{
        "id":"BRI"
    },
    "transaction":{
        "date":"2021-02-17T09:50:17.235078",
        "status":"SUCCESS",
        "original_request_id":"20210217095009645"
    },
    "card_payment":{
        "payment_id":"432828221538",
        "response_code":"0000",
        "response_message":"SUCCESS",
        "masked_card_number":"************8232"
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="BRI" %}
Direct Debit Notification Explanation

| Parameter                         | Type     | Mandatory | Description                                                                                                                   |
| --------------------------------- | -------- | --------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`            | `string` | Mandatory | Same as the request that merchant sent on the payment initiation                                                              |
| `order.amount`                    | `number` | Mandatory | Same as the request that merchant sent on the payment initiation                                                              |
| `transaction.status`              | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED</code></p> |
| `transaction.date`                | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                       |
| `transaction.original_request_id` | `string` | Mandatory | The request ID that sent when initiate the payment                                                                            |
| `service.id`                      | `string` | Mandatory | The service that is used for the transaction                                                                                  |
| `acquirer.id`                     | `string` | Mandatory | The acquirer that processed the transaction                                                                                   |
| `channel.id`                      | `string` | Mandatory | The channel of the transaction                                                                                                |
| `card_payment.masked_card_number` | `string` | Optional  | The masked card number that charged for this transaction                                                                      |
| `card_payment.payment_id`         | `string` | Optional  | The token that will be use for this transaction                                                                               |
| `card_payment.response_code`      | `string` | Optional  | <p>DOKU / Acquirer response code<br>Possible value: see here</p>                                                              |
| `card_payment.response_message`   | `string` | Optional  | <p>DOKU / Acquirer response code<br>Possible value: see here</p>                                                              |
| {% endtab %}                      |          |           |                                                                                                                               |
| {% endtabs %}                     |          |           |                                                                                                                               |

### Cards

* Sale
* Recurring
* Authorize
* Capture

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="Sale" %}

```json
{
    "order": {
        "invoice_number": "INV-1645668870",
        "amount": 90000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2022-02-24T02:15:05Z",
        "type": "RECURRING",
        "original_request_id": "091773eb-a482-408d-949d-73281d91f610"
    },
    "service": {
        "id": "CREDIT_CARD"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "CREDIT_CARD"
    },
    "card_payment": {
        "card_masked": "461700*******6656",
        "approval_code": "194462",
        "response_code": "00",
        "response_message": "PAYMENT APPROVED",
        "type": "RECURRING",
        "acquiring_off_us_status": "FALSE",
        "request_id": "091773eb-a482-408d-949d-73281d91f610",
        "card_type": "Debit",
        "three_dsecure_status": "TRUE",
        "issuer": "PT. BANK MANDIRI (PERSERO), Tbk",
        "transaction_status": "SUCCESS",
        "brand": "VISA",
        "date": "2022-02-24T02:15:05Z"

    }
}
```

{% endtab %}

{% tab title="Recurring" %}

```json
{
    "order": {
        "invoice_number": "INV-1645668870",
        "amount": 90000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2022-02-24T02:15:05Z",
        "type": "RECURRING",
        "original_request_id": "091773eb-a482-408d-949d-73281d91f610"
    },
    "service": {
        "id": "CREDIT_CARD"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "CREDIT_CARD"
    },
    "card_payment": {
        "card_masked": "461700*******6656",
        "approval_code": "194462",
        "response_code": "00",
        "response_message": "PAYMENT APPROVED",
        "type": "RECURRING",
        "acquiring_off_us_status": "FALSE",
        "request_id": "091773eb-a482-408d-949d-73281d91f610",
        "card_type": "Debit",
        "three_dsecure_status": "TRUE",
        "issuer": "PT. BANK MANDIRI (PERSERO), Tbk",
        "transaction_status": "SUCCESS",
        "brand": "VISA",
        "date": "2022-02-24T02:15:05Z"

    }
}
```

{% endtab %}

{% tab title="Authorize" %}

```json
{
    "order": {
        "invoice_number": "INV-1645668870",
        "amount": 90000
    },
    "transaction": {
        "status": "PENDING",
        "date": "2022-02-24T02:15:05Z",
        "type": "AUTHORIZE",
        "original_request_id": "091773eb-a482-408d-949d-73281d91f610"
    },
    "service": {
        "id": "CREDIT_CARD"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "CREDIT_CARD"
    },
    "card_payment": {
        "card_masked": "461700*******6656",
        "approval_code": "194462",
        "response_code": "00",
        "response_message": "PAYMENT APPROVED",
        "type": "AUTHORIZE",
        "acquiring_off_us_status": "FALSE",
        "request_id": "091773eb-a482-408d-949d-73281d91f610",
        "card_type": "Debit",
        "three_dsecure_status": "TRUE",
        "issuer": "PT. BANK MANDIRI (PERSERO), Tbk",
        "transaction_status": "SUCCESS",
        "brand": "VISA",
        "date": "2022-02-24T02:15:05Z",
        "authorize_id": "16837980314548456",
        "authentication_id": "baf706e020fa7cf89be687dbac665f1657def6629331716555974ff926013acb",

    }
}
```

{% endtab %}

{% tab title="Capture" %}

```json
{
    "order": {
        "invoice_number": "INV-1645668870",
        "amount": 90000
    },
    "transaction": {
        "status": "SUCCESS",
        "date": "2022-02-24T02:15:05Z",
        "type": "CAPTURE",
        "original_request_id": "091773eb-a482-408d-949d-73281d91f610"
    },
    "service": {
        "id": "CREDIT_CARD"
    },
    "acquirer": {
        "id": "BANK_MANDIRI"
    },
    "channel": {
        "id": "CREDIT_CARD"
    },
    "card_payment": {
        "card_masked": "461700*******6656",
        "approval_code": "194462",
        "response_code": "00",
        "response_message": "PAYMENT APPROVED",
        "type": "CAPTURE",
        "acquiring_off_us_status": "FALSE",
        "request_id": "091773eb-a482-408d-949d-73281d91f610",
        "card_type": "Debit",
        "three_dsecure_status": "TRUE",
        "issuer": "PT. BANK MANDIRI (PERSERO), Tbk",
        "transaction_status": "SUCCESS",
        "brand": "VISA",
        "date": "2022-02-24T02:15:05Z"
        "authorize_id": "16837980314548456",
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Sale" %}
Credit Card Notification Explanation

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                                                                                          |
| -------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING, REFUNDED</code></p>                                                                     |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                                                                              |
| `transaction.type`                     | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                                                                                   |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                                                                                         |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                                                                                               |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                                                                                       |
| `card_payment.card_masked`             | `string` | Conditional | <p>The masked card number that charged for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                        |
| `card_payment.approval_code`           | `string` | Conditional | <p>Acquirer approval code for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                     |
| `card_payment.response_code`           | `string` | Conditional | <p>Acquirer response code.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                          |
| `card_payment.response_message`        | `string` | Conditional | <p>Acquirer response code<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                           |
| `card_payment.type`                    | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `card_payment.acquiring_off_us_status` | `string` | Mandatory   | <p>Payment acquiring\_off\_us\_status<br>Possible value: <code>true, false</code></p>                                                                                                                                |
| `card_payment.request_id`              | `string` | Mandatory   | Request ID for transaction                                                                                                                                                                                           |
| `card_payment.card_type`               | `string` | Conditional | <p>Card type.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>CREDIT, DEBIT</code></p>                                                                         |
| `card_payment.three_dsecure_status`    | `string` | Optional    | <p>Three dsecure status<br>Possible value: <code>TRUE, FALSE</code></p>                                                                                                                                              |
| `card_payment.issuer`                  | `string` | Conditional | <p>Card issuer.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                     |
| `card_payment.transaction_status`      | `string` | Mandatory   | <p>Transaction status<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                                                                                   |
| `card_payment.brand`                   | `string` | Conditional | <p>Card brand.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                      |
| `card_payment.date`                    | `string` | Optional    | Transaction card date                                                                                                                                                                                                |
| `card_payment.authorize_id`            | `string` | Optional    | Transaction authorize ID                                                                                                                                                                                             |
| `card_payment.authentication_id`       | `string` | Optional    | Transaction authentication ID                                                                                                                                                                                        |

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                                                                                          |
| -------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                               |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                                                                              |
| `transaction.type`                     | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                                                                                   |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                                                                                         |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                                                                                               |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                                                                                       |
| `card_payment.card_masked`             | `string` | Conditional | <p>The masked card number that charged for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                        |
| `card_payment.approval_code`           | `string` | Conditional | <p>Acquirer approval code for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                     |
| `card_payment.response_code`           | `string` | Conditional | <p>Acquirer response code.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                          |
| `card_payment.response_message`        | `string` | Conditional | <p>Acquirer response code<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                           |
| `card_payment.type`                    | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `card_payment.acquiring_off_us_status` | `string` | Mandatory   | <p>Payment acquiring\_off\_us\_status<br>Possible value: <code>true, false</code></p>                                                                                                                                |
| `card_payment.request_id`              | `string` | Mandatory   | Request ID for transaction                                                                                                                                                                                           |
| `card_payment.card_type`               | `string` | Conditional | <p>Card type.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>CREDIT, DEBIT</code></p>                                                                         |
| `card_payment.three_dsecure_status`    | `string` | Optional    | <p>Three dsecure status<br>Possible value: <code>TRUE, FALSE</code></p>                                                                                                                                              |
| `card_payment.issuer`                  | `string` | Conditional | <p>Card issuer.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                     |
| `card_payment.transaction_status`      | `string` | Mandatory   | <p>Transaction status<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                                                                                   |
| `card_payment.brand`                   | `string` | Conditional | <p>Card brand.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                      |
| `card_payment.date`                    | `string` | Optional    | Transaction card date                                                                                                                                                                                                |
| `card_payment.authorize_id`            | `string` | Optional    | Transaction authorize ID                                                                                                                                                                                             |
| `card_payment.authentication_id`       | `string` | Optional    | Credit Card Notification Explanation                                                                                                                                                                                 |
| {% endtab %}                           |          |             |                                                                                                                                                                                                                      |

{% tab title="Recurring" %}
Credit Card Notification Explanation

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                                                                                          |
| -------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                               |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                                                                              |
| `transaction.type`                     | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                                                                                   |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                                                                                         |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                                                                                               |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                                                                                       |
| `card_payment.card_masked`             | `string` | Conditional | <p>The masked card number that charged for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                        |
| `card_payment.approval_code`           | `string` | Conditional | <p>Acquirer approval code for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                     |
| `card_payment.response_code`           | `string` | Conditional | <p>Acquirer response code.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                          |
| `card_payment.response_message`        | `string` | Conditional | <p>Acquirer response code<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                           |
| `card_payment.type`                    | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `card_payment.acquiring_off_us_status` | `string` | Mandatory   | <p>Payment acquiring\_off\_us\_status<br>Possible value: <code>true, false</code></p>                                                                                                                                |
| `card_payment.request_id`              | `string` | Mandatory   | Request ID for transaction                                                                                                                                                                                           |
| `card_payment.card_type`               | `string` | Conditional | <p>Card type.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>CREDIT, DEBIT</code></p>                                                                         |
| `card_payment.three_dsecure_status`    | `string` | Optional    | <p>Three dsecure status<br>Possible value: <code>TRUE, FALSE</code></p>                                                                                                                                              |
| `card_payment.issuer`                  | `string` | Conditional | <p>Card issuer.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                     |
| `card_payment.transaction_status`      | `string` | Mandatory   | <p>Transaction status<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                                                                                   |
| `card_payment.brand`                   | `string` | Conditional | <p>Card brand.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                      |
| `card_payment.date`                    | `string` | Optional    | Transaction card date                                                                                                                                                                                                |
| `card_payment.authorize_id`            | `string` | Optional    | Transaction authorize ID                                                                                                                                                                                             |
| `card_payment.authentication_id`       | `string` | Optional    | Transaction authentication ID                                                                                                                                                                                        |
| {% endtab %}                           |          |             |                                                                                                                                                                                                                      |

{% tab title="Authorize" %}
Credit Card Notification Explanation

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                                                                                          |
| -------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                               |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                                                                              |
| `transaction.type`                     | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                                                                                   |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                                                                                         |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                                                                                               |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                                                                                       |
| `card_payment.card_masked`             | `string` | Conditional | <p>The masked card number that charged for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                        |
| `card_payment.approval_code`           | `string` | Conditional | <p>Acquirer approval code for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                     |
| `card_payment.response_code`           | `string` | Conditional | <p>Acquirer response code.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                          |
| `card_payment.response_message`        | `string` | Conditional | <p>Acquirer response code<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                           |
| `card_payment.type`                    | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `card_payment.acquiring_off_us_status` | `string` | Mandatory   | <p>Payment acquiring\_off\_us\_status<br>Possible value: <code>true, false</code></p>                                                                                                                                |
| `card_payment.request_id`              | `string` | Mandatory   | Request ID for transaction                                                                                                                                                                                           |
| `card_payment.card_type`               | `string` | Conditional | <p>Card type.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>CREDIT, DEBIT</code></p>                                                                         |
| `card_payment.three_dsecure_status`    | `string` | Optional    | <p>Three dsecure status<br>Possible value: <code>TRUE, FALSE</code></p>                                                                                                                                              |
| `card_payment.issuer`                  | `string` | Conditional | <p>Card issuer.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                     |
| `card_payment.transaction_status`      | `string` | Mandatory   | <p>Transaction status<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                                                                                   |
| `card_payment.brand`                   | `string` | Conditional | <p>Card brand.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                      |
| `card_payment.date`                    | `string` | Optional    | Transaction card date                                                                                                                                                                                                |
| `card_payment.authorize_id`            | `string` | Optional    | Transaction authorize ID                                                                                                                                                                                             |
| `card_payment.authentication_id`       | `string` | Optional    | Transaction authentication ID                                                                                                                                                                                        |
| {% endtab %}                           |          |             |                                                                                                                                                                                                                      |

{% tab title="Capture" %}
Credit Card Notification Explanation

| Parameter                              | Type     | Mandatory   | Description                                                                                                                                                                                                          |
| -------------------------------------- | -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `order.invoice_number`                 | `string` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `order.amount`                         | `number` | Mandatory   | Same as the request that merchant sent on the payment initiation                                                                                                                                                     |
| `transaction.status`                   | `string` | Mandatory   | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                               |
| `transaction.date`                     | `string` | Mandatory   | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                                                                                                              |
| `transaction.type`                     | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `transaction.original_request_id`      | `string` | Mandatory   | The request ID that sent when initiate the payment                                                                                                                                                                   |
| `service.id`                           | `string` | Mandatory   | The service that is used for the transaction                                                                                                                                                                         |
| `acquirer.id`                          | `string` | Conditional | <p>The acquirer that processed the transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS.<br></p>                                                                                               |
| `channel.id`                           | `string` | Mandatory   | The channel of the transaction                                                                                                                                                                                       |
| `card_payment.card_masked`             | `string` | Conditional | <p>The masked card number that charged for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                        |
| `card_payment.approval_code`           | `string` | Conditional | <p>Acquirer approval code for this transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                     |
| `card_payment.response_code`           | `string` | Conditional | <p>Acquirer response code.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                          |
| `card_payment.response_message`        | `string` | Conditional | <p>Acquirer response code<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                           |
| `card_payment.type`                    | `string` | Conditional | <p>Type for Credit Card Transaction.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>SALE, INSTALLMENT, MOTO, AUTHORIZE, CAPTURE, RECURRING, REFUND</code></p> |
| `card_payment.acquiring_off_us_status` | `string` | Mandatory   | <p>Payment acquiring\_off\_us\_status<br>Possible value: <code>true, false</code></p>                                                                                                                                |
| `card_payment.request_id`              | `string` | Mandatory   | Request ID for transaction                                                                                                                                                                                           |
| `card_payment.card_type`               | `string` | Conditional | <p>Card type.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br><br>Possible value: <code>CREDIT, DEBIT</code></p>                                                                         |
| `card_payment.three_dsecure_status`    | `string` | Optional    | <p>Three dsecure status<br>Possible value: <code>TRUE, FALSE</code></p>                                                                                                                                              |
| `card_payment.issuer`                  | `string` | Conditional | <p>Card issuer.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                     |
| `card_payment.transaction_status`      | `string` | Mandatory   | <p>Transaction status<br>Possible value: <code>SUCCESS, FAILED, PENDING</code></p>                                                                                                                                   |
| `card_payment.brand`                   | `string` | Conditional | <p>Card brand.<br>Mandatory if <code>transaction.status</code> value SUCCESS or FAILED.<br></p>                                                                                                                      |
| `card_payment.date`                    | `string` | Optional    | Transaction card date                                                                                                                                                                                                |
| `card_payment.authorize_id`            | `string` | Optional    | Transaction authorize ID                                                                                                                                                                                             |
| `card_payment.authentication_id`       | `string` | Optional    | Transaction authentication ID                                                                                                                                                                                        |
| {% endtab %}                           |          |             |                                                                                                                                                                                                                      |
| {% endtabs %}                          |          |             |                                                                                                                                                                                                                      |

### Paylater

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="Akulaku" %}

```json
{
    "order": {
        "invoice_number": "invoice-000001014123sdd4",
        "amount": 110000
    },
    "transaction": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "original_request_id": "93337206-946b-4949-b0c9-15cd04556e09"
    },
    "service": {
        "id": "PEER_TO_PEER"
    },
    "acquirer": {
        "id": "AKULAKU",
        "name": "Akulaku"
    },
    "channel": {
        "id": "PEER_TO_PEER_AKULAKU"
    },
    "peer_to_peer_payment": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "identifier": [
            {
                "name": "merchant_unique_reference",
                "value": "TEST-ABC-000104"
            },
            {
                "name": "akulaku_unique_reference",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            },
            {
                "name": "order_id",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Kredivo" %}

```json
{
    "order": {
        "invoice_number": "invoice-000001014123sdd4",
        "amount": 110000
    },
    "transaction": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "original_request_id": "93337206-946b-4949-b0c9-15cd04556e09"
    },
    "service": {
        "id": "PEER_TO_PEER"
    },
    "acquirer": {
        "id": "KREDIVO",
        "name": "Kredivo"
    },
    "channel": {
        "id": "PEER_TO_PEER_KREDIVO"
    },
    "peer_to_peer_payment": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "identifier": [
            {
                "name": "merchant_unique_reference",
                "value": "TEST-ABC-000104"
            },
            {
                "name": "kredivo_unique_reference",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            },
            {
                "name": "order_id",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            }
        ]
    }
}
```

{% endtab %}

{% tab title="Indodana" %}

<pre class="language-json"><code class="lang-json"><strong>{
</strong>    "order": {
        "invoice_number": "invoice-000001014123sdd4",
        "amount": 110000
    },
    "transaction": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "original_request_id": "93337206-946b-4949-b0c9-15cd04556e09"
    },
    "service": {
        "id": "PEER_TO_PEER"
    },
    "acquirer": {
        "id": "INDODANA",
        "name": "Indodana"
    },
    "channel": {
        "id": "PEER_TO_PEER_INDODANA"
    },
    "peer_to_peer_payment": {
        "status": "PENDING",
        "date": "2024-07-12T06:47:40Z",
        "identifier": [
            {
                "name": "merchant_unique_reference",
                "value": "TEST-ABC-000104"
            },
            {
                "name": "indodana_unique_reference",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            },
            {
                "name": "order_id",
                "value": "MCH-0008-1218873017641TEST-ABC-000104"
            }
        ]
    }
}
</code></pre>

{% endtab %}
{% endtabs %}

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

| Parameter                                                                | Type     | Mandatory | Description                                                                                                                    |
| ------------------------------------------------------------------------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `service.id`                                                             | `string` | Mandatory | The service that is used for the transaction                                                                                   |
| `acquirer.id`                                                            | `string` | Mandatory | The acquirer that processed the transaction                                                                                    |
| `channel.id`                                                             | `string` | Mandatory | The channel of the transaction                                                                                                 |
| `order.invoice_number`                                                   | `string` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `order.amount`                                                           | `number` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `transaction.status`                                                     | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, PENDING</code></p> |
| `transaction.date`                                                       | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                        |
| `transaction.original_request_id`                                        | `string` | Mandatory | The request ID that sent when initiate the payment                                                                             |
| <p><code>payment.</code><br><code>merchant\_unique\_reference</code></p> | `string` | Mandatory | The merchant unique reference that sent when initiate the payment                                                              |
| {% endtab %}                                                             |          |           |                                                                                                                                |

{% tab title="Kredivo" %}

| Parameter                                                                | Type     | Mandatory | Description                                                                                                                    |
| ------------------------------------------------------------------------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `service.id`                                                             | `string` | Mandatory | The service that is used for the transaction                                                                                   |
| `acquirer.id`                                                            | `string` | Mandatory | The acquirer that processed the transaction                                                                                    |
| `channel.id`                                                             | `string` | Mandatory | The channel of the transaction                                                                                                 |
| `order.invoice_number`                                                   | `string` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `order.amount`                                                           | `number` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `transaction.status`                                                     | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, PENDING</code></p> |
| `transaction.date`                                                       | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                        |
| `transaction.original_request_id`                                        | `string` | Mandatory | The request ID that sent when initiate the payment                                                                             |
| <p><code>payment.</code><br><code>merchant\_unique\_reference</code></p> | `string` | Mandatory | The merchant unique reference that sent when initiate the payment                                                              |
| {% endtab %}                                                             |          |           |                                                                                                                                |

{% tab title="Indodana" %}
Response Explanation

| Parameter                                                                | Type     | Mandatory | Description                                                                                                                    |
| ------------------------------------------------------------------------ | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `service.id`                                                             | `string` | Mandatory | The service that is used for the transaction                                                                                   |
| `acquirer.id`                                                            | `string` | Mandatory | The acquirer that processed the transaction                                                                                    |
| `channel.id`                                                             | `string` | Mandatory | The channel of the transaction                                                                                                 |
| `order.invoice_number`                                                   | `string` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `order.amount`                                                           | `number` | Mandatory | Same as the request that merchant sent on the payment initiation                                                               |
| `transaction.status`                                                     | `string` | Mandatory | <p>The transaction status to be use to update the status on merchant side<br>Possible value: <code>SUCCESS, PENDING</code></p> |
| `transaction.date`                                                       | `string` | Mandatory | The date when the transaction is completed by the customer in ISO 8601 format (UTC + 0)                                        |
| `transaction.original_request_id`                                        | `string` | Mandatory | The request ID that sent when initiate the payment                                                                             |
| <p><code>payment.</code><br><code>merchant\_unique\_reference</code></p> | `string` | Mandatory | The merchant unique reference that sent when initiate the payment                                                              |
| {% endtab %}                                                             |          |           |                                                                                                                                |
| {% endtabs %}                                                            |          |           |                                                                                                                                |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.doku.com/get-started-with-doku-api/check-status-api/non-snap.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
