High Wire Payments

Introduction

What the High Wire merchant API does, the environments it runs in, how a request looks, and where each guide fits.

The High Wire merchant API is a payments gateway. From your server you authorize, capture, void and refund card payments, charge saved cards again, create hosted checkout links, and read any payment back with its full history. Every call is a JSON request over HTTPS, authenticated with HTTP Basic, under /v1.

This site has two halves. The guides (this section) explain each flow with field tables and complete examples, and are the place to start. The API reference is generated from the OpenAPI document and lists every endpoint and schema; the same document is served at /openapi/gateway-payments.json, and plain-text versions of these pages at /llms.txt and /llms-full.txt.

Three ways to take a payment

SurfaceWhere the card is enteredGuide
Direct card chargesOn your server. You send the card number and charge it in one call, or authorize now and capture later. For environments allowed to handle card data.Card payments
Hosted checkoutOn a page High Wire hosts. Your server sends the cart, receives a link, and hands it to the shopper. No card data and no browser code on your side.Hosted checkout
Payment SDKIn your own page, inside secure fields High Wire serves. Your server never sees the card; the browser confirms the payment.Payment SDK

All three produce the same payment object, which you read, refund and reconcile through this API. A card saved during a direct charge or an SDK checkout can be charged again with the customer present. Which surfaces your account can use is part of its configuration; High Wire confirms it at onboarding.

Environments

EnvironmentAPI base URLHosted checkout host
Staginghttps://api-payments-staging.highwirepayments.com/v1checkout-staging.highwirepayments.com
Productionhttps://api-payments.highwirepayments.com/v1checkout.highwirepayments.com

Staging and production are separate systems with separate credentials. Staging processes test cards only; High Wire gives you test card numbers for your account at onboarding. Every example in these guides targets staging.

A request in one minute

curl -X POST https://api-payments-staging.highwirepayments.com/v1/payments/auth-and-capture \
  -u "YOUR_API_KEY:YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 0193c2e9-4f9a-7c2f-9c83-1b2b3c4d5e6f" \
  -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" }'
  • Authentication: HTTP Basic with your username and secret, server-side only.
  • Amounts are integers in cents; the currency is USD.
  • Every POST answers 201, with the object it created or acted on. Reads answer 200.
  • Ids are UUID v7 strings. Persist the paymentId every call returns.
  • Idempotency: send an Idempotency-Key on every write so a retry can never charge twice.
  • Errors come in a handful of JSON shapes, told apart by their fields. A declined charge is a 400 whose body carries status: "DECLINED" and a declinedReason.

The details are in Errors and conventions.

Endpoints

Method and pathWhat it doesGuideReference
POST /v1/payments/auth-and-captureCharge a card now.Card paymentsauthAndCapture
POST /v1/payments/authHold funds on a card for later capture.Card paymentsauth
POST /v1/payments/{id}/captureCapture an authorized payment, in full.Card paymentscapture
POST /v1/payments/{id}/voidCancel an authorized or in-flight payment.Card paymentsvoid
POST /v1/payments/charge-saved-methodCharge a saved card again.Saved payment methodschargeSavedMethod
POST /v1/payments/checkout-sessionCreate a hosted checkout link.Hosted checkoutcreateCheckoutSession
POST /v1/payments/{id}/checkout-session/linkReissue a hosted checkout link, revoking the previous one.Hosted checkoutreissueCheckoutLink
POST /v1/payments/{id}/refundRefund a captured payment, in full or in part.Refundsrefund
GET /v1/payments/{id}Read a payment with its history.Payment lifecyclegetPayment

Guides

On this page