# Order Status for Checkout Page

### 1. Order Status on Checkout Report

Merchant can check their status order from DOKU Dashboard on Menu **Report > Checkout Orders.**

<figure><img src="https://3092822868-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqCxtvLoJNNxvp4U7kLHd%2Fuploads%2FImtr1E6hJVKKP9O1tAgG%2FScreenshot%202024-07-12%20at%2010.56.01.png?alt=media&#x26;token=937f5d3e-f09e-43c2-8491-36b1697fc5a9" alt=""><figcaption><p>Checkout Report </p></figcaption></figure>

<table><thead><tr><th width="176">Status Order</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:yellow;"><strong>Pending</strong></mark> </td><td>Pending status reflects state when merchant do initiate payment, and the customer still not do the payment within the payment due date time</td></tr><tr><td><mark style="color:green;"><strong>Success</strong></mark></td><td>Success status shows that customer successfully paid the transaction and faced a success result page</td></tr><tr><td><mark style="color:red;"><strong>Expired</strong></mark></td><td>Expired status will appear if the order is not paid within the specified payment due date</td></tr></tbody></table>

### 2. Order Status on Check Status API

{% hint style="warning" %}
Only merchant who registered from December 2024 can implemented this, contact our support team to activate this for existing merchant
{% endhint %}

{% hint style="success" %}
The Check Status API now returns the **checkout order status**, even when the payment channel has not yet published its transaction status.

Previously, the API only returned data after the payment channel created a transaction record. As a result, when a customer generated a checkout order and selected a payment method (for example ShopeePay), the Check Status API could return **`Not Found`** until the payment channel published the `PENDING` status.

With this features, the API will return the **order-level status** once the checkout order is generated.
{% endhint %}

| Scenario                                          | Previous Behavior                                   | Current Behavior                                                                         |
| ------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Customer generates checkout and selects ShopeePay | Check Status returns **Not Found**                  | Check Status returns `order.status = ORDER_GENERATE`                                     |
| Customer completes payment with ShopeePay         | Check Status returns `transaction.status = SUCCESS` | Check Status returns `order.status = ORDER_GENERATED` and `transaction.status = SUCCESS` |

> This features allows merchants to **track the checkout order earlier**, even before the payment channel publishes the transaction status.

#### API Response

{% tabs %}
{% tab title="Before Choose Channel" %}

```json
{
    "order": {
        "invoice_number": "INV-5489910000093492",
        "amount": 120000,
        "status": "ORDER_GENERATED" /“ORDER_EXPIRED"/"ORDER_RECOVERED",
        "date": "2025-07-09T02:58:30Z"
    },
    "transaction": {
        "status": "PENDING",
        "date": "2025-07-09T02:58:30Z",
        "original_request_id": "3719"
    },
    "service": {
        "id": ""
    },
    "acquirer": {
        "id": ""
    },
    "channel": {
        "id": ""
    }
}

```

{% endtab %}

{% tab title="After Choose Channel" %}

```json
{
    "order": {
        "invoice_number": "INV-548991000009310030",
        "amount": 120000.0,
        "status": "ORDER_GENERATED" / “ORDER_EXPIRED”
    },
    "transaction": {
        "status": "PENDING",
        "date": "2025-07-10T03:00:48Z",
        "original_request_id": "76392"
    },
    "service": {
        "id": "DIGITAL_BANKING"
    },
    "acquirer": {
        "id": "BTPN",
        "name": "Bank Tabungan Pensiunan Nasional"
    },
    "channel": {
        "id": "JENIUS_PAY"
    },
    "additional_info": {
        "doku_wallet_notify_url": "https://doku.com",
        "origin": {
            "product": "CHECKOUT",
            "system": "mid-jokul-checkout-system",
            "api_format": "JOKUL",
            "source": "direct"
        },
        "line_items": [
            {
                "quantity": 1.0,
                "price": "120000",
                "image_url": "http://doku.com/",
                "name": "DOKU Basic T-Shirt",
                "sku": "FashionSKU123",
                "type": "ABC",
                "category": "Fashion",
                "url": "http://doku.com/"
            }
        ]
    },
    "digital_banking_payment": {}
}

```

{% endtab %}
{% endtabs %}

<table><thead><tr><th>Body parameter</th><th width="96">Type</th><th width="113">Mandatory</th><th>Description</th></tr></thead><tbody><tr><td><code>order.status</code></td><td>array</td><td>optional</td><td>Possible Value : <code>ORDER_GENERATED</code><br><code>ORDER_EXPIRED</code><br><code>ORDER_RECOVERED</code></td></tr></tbody></table>
