Skip to main content
POST
POST /payment/authorization reserves funds on the cardholder’s account without settling them. The authorization hold is typically valid for 7 days, though the exact window depends on the acquirer and card network. Call Capture to settle the funds when you’re ready to fulfill, or Cancel to release the hold if you can’t fulfill the order. See the Purchase reference for the full paymentMethod/shopper/response field descriptions — the request and response shape are identical, only the outcome differs (a hold instead of a settled charge).
Partial capture is supported. When you call Capture, you can pass an amount less than or equal to the authorized amount. For example, if you authorized $99.00 but only shipped $75.00 worth of goods, capture $75.00 and the remaining hold is released automatically.
Authorization holds expire — typically after 7 days, but this varies by acquirer and card network. If you don’t call Capture before expiry, the hold is released and you’ll need to re-authorize. Monitor hold age in your order management system.

Authorizations

Authorization
string
header
required

Your secret API key: Bearer prv_production_xxx (production) or Bearer prv_sandbox_xxx (sandbox).

Headers

Idempotency-Key
string<uuid>

A UUID you generate per operation. Required in production. Retrying with the same key returns the original response.

Body

application/json
merchantCode
string
required

Your merchant account identifier. Validated against the Bearer key's merchant; required if the key maps to more than one merchant account.

orderCode
string
required

Your internal order reference. Must be unique per merchant — use it to correlate Therius payments with your own records.

amount
object
required
paymentMethod
object
required

The payment instrument/method to charge. Always required.

Example:
shopper
object

Shopper information. Required when tokenizing a card (card.<instrument>.tokenize: true).

webhookUrl
string

Per-payment webhook URL override (HTTPS only). Therius posts the final payment status here when it changes asynchronously.

connectionId
string

Pin this payment to a specific connection by its opaque id (as returned by POST /payment/bank-options). Takes precedence over connectionCode. Omit to use your routing rules.

connectionCode
string

Pin this payment to a specific gateway connection. Omit to use your routing rules.

ipAddress
string

Cardholder's IP address, used for fraud scoring and by some providers. If you omit it, Therius uses the address of the connecting client, which is your server when you call from a backend, so send the shopper's real IP in that case.

metadata
object

Arbitrary string key/value pairs, echoed back in webhook payloads.

lineItems
object[]

Shared, request-level line items (description, quantity, line total). On a card payment they also supply the Level 3 breakdown when commercialData is sent. Used by BNPL providers for credit scoring and generic across every Adyen bank-redirect method, not method-specific -- a sibling of paymentMethod, never nested inside it.

billingAddress
object

Shared, request-level billing address used by APM methods that need one (e.g. Boleto, Efecty).

deliveryAddress
object

Shared, request-level delivery address used by BNPL providers for fraud scoring.

commercialData
object

Opt in to Level 2/3 card data (customer reference, tax, freight, ship-to and, with lineItems that carry unitAmount, the per-line breakdown). Card payments only. See the Level 2 and 3 card data guide.

Response

200 - application/json

Authorization result

id
string<uuid>

The Therius payment id. Returned by POST /payment/authorization and POST /payment/purchase; use it as the {id} path segment for capture, refund, cancel and cancel_or_refund.

Example:

"9f8b2c1e-4d5a-6b7c-8d9e-0f1a2b3c4d5e"

status
enum<string>

captured - funds settled; authorized - funds reserved, call capture to settle; declined - issuer declined, see refusalCode; pending_3ds - a 3DS challenge is required, see actionRequired; pending_action - an external action (redirect, voucher) is required, see actionRequired; failed - processing error unrelated to the issuer; canceled - authorization voided; refunded - captured funds returned.

Available options:
captured,
authorized,
declined,
pending_3ds,
pending_action,
failed,
canceled,
refunded
paymentCode
string

Therius receipt ID, for reconciliation, support and Inquiry. NOT the handle for capture/refund/cancel — use id for that.

Example:

"PC-1234567890"

orderCode
string

Your orderCode, echoed back.

merchantCode
string

Your merchantCode, echoed back.

autorizationCode
string

Issuer authorization code on an approved payment. The field name is misspelled on the wire (no h) - this is intentional and stable.

paymentMethod
string

Payment method used, e.g. card, pix, ach.

connectionCode
string

Code of the connection that processed the payment. Omitted for payfac merchants.

connectionName
string

Display name of the gateway connection that processed the payment.

amount
object
card
object

Card details from the response: masked PAN, brand, type, and the network transaction/reference IDs to cite on future MIT charges.

apm
object

Alternative-payment-method details (redirect URL, QR code, barcode) when paymentMethod is an APM.

token
object

Present when the card was tokenized (tokenize: true).

actionRequired
object

Present when status is pending_3ds or pending_action. Describes what the cardholder must do next — with the Therius JS SDK, pass the whole object to sdk.handleAction().

refusalCode
object

Present when status is declined. See the Declined Payments concept page for the full code table and how to react to each recoveryAction. For alternative payment methods reasonCode is an APM_* code.