Payments - Create
Creates a payment object when amount and currency are passed.
This API is also used to create a mandate by passing the mandate_object
.
Depending on the user journey you wish to achieve, you may opt to complete all the steps in a single request by attaching a payment method, setting confirm=true
and capture_method = automatic
in the Payments/Create API request.
Otherwise, To completely process a payment you will have to create a payment, attach a payment method, confirm and capture funds. For that you could use the following sequence of API requests -
-
Payments - Create
-
Payments - Update
-
Payments - Confirm
-
Payments - Capture.
You will require the ‘API - Key’ from the Hyperswitch dashboard to make the first call, and use the ‘client secret’ returned in this API along with your ‘publishable key’ to make subsequent API calls from your client.
This page lists the various combinations in which the Payments - Create API can be used and the details about the various fields in the requests and responses.
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.
Body
The payment amount. Amount for the payment in the lowest denomination of the currency, (i.e) in cents for USD denomination, in yen for JPY denomination etc. E.g., Pass 100 to charge $1.00 and 1 for 1¥ since ¥ is a zero-decimal currency. Read more about the Decimal and Non-Decimal Currencies
x > 0
The three letter ISO currency code in uppercase. Eg: 'USD' for the United States Dollar.
AED
, AFN
, ALL
, AMD
, ANG
, AOA
, ARS
, AUD
, AWG
, AZN
, BAM
, BBD
, BDT
, BGN
, BHD
, BIF
, BMD
, BND
, BOB
, BRL
, BSD
, BTN
, BWP
, BYN
, BZD
, CAD
, CDF
, CHF
, CLP
, CNY
, COP
, CRC
, CUP
, CVE
, CZK
, DJF
, DKK
, DOP
, DZD
, EGP
, ERN
, ETB
, EUR
, FJD
, FKP
, GBP
, GEL
, GHS
, GIP
, GMD
, GNF
, GTQ
, GYD
, HKD
, HNL
, HRK
, HTG
, HUF
, IDR
, ILS
, INR
, IQD
, IRR
, ISK
, JMD
, JOD
, JPY
, KES
, KGS
, KHR
, KMF
, KPW
, KRW
, KWD
, KYD
, KZT
, LAK
, LBP
, LKR
, LRD
, LSL
, LYD
, MAD
, MDL
, MGA
, MKD
, MMK
, MNT
, MOP
, MRU
, MUR
, MVR
, MWK
, MXN
, MYR
, MZN
, NAD
, NGN
, NIO
, NOK
, NPR
, NZD
, OMR
, PAB
, PEN
, PGK
, PHP
, PKR
, PLN
, PYG
, QAR
, RON
, RSD
, RUB
, RWF
, SAR
, SBD
, SCR
, SDG
, SEK
, SGD
, SHP
, SLE
, SLL
, SOS
, SRD
, SSP
, STN
, SVC
, SYP
, SZL
, THB
, TJS
, TMT
, TND
, TOP
, TRY
, TTD
, TWD
, TZS
, UAH
, UGX
, USD
, UYU
, UZS
, VES
, VND
, VUV
, WST
, XAF
, XCD
, XOF
, XPF
, YER
, ZAR
, ZMW
, ZWL
The Amount to be captured / debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc., If not provided, the default amount_to_capture will be the payment amount. Also, it must be less than or equal to the original payment account.
The shipping cost for the payment. This is required for tax calculation in some regions.
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant. The value for this field can be specified in the request, it will be auto generated otherwise and returned in the API response.
30
This allows to manually select a connector with which the payment can go through.
adyenplatform
, phonypay
, fauxpay
, pretendpay
, stripe_test
, adyen_test
, checkout_test
, paypal_test
, aci
, adyen
, airwallex
, authorizedotnet
, bambora
, bamboraapac
, bankofamerica
, billwerk
, bitpay
, bluesnap
, boku
, braintree
, cashtocode
, checkout
, coinbase
, cryptopay
, cybersource
, datatrans
, deutschebank
, digitalvirgo
, dlocal
, ebanx
, elavon
, fiserv
, fiservemea
, fiuu
, forte
, globalpay
, globepay
, gocardless
, gpayments
, helcim
, iatapay
, itaubank
, klarna
, mifinity
, mollie
, multisafepay
, netcetera
, nexinets
, nexixpay
, nmi
, noon
, novalnet
, nuvei
, opennode
, paybox
, payme
, payone
, paypal
, payu
, placetopay
, powertranz
, prophetpay
, rapyd
, razorpay
, shift4
, square
, stax
, stripe
, taxjar
, threedsecureio
, trustpay
, tsys
, volt
, wellsfargo
, wise
, worldline
, worldpay
, signifyd
, plaid
, riskified
, zen
, zsl
Default value if not passed is set to 'automatic' which results in Auth and Capture in one single API request. Pass 'manual' or 'manual_multiple' in case you want do a separate Auth and Capture by first authorizing and placing a hold on your customer's funds so that you can use the Payments/Capture endpoint later to capture the authorized amount. Pass 'manual' if you want to only capture the amount later once or 'manual_multiple' if you want to capture the funds multiple times later. Both 'manual' and 'manual_multiple' are only supported by a specific list of processors
automatic
, manual
, manual_multiple
, scheduled
, sequential_automatic
Pass this parameter to force 3DS or non 3DS auth for this payment. Some connectors will still force 3DS auth even in case of passing 'no_three_ds' here and vice versa. Default value is 'no_three_ds' if not set
three_ds
, no_three_ds
Whether to confirm the payment (if applicable). It can be used to completely process a payment by attaching a payment method, setting confirm=true
and capture_method = automatic
in the Payments/Create API request itself.
Passing this object creates a new customer or attaches an existing customer to the payment
The identifier for the customer
1 - 64
Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. When making a recurring payment by passing a mandate_id, this parameter is mandatory
A description for the payment
The URL to which you want the user to be redirected after the completion of the payment operation
Indicates that you intend to make future payments with the payment methods used for this Payment. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.
- On_session - Payment method saved only at hyperswitch when consent is provided by the user. CVV will asked during the returning user payment
- Off_session - Payment method saved at both hyperswitch and Processor when consent is provided by the user. No input is required during the returning user payment.
off_session
, on_session
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
As Hyperswitch tokenises the sensitive details about the payments method, it provides the payment_token as a reference to a stored payment method, ensuring that the sensitive details are not exposed in any manner.
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.
255
Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.
255
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
Passing this object during payments creates a mandate. The mandate_type sub object is passed by the server.
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.
A unique identifier to link the payment to a mandate. To do Recurring payments after a mandate has been created, pass the mandate_id instead of payment_method_data
255
Browser information to be used for 3DS 2.0
To indicate the type of payment experience that the customer would go through
redirect_to_url
, invoke_sdk_client
, display_qr_code
, one_click
, link_wallet
, invoke_payment_app
, display_wait_screen
, collect_otp
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
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, boleto
, bca_bank_transfer
, bni_va
, bri_va
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eps
, 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
, 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
AF
, AX
, AL
, DZ
, AS
, AD
, AO
, AI
, AQ
, AG
, AR
, AM
, AW
, AU
, AT
, AZ
, BS
, BH
, BD
, BB
, BY
, BE
, BZ
, BJ
, BM
, BT
, BO
, BQ
, BA
, BW
, BV
, BR
, IO
, BN
, BG
, BF
, BI
, KH
, CM
, CA
, CV
, KY
, CF
, TD
, CL
, CN
, CX
, CC
, CO
, KM
, CG
, CD
, CK
, CR
, CI
, HR
, CU
, CW
, CY
, CZ
, DK
, DJ
, DM
, DO
, EC
, EG
, SV
, GQ
, ER
, EE
, ET
, FK
, FO
, FJ
, FI
, FR
, GF
, PF
, TF
, GA
, GM
, GE
, DE
, GH
, GI
, GR
, GL
, GD
, GP
, GU
, GT
, GG
, GN
, GW
, GY
, HT
, HM
, VA
, HN
, HK
, HU
, IS
, IN
, ID
, IR
, IQ
, IE
, IM
, IL
, IT
, JM
, JP
, JE
, JO
, KZ
, KE
, KI
, KP
, KR
, KW
, KG
, LA
, LV
, LB
, LS
, LR
, LY
, LI
, LT
, LU
, MO
, MK
, MG
, MW
, MY
, MV
, ML
, MT
, MH
, MQ
, MR
, MU
, YT
, MX
, FM
, MD
, MC
, MN
, ME
, MS
, MA
, MZ
, MM
, NA
, NR
, NP
, NL
, NC
, NZ
, NI
, NE
, NG
, NU
, NF
, MP
, NO
, OM
, PK
, PW
, PS
, PA
, PG
, PY
, PE
, PH
, PN
, PL
, PT
, PR
, QA
, RE
, RO
, RU
, RW
, BL
, SH
, KN
, LC
, MF
, PM
, VC
, WS
, SM
, ST
, SA
, SN
, RS
, SC
, SL
, SG
, SX
, SK
, SI
, SB
, SO
, ZA
, GS
, SS
, ES
, LK
, SD
, SR
, SJ
, SZ
, SE
, CH
, SY
, TW
, TJ
, TZ
, TH
, TL
, TG
, TK
, TO
, TT
, TN
, TR
, TM
, TC
, TV
, UG
, UA
, AE
, GB
, UM
, UY
, UZ
, VU
, VE
, VN
, VG
, VI
, WF
, EH
, YE
, ZM
, ZW
, US
Business label of the merchant for this payment. To be deprecated soon. Pass the profile_id instead
Merchant connector details used to make payments.
Use this parameter to restrict the Payment Method Types to show for a given PaymentIntent
ach
, affirm
, afterpay_clearpay
, alfamart
, ali_pay
, ali_pay_hk
, alma
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, boleto
, bca_bank_transfer
, bni_va
, bri_va
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eps
, 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
, 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
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.
Some connectors like Apple Pay, Airwallex and Noon might require some additional information, find specific details in the child attributes below.
Whether to generate the payment link for this payment or not (if applicable)
Configure a custom payment link for the particular payment
Custom payment link config id set at business profile, send only if business_specific_configs is configured
The business profile to be used for this payment, if not passed the default business profile associated with the merchant account will be used. It is mandatory in case multiple business profiles have been set up.
Details of surcharge applied on this payment, if applicable
The type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
normal
, new_mandate
, setup_mandate
, recurring_mandate
Request an incremental authorization, i.e., increase the authorized amount on a confirmed payment before you capture it.
Will be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
x > 0
Additional data related to some frm(Fraud Risk Management) connectors
Whether to perform external authentication (if applicable)
Details required for recurring payment
Fee information to be charged on the payment being collected
Merchant's identifier for the payment/invoice. This will be sent to the connector if the connector provides support to accept multiple reference ids. In case the connector supports only one reference id, Hyperswitch's Payment ID will be sent as reference.
255
Whether to calculate tax for this payment intent
SCA Exemptions types available for authentication
low_value
, transaction_risk_analysis
Response
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
30
This is an identifier for the merchant account. This is inferred from the API key provided during the request
255
The status of the current payment that was made
succeeded
, failed
, cancelled
, processing
, requires_customer_action
, requires_merchant_action
, requires_payment_method
, requires_confirmation
, requires_capture
, partially_captured
, partially_captured_and_capturable
The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
The payment net amount. net_amount = amount + surcharge_details.surcharge_amount + surcharge_details.tax_amount + shipping_cost + order_tax_amount, If no surcharge_details, shipping_cost, order_tax_amount, net_amount = amount
The maximum amount that could be captured from the payment
x > 100
The three letter ISO currency code in uppercase. Eg: 'USD' for the United States Dollar.
AED
, AFN
, ALL
, AMD
, ANG
, AOA
, ARS
, AUD
, AWG
, AZN
, BAM
, BBD
, BDT
, BGN
, BHD
, BIF
, BMD
, BND
, BOB
, BRL
, BSD
, BTN
, BWP
, BYN
, BZD
, CAD
, CDF
, CHF
, CLP
, CNY
, COP
, CRC
, CUP
, CVE
, CZK
, DJF
, DKK
, DOP
, DZD
, EGP
, ERN
, ETB
, EUR
, FJD
, FKP
, GBP
, GEL
, GHS
, GIP
, GMD
, GNF
, GTQ
, GYD
, HKD
, HNL
, HRK
, HTG
, HUF
, IDR
, ILS
, INR
, IQD
, IRR
, ISK
, JMD
, JOD
, JPY
, KES
, KGS
, KHR
, KMF
, KPW
, KRW
, KWD
, KYD
, KZT
, LAK
, LBP
, LKR
, LRD
, LSL
, LYD
, MAD
, MDL
, MGA
, MKD
, MMK
, MNT
, MOP
, MRU
, MUR
, MVR
, MWK
, MXN
, MYR
, MZN
, NAD
, NGN
, NIO
, NOK
, NPR
, NZD
, OMR
, PAB
, PEN
, PGK
, PHP
, PKR
, PLN
, PYG
, QAR
, RON
, RSD
, RUB
, RWF
, SAR
, SBD
, SCR
, SDG
, SEK
, SGD
, SHP
, SLE
, SLL
, SOS
, SRD
, SSP
, STN
, SVC
, SYP
, SZL
, THB
, TJS
, TMT
, TND
, TOP
, TRY
, TTD
, TWD
, TZS
, UAH
, UGX
, USD
, UYU
, UZS
, VES
, VND
, VUV
, WST
, XAF
, XCD
, XOF
, XPF
, YER
, ZAR
, ZMW
, ZWL
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
Total number of attempts associated with this payment
The shipping cost for the payment.
The amount which is already captured from the payment, this helps in the cases where merchants can't capture all capturable amount at once.
The connector used for the payment
It's a token used for client side verification.
Time when the payment was created
The identifier for the customer object. If not provided the customer ID will be autogenerated.
This field will be deprecated soon. Please refer to customer.id
1 - 64
A description of the payment
List of refunds that happened on this intent, as same payment intent can have multiple refund requests depending on the nature of order
List of disputes that happened on this intent
List of attempts that happened on this intent
List of captures done on latest attempt
A unique identifier to link the payment to a mandate, can be used instead of payment_method_data, in case of setting up recurring payments
255
Passing this object during payments creates a mandate. The mandate_type sub object is passed by the server.
Indicates that you intend to make future payments with the payment methods used for this Payment. Providing this parameter will attach the payment method to the Customer, if present, after the Payment is confirmed and any required actions from the user are complete.
- On_session - Payment method saved only at hyperswitch when consent is provided by the user. CVV will asked during the returning user payment
- Off_session - Payment method saved at both hyperswitch and Processor when consent is provided by the user. No input is required during the returning user payment.
off_session
, on_session
Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.
Default value if not passed is set to 'automatic' which results in Auth and Capture in one single API request. Pass 'manual' or 'manual_multiple' in case you want do a separate Auth and Capture by first authorizing and placing a hold on your customer's funds so that you can use the Payments/Capture endpoint later to capture the authorized amount. Pass 'manual' if you want to only capture the amount later once or 'manual_multiple' if you want to capture the funds multiple times later. Both 'manual' and 'manual_multiple' are only supported by a specific list of processors
automatic
, manual
, manual_multiple
, scheduled
, sequential_automatic
Provide a reference to a stored payment method
Information about the product , quantity and amount for connectors. (e.g. Klarna)
description: The customer's email address
This field will be deprecated soon. Please refer to customer.email
object
255
description: The customer's name
This field will be deprecated soon. Please refer to customer.name
object
255
The customer's phone number
This field will be deprecated soon. Please refer to customer.phone
object
255
The URL to redirect after the completion of the operation
Pass this parameter to force 3DS or non 3DS auth for this payment. Some connectors will still force 3DS auth even in case of passing 'no_three_ds' here and vice versa. Default value is 'no_three_ds' if not set
three_ds
, no_three_ds
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.
255
Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 255 characters for the concatenated descriptor.
255
Contains the url for redirection flow
If the payment was cancelled the reason will be provided here
If there was an error while calling the connectors the code is received here
If there was an error while calling the connector the error message is received here
To indicate the type of payment experience that the customer would go through
redirect_to_url
, invoke_sdk_client
, display_qr_code
, one_click
, link_wallet
, invoke_payment_app
, display_wait_screen
, collect_otp
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
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, boleto
, bca_bank_transfer
, bni_va
, bri_va
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eps
, 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
, 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
The connector used for this payment along with the country and business details
AF
, AX
, AL
, DZ
, AS
, AD
, AO
, AI
, AQ
, AG
, AR
, AM
, AW
, AU
, AT
, AZ
, BS
, BH
, BD
, BB
, BY
, BE
, BZ
, BJ
, BM
, BT
, BO
, BQ
, BA
, BW
, BV
, BR
, IO
, BN
, BG
, BF
, BI
, KH
, CM
, CA
, CV
, KY
, CF
, TD
, CL
, CN
, CX
, CC
, CO
, KM
, CG
, CD
, CK
, CR
, CI
, HR
, CU
, CW
, CY
, CZ
, DK
, DJ
, DM
, DO
, EC
, EG
, SV
, GQ
, ER
, EE
, ET
, FK
, FO
, FJ
, FI
, FR
, GF
, PF
, TF
, GA
, GM
, GE
, DE
, GH
, GI
, GR
, GL
, GD
, GP
, GU
, GT
, GG
, GN
, GW
, GY
, HT
, HM
, VA
, HN
, HK
, HU
, IS
, IN
, ID
, IR
, IQ
, IE
, IM
, IL
, IT
, JM
, JP
, JE
, JO
, KZ
, KE
, KI
, KP
, KR
, KW
, KG
, LA
, LV
, LB
, LS
, LR
, LY
, LI
, LT
, LU
, MO
, MK
, MG
, MW
, MY
, MV
, ML
, MT
, MH
, MQ
, MR
, MU
, YT
, MX
, FM
, MD
, MC
, MN
, ME
, MS
, MA
, MZ
, MM
, NA
, NR
, NP
, NL
, NC
, NZ
, NI
, NE
, NG
, NU
, NF
, MP
, NO
, OM
, PK
, PW
, PS
, PA
, PG
, PY
, PE
, PH
, PN
, PL
, PT
, PR
, QA
, RE
, RO
, RU
, RW
, BL
, SH
, KN
, LC
, MF
, PM
, VC
, WS
, SM
, ST
, SA
, SN
, RS
, SC
, SL
, SG
, SX
, SK
, SI
, SB
, SO
, ZA
, GS
, SS
, ES
, LK
, SD
, SR
, SJ
, SZ
, SE
, CH
, SY
, TW
, TJ
, TZ
, TH
, TL
, TG
, TK
, TO
, TT
, TN
, TR
, TM
, TC
, TV
, UG
, UA
, AE
, GB
, UM
, UY
, UZ
, VU
, VE
, VN
, VG
, VI
, WF
, EH
, YE
, ZM
, ZW
, US
The business label of merchant for this payment
The business_sub_label for this payment
Allowed Payment Method Types for a given PaymentIntent
ach
, affirm
, afterpay_clearpay
, alfamart
, ali_pay
, ali_pay_hk
, alma
, apple_pay
, atome
, bacs
, bancontact_card
, becs
, benefit
, bizum
, blik
, boleto
, bca_bank_transfer
, bni_va
, bri_va
, card_redirect
, cimb_va
, classic
, credit
, crypto_currency
, cashapp
, dana
, danamon_va
, debit
, duit_now
, efecty
, eps
, 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
, 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
ephemeral_key for the customer_id mentioned
If true the payment can be retried with same or different payment method which means the confirm call can be made again.
A unique identifier for a payment provided by the connector
frm message is an object sent inside the payments response...when frm is invoked, its value is Some(...), else its None
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.
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
reference(Identifier) to the payment at connector side
The business profile that is associated with this payment
Details of surcharge applied on this payment, if applicable
Denotes the action(approve or reject) taken by merchant in case of manual review. Manual review can occur when the transaction is marked as risky by the frm_processor, payment processor or when there is underpayment/over payment incase of crypto payment
Identifier of the connector ( merchant connector account ) which was chosen to make the payment
If true, incremental authorization can be performed on this payment, in case the funds authorized initially fall short.
Total number of authorizations happened in an incremental_authorization payment
List of incremental authorizations happened to the payment
Details of external authentication
Flag indicating if external 3ds authentication is made or not
Date Time for expiry of the payment
Payment Fingerprint, to identify a particular card. It is a 20 character long alphanumeric code.
Browser information to be used for 3DS 2.0
Identifier for Payment Method used for the payment
Payment Method Status
active
, inactive
, processing
, awaiting_data
Date time at which payment was updated
Fee information to be charged on the payment being collected
You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. FRM Metadata is useful for storing additional, structured information on an object related to FRM.
Merchant's identifier for the payment/invoice. This will be sent to the connector if the connector provides support to accept multiple reference ids. In case the connector supports only one reference id, Hyperswitch's Payment ID will be sent as reference.
255
This Unit struct represents MinorUnit in which core amount works
Connector Identifier for the payment method