Authorizations
Use the API key created under your merchant account from the HyperSwitch dashboard. API key is used to authenticate API requests from your merchant server only. Don't expose this key on a website or embed it in a mobile application.
Headers
Profile ID associated to the payment intent
Body
The identifier for the customer
32 - 64
"12345_cus_01926c58bc6e77c09e809964e72af8c8"
The payment method information provided for making a payment
Indicates the type of payment method. Eg: 'card', 'wallet', etc.
card
, card_redirect
, pay_later
, wallet
, bank_redirect
, bank_transfer
, crypto
, bank_debit
, reward
, real_time_payment
, upi
, voucher
, gift_card
, open_banking
, mobile_payment
Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
ach
, affirm
, afterpay_clearpay
, alfamart
, ali_pay
, ali_pay_hk
, alma
, amazon_pay
, paysera
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, bluecode
, boleto
, bca_bank_transfer
, bni_va
, breadpay
, bri_va
, bhn_card_network
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eft
, eps
, flexiti
, fps
, evoucher
, giropay
, givex
, google_pay
, go_pay
, gcash
, ideal
, interac
, indomaret
, klarna
, kakao_pay
, local_bank_redirect
, mandiri_va
, knet
, mb_way
, mobile_pay
, momo
, momo_atm
, multibanco
, online_banking_thailand
, online_banking_czech_republic
, online_banking_finland
, online_banking_fpx
, online_banking_poland
, online_banking_slovakia
, oxxo
, pago_efectivo
, permata_bank_transfer
, open_banking_uk
, pay_bright
, paypal
, paze
, pix
, pay_safe_card
, przelewy24
, prompt_pay
, pse
, red_compra
, red_pagos
, samsung_pay
, sepa
, sepa_bank_transfer
, skrill
, sofort
, swish
, touch_n_go
, trustly
, twint
, upi_collect
, upi_intent
, vipps
, viet_qr
, venmo
, walley
, we_chat_pay
, seven_eleven
, lawson
, mini_stop
, family_mart
, seicomart
, pay_easy
, local_bank_transfer
, mifinity
, open_banking_pis
, direct_carrier_billing
, instant_bank_transfer
, instant_bank_transfer_finland
, instant_bank_transfer_poland
, revolut_pay
, indonesian_bank_transfer
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
30
"pay_mbabizu24mvu3mela5njyhpit4"
The routing algorithm id to be used for the payment
Specifies how the payment is captured.
automatic
: Funds are captured immediately after successful authorization. This is the default behavior if the field is omitted.manual
: Funds are authorized but not captured. A separate request to the/payments/{payment_id}/capture
endpoint is required to capture the funds.
automatic
, manual
, manual_multiple
, scheduled
, sequential_automatic
Specifies the type of cardholder authentication to be applied for a payment.
ThreeDs
: Requests 3D Secure (3DS) authentication. If the card is enrolled, 3DS authentication will be activated, potentially shifting chargeback liability to the issuer.NoThreeDs
: Indicates that 3D Secure authentication should not be performed. The liability for chargebacks typically remains with the merchant. This is often the default if not specified.
Note: The actual authentication behavior can also be influenced by merchant configuration and specific connector defaults. Some connectors might still enforce 3DS or bypass it regardless of this parameter.
three_ds
, no_three_ds
Set to present
to indicate that the customer is in your checkout flow during this payment, and therefore is able to authenticate. This parameter should be absent
when merchant's doing merchant initiated payments and customer is not present while doing the payment.
present
, absent
A description for the payment
"It's my first payment request"
The URL to which you want the user to be redirected after the completion of the payment operation
"https://hyperswitch.io"
Specifies how the payment method can be used for future payments.
off_session
: The payment method can be used for future payments when the customer is not present.on_session
: The payment method is intended for use only when the customer is present during checkout. If omitted, defaults toon_session
.
off_session
, on_session
Apply
, Skip
For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.
22
"Hyperswitch Router"
Use this object to capture the details about the different products for which the payment is being made. The sum of amount across different products here should be equal to the overall payment amount
"[{\n \"product_name\": \"Apple iPhone 16\",\n \"quantity\": 1,\n \"amount\" : 69000\n \"product_img_link\" : \"https://dummy-img-link.com\"\n }]"
Use this parameter to restrict the Payment Method Types to show for a given PaymentIntent
Metadata is useful for storing additional, unstructured information on an object.
Some connectors like Apple Pay, Airwallex and Noon might require some additional information, find specific details in the child attributes below.
additional data that might be required by hyperswitch
Whether payment link is requested to be enabled or not for this transaction
Enable
, Skip
true
, false
, default
Will be used to expire client secret after certain amount of time to be supplied in seconds, if not sent it will be taken from profile config (900) for 15 mins
x >= 0
900
Additional data related to some frm(Fraud Risk Management) connectors
Whether 3ds authentication is requested or not
Enable
, Skip
This "CustomerAcceptance" object is passed during Payments-Confirm request, it enlists the type, time, and mode of acceptance properties related to an acceptance done by the customer. The customer_acceptance sub object is usually passed by the SDK or client.
Browser information to be used for 3DS 2.0
The payment_method_id to be associated with the payment
Indicates if 3ds challenge is forced
Indicates if the redirection has to open in the iframe
Merchant connector details
Stringified connector raw response body. Only returned if return_raw_connector_response
is true
Response
Payment created
Response for Payment Intent Confirm Few fields should be expandable, we need not return these in the normal response But when explicitly requested for expanded objects, these can be returned For example shipping, billing, customer, payment_method
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
32 - 64
"12345_pay_01926c58bc6e77c09e809964e72af8c8"
Represents the overall status of a payment intent. The status transitions through various states depending on the payment method, confirmation, capture method, and any subsequent actions (like customer authentication or manual capture).
succeeded
, failed
, cancelled
, cancelled_post_capture
, processing
, requires_customer_action
, requires_merchant_action
, requires_payment_method
, requires_confirmation
, requires_capture
, partially_captured
, partially_captured_and_capturable
, partially_authorized_and_requires_capture
, conflicted
, expired
The identifier for the customer
32 - 64
"12345_cus_01926c58bc6e77c09e809964e72af8c8"
Time when the payment was created
"2022-09-10T10:11:12Z"
Time when the payment was last modified
"2022-09-10T10:11:12Z"
The connector used for the payment
"stripe"
Indicates the type of payment method. Eg: 'card', 'wallet', etc.
card
, card_redirect
, pay_later
, wallet
, bank_redirect
, bank_transfer
, crypto
, bank_debit
, reward
, real_time_payment
, upi
, voucher
, gift_card
, open_banking
, mobile_payment
Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
ach
, affirm
, afterpay_clearpay
, alfamart
, ali_pay
, ali_pay_hk
, alma
, amazon_pay
, paysera
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, bluecode
, boleto
, bca_bank_transfer
, bni_va
, breadpay
, bri_va
, bhn_card_network
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eft
, eps
, flexiti
, fps
, evoucher
, giropay
, givex
, google_pay
, go_pay
, gcash
, ideal
, interac
, indomaret
, klarna
, kakao_pay
, local_bank_redirect
, mandiri_va
, knet
, mb_way
, mobile_pay
, momo
, momo_atm
, multibanco
, online_banking_thailand
, online_banking_czech_republic
, online_banking_finland
, online_banking_fpx
, online_banking_poland
, online_banking_slovakia
, oxxo
, pago_efectivo
, permata_bank_transfer
, open_banking_uk
, pay_bright
, paypal
, paze
, pix
, pay_safe_card
, przelewy24
, prompt_pay
, pse
, red_compra
, red_pagos
, samsung_pay
, sepa
, sepa_bank_transfer
, skrill
, sofort
, swish
, touch_n_go
, trustly
, twint
, upi_collect
, upi_intent
, vipps
, viet_qr
, venmo
, walley
, we_chat_pay
, seven_eleven
, lawson
, mini_stop
, family_mart
, seicomart
, pay_easy
, local_bank_transfer
, mifinity
, open_banking_pis
, direct_carrier_billing
, instant_bank_transfer
, instant_bank_transfer_finland
, instant_bank_transfer_poland
, revolut_pay
, indonesian_bank_transfer
A unique identifier for a payment provided by the connector
"993672945374576J"
reference(Identifier) to the payment at connector side
"993672945374576J"
Identifier of the connector ( merchant connector account ) which was chosen to make the payment
Browser information to be used for 3DS 2.0
Error details for the payment
List of payment attempts associated with payment intent
Token information that can be used to initiate transactions by the merchant.
The payment_method_id associated with the payment
Contains the url for redirection flow
The url to which user must be redirected to after completion of the purchase
Specifies the type of cardholder authentication to be applied for a payment.
ThreeDs
: Requests 3D Secure (3DS) authentication. If the card is enrolled, 3DS authentication will be activated, potentially shifting chargeback liability to the issuer.NoThreeDs
: Indicates that 3D Secure authentication should not be performed. The liability for chargebacks typically remains with the merchant. This is often the default if not specified.
Note: The actual authentication behavior can also be influenced by merchant configuration and specific connector defaults. Some connectors might still enforce 3DS or bypass it regardless of this parameter.
three_ds
, no_three_ds
Specifies the type of cardholder authentication to be applied for a payment.
ThreeDs
: Requests 3D Secure (3DS) authentication. If the card is enrolled, 3DS authentication will be activated, potentially shifting chargeback liability to the issuer.NoThreeDs
: Indicates that 3D Secure authentication should not be performed. The liability for chargebacks typically remains with the merchant. This is often the default if not specified.
Note: The actual authentication behavior can also be influenced by merchant configuration and specific connector defaults. Some connectors might still enforce 3DS or bypass it regardless of this parameter.
three_ds
, no_three_ds
Indicates if the redirection has to open in the iframe
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
30
"pay_mbabizu24mvu3mela5njyhpit4"
Stringified connector raw response body. Only returned if return_raw_connector_response
is true
additional data that might be required by hyperswitch
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.