Payments - Incremental Authorization
Authorized amount for a payment can be incremented if it is in status: requires_capture
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.
Path Parameters
The identifier for payment
Body
The total amount including previously authorized amount and additional amount
Reason for incremental authorization
Response
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 maximum amount that could be captured from the payment
x > 100
Total number of attempts associated with this payment
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
This is an identifier for the merchant account. This is inferred from the API key provided during the request
255
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
Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
30
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
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
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
The amount which is already captured from the payment, this helps in the cases where merchants can't capture all capturable amount at once.
List of attempts that happened on this intent
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
Total number of authorizations happened in an incremental_authorization payment
Browser information to be used for 3DS 2.0
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
If the payment was cancelled the reason will be provided here
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
A timestamp (ISO 8601 code) that determines when the payment should be captured.
Providing this field will automatically set capture
to true
List of captures done on latest attempt
It's a token used for client side verification.
The connector used for the payment
The connector used for this payment along with the country and business details
Connector Identifier for the payment method
Some connectors like Apple Pay, Airwallex and Noon might require some additional information, find specific details in the child attributes below.
A unique identifier for a payment provided by the connector
Time when the payment was created
Details of customer attached to this payment
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 disputes that happened on this intent
description: The customer's email address
This field will be deprecated soon. Please refer to customer.email
object
255
ephemeral_key for the customer_id mentioned
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
Date Time for expiry of the payment
Flag indicating if external 3ds authentication is made or not
Details of external authentication
additional data that might be required by hyperswitch
Payment Fingerprint, to identify a particular card. It is a 20 character long alphanumeric code.
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. FRM Metadata is useful for storing additional, structured information on an object related to FRM.
If true, incremental authorization can be performed on this payment, in case the funds authorized initially fall short.
List of incremental authorizations happened to the payment
Passing this object during payments creates a mandate. The mandate_type sub object is passed by the server.
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
If true the payment can be retried with same or different payment method which means the confirm call can be made again.
Identifier of the connector ( merchant connector account ) which was chosen to make the payment
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
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
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.
description: The customer's name
This field will be deprecated soon. Please refer to customer.name
object
255
Contains the url for redirection flow
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.
Information about the product , quantity and amount for connectors. (e.g. Klarna)
This Unit struct represents MinorUnit in which core amount works
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
Identifier for Payment Method used for the payment
Payment Method Status
active
, inactive
, processing
, awaiting_data
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
Provide a reference to a stored payment method
The customer's phone number
This field will be deprecated soon. Please refer to customer.phone
object
255
The business profile that is associated with this payment
reference(Identifier) to the payment at connector side
List of refunds that happened on this intent, as same payment intent can have multiple refund requests depending on the nature of order
The URL to redirect after the completion of the 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 shipping cost for the payment.
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
Details of surcharge applied on this payment, if applicable
error code unified across the connectors is received here if there was an error while calling connector
error message unified across the connectors is received here if there was an error while calling connector
Date time at which payment was updated