High Wire Payments
Payments

Authorize and capture a payment

Authorizes and captures the requested amount in a single operation. The request can optionally save the payment method for future use. When the issuer requires 3-D Secure, the call returns 201 with status REQUIRES_ACTION and a nextAction redirect for the customer; the final state settles asynchronously (poll GET /payments/:id).

POST
/v1/payments/auth-and-capture
AuthorizationBasic <token>

Basic HTTP authentication

In: header

Header Parameters

Idempotency-Key?string

Optional client-supplied retry key (≤255 chars; UUID v4 recommended). Don't use sensitive data — emails, PANs, or other personal identifiers. Identical requests retried with the same key return the original response. Mismatched bodies return 422; in-flight duplicates return 409. Keys are scoped per merchant + endpoint and expire after 24 hours. On 5xx, retry with the same key: a retry cannot create a duplicate charge.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/payments/auth-and-capture" \  -H "Content-Type: application/json" \  -d '{    "amount": 7200,    "cardNumber": "5555555555554444",    "cardExpiration": "1133",    "cardCvv": "456",    "cardholderName": "Jordan Example",    "cardholderEmail": "jordan@example.com",    "cardholderPhone": "+14155550101",    "cardholderBillingAddress": "100 Example Street",    "cardholderBillingZipcode": "94105",    "cardholderBillingCity": "Springfield",    "cardholderBillingState": "CA"  }'
{  "paymentId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9b9b",  "status": "CAPTURED",  "amount": 7200,  "cardNumber": "555555xxxxxxxx4444",  "cardExpiration": "1133",  "cardholderName": "Jordan Example",  "customerId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9bcc",  "paymentMethodId": "01928e3e-7b6c-7c8e-9b3a-5b9f8b9b9bff",  "nextAction": {    "kind": "REDIRECT",    "url": "https://pay.gateway.example/3ds/redirect/…",    "method": "GET",    "data": {      "property1": "string",      "property2": "string"    },    "fallbackUrl": "string"  }}