v1

latestOpenAPI 3.0.12026-07-24204977.5 KB
Pre-Auth

Void a pre-authorization

Releases the held funds for a pre-authorization. The pre-auth must be in AUTHORIZED status. If the provider rejects the void, the pre-auth stays AUTHORIZED and the merchant may retry.

post/tokenized-payment/v1/pre-auths/{id}/void

Path parameters

idstring required

Pre-authorization UUID returned by POST /pre-auths.

Request body

reasonstring

Optional free-text reason for voiding. Stored verbatim on the pre-auth lifecycle.

merchantMetadataobject

Opaque JSON blob stored verbatim on the pre-auth row, replacing any value set at creation. Max 5 keys; each string value must not exceed 200 characters.

Example request

{
  "reason": "Rider cancelled before driver arrived",
  "merchantMetadata": {
    "replacesPaymentId": "ord-D",
    "tripId": "trip-456"
  }
}

Response

idstring required

Pre-authorization UUID.

merchantRefstring required

Merchant's reference ID supplied at creation.

status'PENDING' | 'AUTHORIZED' | 'CAPTURE_INITIATED' | 'CAPTURED' | 'VOIDED' | 'DECLINED' | 'EXPIRED' required

Lifecycle state of the pre-authorization.

amountnumber required

Hold amount in major currency units.

currencystring required

3-letter ISO currency code.

orderUuidstring nullable required

UUID of the settled order. Non-null after capture.

orderStatusstring nullable required

Status of the settled order. Non-null after capture.

failureReasonstring nullable required

Failure reason if the pre-auth was declined or expired.

merchantMetadataobject nullable required

Merchant-supplied metadata stored verbatim at creation.

createdAtstring required

ISO 8601 creation timestamp.

updatedAtstring required

ISO 8601 last-updated timestamp.

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "merchantRef": "trip-456",
  "status": "AUTHORIZED",
  "amount": 20.5,
  "currency": "SGD",
  "orderUuid": "7b3f1234-ab12-4321-b123-000000000001",
  "orderStatus": "COMPLETED",
  "merchantMetadata": {
    "tripId": "trip-456"
  },
  "createdAt": "2026-04-30T10:00:00.000Z",
  "updatedAt": "2026-04-30T10:05:00.000Z"
}