Skip to main content

Event Overview

Event Type: PAYMENT_DETAILS_MISSING
Category: Payment
Description: Payment was recorded but one or more order fields required for payment verification are missing.
This webhook notifies you which fields that are missing for payment verification so you can supply them via the Partner API (order update or upload-verification-details) or dashboard. It is used for any payment with missing verification details, including VBA transfer and regular payment success flows.

When the webhook is sent

The webhook is sent only when all of the following are true:
  1. Merchant has webhook URL – Your merchant account (or parent, for sub-merchants) has an active API credential with a non-empty webhook URL.
  2. At least one detail is missing – The payment’s order is missing one or more verification fields (see details_missing below). If all six fields are present on the order, the webhook is not sent.

Delivery Details

AttributeValue
HTTP methodPOST
URLThe webhook URL configured on your merchant account’s API credentials
Content-Typeapplication/json
Timeout10 seconds
RetriesUp to 5 delivery attempts (backoff: 1 min, 5 min, 15 min, 60 min)

Headers

HeaderDescription
Content-Typeapplication/json
User-AgentEximpe-Webhook/1.0
X-Webhook-EventPAYMENT_DETAILS_MISSING
X-Webhook-TimestampUnix timestamp (string) at the time of the request
X-Webhook-SignatureHMAC-SHA256 signature of the request body (JSON string with keys sorted, no extra whitespace), using your API key as the secret. Hex-encoded.
Signature verification (recommended):
Compute HMAC-SHA256(api_key, raw_body) where raw_body is the exact UTF-8 request body as received. Compare the hex result with the X-Webhook-Signature header to ensure the webhook is from the platform and unchanged.

Payload Schema

{
  "event_type": "PAYMENT_DETAILS_MISSING",
  "event_time": "2025-02-12T10:30:00.123456Z",
  "version": "2.0.0",
  "sequence_number": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "order_uid": "660e8400-e29b-41d4-a716-446655440001",
    "payment_id": "770e8400-e29b-41d4-a716-446655440002",
    "message": "Payment recorded but verification details missing for Upload Payment Verification Details API. Supply the missing fields via the upload-verification-details API or dashboard.",
    "details_missing": [
      "buyer_name",
      "product_description",
      "buyer_address",
      "invoice_number",
      "buyer_postal_code",
      "hs_code"
    ]
  }
}

Field Specifications

event_type
string
required
Always "PAYMENT_DETAILS_MISSING" for this webhook event
event_time
string
required
ISO 8601 datetime when the webhook event was createdExample: "2025-02-12T10:30:00.123456Z"
version
string
required
Envelope version (e.g. “2.0.0”)
sequence_number
string
required
Unique identifier for this webhook event (UUID), useful for idempotencyExample: "550e8400-e29b-41d4-a716-446655440000"
data
object
required
Event payload: order_uid, payment_id, message, details_missing

details_missing field names

Each element in details_missing is a field name that may be missing on the order. Supply the missing fields by updating the order (Partner API or dashboard) or by calling the upload-verification-details endpoint for that payment. The following field names may appear:
Field nameDescription
buyer_nameName of the buyer/importer.
product_descriptionDescription of the product/goods.
buyer_addressBuyer’s address.
invoice_numberInvoice number.
buyer_postal_codeBuyer’s postal/ZIP code.
hs_codeHS code (or hs_code_description on the order).
The webhook is sent only when at least one of these fields is missing (empty or not set) on the order.

What to Do When You Receive This Webhook

  1. Respond with HTTP 2xx (e.g. 200 OK) as soon as you have accepted the payload, so the platform marks the delivery as successful and does not retry.
  2. Verify the signature using your API key and the raw request body (HMAC-SHA256, hex) to ensure authenticity.
  3. Use order_uid and payment_id to fetch full order/payment details from the Partner API if needed (e.g. amount, status).
  4. Supply missing verification details by updating the order with the missing fields (via the Partner API or dashboard) or by calling the upload-verification-details endpoint for that payment. The details_missing array lists the field names that are missing (e.g. buyer_name, product_description, invoice_number, buyer_address, buyer_postal_code, hs_code).