Transaction Identifiers

DigetPay APIs return different identifiers throughout the payment lifecycle. Using the correct identifier is essential, as each API operation expects a specific ID. The most common integration issue is using the Checkout Session ID where a Gateway Transaction ID is required.

Using the wrong transaction ID is one of the most common DigetPay integration mistakes. This guide explains each identifier, where to obtain it, and when to use it.

🚧

Rule of thumb: Status, Capture, Refund, and Void operations require the Gateway Transaction IDnever the Checkout Session ID.


Identifier overview

IdentifierDescriptionUsed For
Merchant Order IDYour unique order reference generated by your system.Tracking orders and reconciling payments in your application.
Checkout Session IDReturned when creating a payment link. Identifies the hosted checkout session.Opening the hosted checkout and tracking the payment session.
Gateway Transaction IDGenerated after a successful payment.Transaction Status, Capture, Refund, and Void APIs.
Numeric Payment IDInternal payment reference returned in some API responses.Reference only — not supported for Status or Refund APIs.
{
  "merchantOrderId": "ORDER-20260721-001",
  "checkoutSessionId": "70471003-64ee-4ae7-a639-e607b45e890b",
  "gatewayTransactionId": "2232e99b-0257-47d5-bbfd-022c8951767f",
  "numericPaymentId": "0808779145497567115585"
}

Merchant Order ID

The Merchant Order ID is generated by your application and included in the payment request.

Example:

{
  "merchantOrderId": "ORDER-20260721-001"
}

Best practices

  • Generate a unique value for every payment.
  • Do not reuse the same ID for multiple transactions.
  • UUIDs or timestamp-based values are recommended.

Checkout Session ID

The Checkout Session ID is returned by the Create Payment Link API.

Example:

{
  "id": "70471003-64ee-4ae7-a639-e607b45e890b",
  "redirectUrl": "https://fin-admin.digetpay.com/pay/checkout/..."
}

Use this ID to:

  • Launch the hosted checkout.
  • Track the checkout session.

Do not use it for:

  • Transaction Status
  • Capture
  • Refund
  • Void

Gateway Transaction ID

The Gateway Transaction ID identifies the completed payment transaction.

It is the only identifier accepted by:

  • GET /payment/checkout/status
  • POST /payment/refund
  • POST /payment/s2s/capture
  • POST /payment/s2s/void

Example:

{
  "transactionId": "2232e99b-0257-47d5-bbfd-022c8951767f"
}

How to obtain the Gateway Transaction ID

You can retrieve the Gateway Transaction ID from:

  1. Webhook notifications (recommended)
  2. Transaction Status API
  3. DigetPay Merchant Dashboard

Example webhook payload:

{
  "transactionId": "2232e99b-0257-47d5-bbfd-022c8951767f",
  "orderId": "ORDER-20260721-001",
  "status": "APPROVED"
}

Best practice: Store the Gateway Transaction ID together with your Merchant Order ID immediately after the payment succeeds. This simplifies future Status, Capture, Refund, and Void operations.


Common mistakes

MistakeWhy it fails
Using the Checkout Session ID for Status or RefundIt identifies the checkout session, not the completed payment.
Using the Numeric Payment IDStatus and Refund APIs require the Gateway Transaction UUID.
Calling the wrong Status endpointUse the documented Fin Status API for your integration.
❗️

If the Status API returns 404, an empty response, or Refund fails unexpectedly, verify that you are using the Gateway Transaction ID, not the Checkout Session ID.


Related guides



Did this page help you?