API

Idempotency

Use idempotency to safely retry requests without creating duplicate side effects where supported.


Native Apple Pay authorize

POST /v1/sdk/apple-pay/payments/{track_id}/authorize requires an Idempotency-Key header.

  • Same key + same body → VenPays returns the original result
  • Same key + different body → conflict error

Generate a unique key per logical authorize attempt from your client.


Other merchant endpoints

For initiate, refund, and similar merchant endpoints, treat each successful initiation as a new payment. If your HTTP client times out, reconcile by track_id (when you have one) using status APIs and webhooks rather than blindly retrying initiation.


Webhooks

Each webhook delivery includes a unique event id. Process events idempotently so retries do not apply the same business action twice.