Skip to main content
Card payments and digital wallets both use the same POST /payment/purchase endpoint, with a single discriminated paymentMethod object: { "type": "<code>", "<code>": { ...fields } }. paymentMethod is always required and explicit — there is no implicit default, "card" included. All card and wallet methods support both one-time and recurring (subscription) charges unless noted otherwise.
Wallet methods such as Apple Pay and Google Pay require a connection configured in your Therius dashboard. Contact Therius to enable wallet decryption for your merchant account before going live.

Credit/Debit Card — card

Cards are the universal default. Every currency and country is supported. Pass raw card data server-side during testing; for browser-based checkouts, use a nonce from the JS SDK’s hosted fields instead of raw card data to keep your integration out of PCI scope.
card also accepts nonceData (an SDK hosted-fields nonce), tokenData (reuse a vaulted card), networkTokenData, installments, cardOnFile, networkTransactionId, networkReferenceId, and threeDs (pre-authenticated 3DS proof from your own MPI — see 3D Secure) — all inside the same card object, never at the request root.

Apple Pay — applepay

Apple Pay is supported across iOS, macOS, and Safari. Use the JS SDK’s createWalletButton to render the Apple Pay button and launch the payment sheet. The raw payment token returned by ApplePaySession goes into applepay.token. Apple Pay supports recurring charges.

Google Pay — googlepay

Google Pay works across Android, Chrome, and any browser where the shopper has a saved card. Use the JS SDK’s createWalletButton to render the button and receive the PaymentData token. Google Pay supports recurring charges.

Click to Pay — click_to_pay

Click to Pay is the Visa/Mastercard network-level saved-card scheme, powered by CyberSource. The shopper selects a saved network card without entering card details. Use the JS SDK’s createClickToPayButton to render the button and obtain a nonce.
For the Adyen Card Component’s Click to Pay flow instead, pass adyenPaymentMethod (the component’s onSubmit state) in place of encPaymentData/callId — Therius forwards it to Adyen verbatim without decrypting it.
The redirect wallets below (PayPal through PicPay) have no provider-required fields beyond type — they’re pure redirects. Omit paymentMethod and the request is rejected — every method must be sent explicitly.

PayPal — paypal

PayPal supports USD, EUR, GBP, and many additional currencies. It is a redirect-based flow — the shopper is redirected to PayPal to log in and confirm. The response returns status: "pending_action" with actionRequired.url.

Venmo — venmo

Venmo is available for USD transactions in the United States. It uses a redirect flow similar to PayPal.

Alipay — alipay

Alipay supports CNY plus 13 additional currencies for cross-border transactions. Shoppers authenticate in the Alipay app or via QR code. The response returns a redirect URL or QR payload.

WeChat Pay — wechat_pay

WeChat Pay supports CNY plus 9 additional currencies. Shoppers scan a QR code or complete payment inside the WeChat app.

GrabPay — grabpay

GrabPay is Southeast Asia’s leading super-app wallet, available in Malaysia, Singapore, Philippines, Thailand, and Vietnam. Supported currencies: MYR, SGD, PHP, THB, VND.

Amazon Pay — amazon_pay

Amazon Pay lets shoppers use their Amazon account’s stored payment and address details. Supported currencies: USD, EUR, GBP, JPY.

Revolut Pay — revolut_pay

Revolut Pay is available for EUR, GBP, and Central & Eastern European currencies. Shoppers authenticate via the Revolut app.

TWINT — twint

TWINT is Switzerland’s national mobile payment app. CHF only.

MobilePay — mobilepay

MobilePay is widely used in Denmark and Finland. Supported currencies: DKK, EUR.

Cash App Pay — cashapp

Cash App Pay is available for USD transactions in the United States. Shoppers authenticate via the Cash App on their mobile device.

PicPay — picpay_wallet

PicPay is a popular Brazilian digital wallet. BRL only.

Wallet Tokenization

You can save a wallet payment method for future use — for example, to charge a shopper again without requiring them to re-authenticate. To tokenize a wallet transaction, set tokenize: true inside the wallet’s object and include a shopper.id in your request. Therius stores the wallet token against that shopper and makes it available for subsequent charges.
Wallet tokenization requires a shopper.id. Without it, the tokenize flag is ignored and no token is saved.