Checkout - New Fields and Status Values on Check Status API

Effective Date: 24 July 2025

We are introducing important updates to the Check Status API response format to improve clarity and ensure consistency across integrations. These changes affect all merchants currently using the API to retrieve payment status information.


๐Ÿ” Whatโ€™s New?

1. order.status field for Checkout Page

A new object field order.status is added to reflect the current order status.

Possible values:

  • ORDER_GENERATED โ€“ Order has been created but not yet paid.

  • ORDER_EXPIRED โ€“ Order expired without payment.


2. PENDING status for Direct API

The enum value PENDING will now appear in the transaction.status field to indicate that the payment is still in progress and awaiting confirmation (applies to channels such as Credit Card, ShopeePay, and others).


3. Null values for unselected channels

If a customer has not yet selected a payment channel, the following fields will return null:

  • service.id

  • acquirer.id

  • channel.id

These fields will be filled only after the customer selects a channel.


๐Ÿ” Before vs After

Before

{
  "order": {
    "invoice_number": "INV-5489910000093492",
    "amount": 120000,
    "status": "ORDER_GENERATED",
    "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": "" }
}

After

{
  "order": {
    "invoice_number": "INV-548991000009310030",
    "amount": 120000.0,
    "status": "ORDER_GENERATED"
  },
  "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": {}
}
Field
Before
After

order.status

Not available

ORDER_GENERATED, ORDER_EXPIRED (new)

transaction.status

SUCCESS, FAILED, etc.

PENDING added as a new possible value


๐Ÿ“Œ Action Required

Please update your system to accommodate the new format and status values by [date].

  • Merchants using Checkout Page should handle the order.status object.

  • Merchants using Direct API must anticipate the new "PENDING" value in transaction.status.

These changes are mandatory and will apply to all integrations using the Check Status API.

If you have questions or need clarification, please contact your DOKU representative or visit our developer documentation.


If you have questions or need further clarification, please reach out to your DOKU representative or contact our support team.

Thank you for your continued support. DOKU Product Team

Last updated

Was this helpful?