Schemas
AcceptanceType
This is used to indicate if the mandate was accepted online or offline
AcceptedCountries
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="enable_only" · requires: list | |
| type = object · type="disable_only" · requires: list | |
| type = object · type="all_accepted" |
typelistAcceptedCurrencies
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="enable_only" · requires: list | |
| type = object · type="disable_only" · requires: list | |
| type = object · type="all_accepted" |
typelistAcceptedPaymentCurrencyLimit
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
min_amountThis Unit struct represents MinorUnit in which core amount works
max_amountThis Unit struct represents MinorUnit in which core amount works
AchBankDebitAdditionalData
account_numberPartially masked account number for ach bank debit payment
routing_numberPartially masked routing number for ach bank debit payment
card_holder_nameCard holder's name
bank_account_holder_nameBank account's owner name
bank_nameName of banks supported by Hyperswitch
bank_typebank_holder_typeAchBankTransfer
bank_account_numberBank account number is an unique identifier assigned by a bank to a customer.
bank_routing_number[9 digits] Routing number - used in USA for identifying a specific bank.
bank_nameBank name
bank_country_codebank_cityBank city
AchBankTransferAdditionalData
bank_account_numberPartially masked account number for ach bank debit payment
bank_routing_numberPartially masked routing number for ach bank debit payment
bank_nameName of banks supported by Hyperswitch
bank_country_codebank_cityBank city
AchTransfer
account_numberbank_namerouting_numberswift_codeAcquirerConfig
acquirer_assigned_merchant_idThe merchant id assigned by the acquirer
merchant_namemerchant name
networkNetwork provider
acquirer_binAcquirer bin
acquirer_fraud_rateFraud rate for the particular acquirer configuration
acquirer_icaAcquirer ica provided by acquirer
AcquirerConfigMap
acquirer_assigned_merchant_idThe merchant id assigned by the acquirer
merchant_namemerchant name
networkNetwork provider
acquirer_binAcquirer bin
acquirer_fraud_rateFraud rate for the particular acquirer configuration
acquirer_icaAcquirer ica provided by acquirer
AcquirerData
countryfraud_rateThe fraud rate associated with the acquirer.
AcquirerDetails
acquirer_binThe bin of the card.
acquirer_merchant_idThe merchant id of the card.
merchant_country_codeThe country code of the card.
AddToBlocklistBatchRequest
AddToWhitelistBatchRequest
AdditionalMerchantData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: open_banking_recipient_data |
AdditionalPayoutMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: Card | |
| type = object · requires: Bank | |
| type = object · requires: Wallet | |
| type = object · requires: BankRedirect | |
| type = object · requires: Passthrough |
Masked payout method details for card payout method
AddressDetails
cityThe city, district, suburb, town, or village of the address.
countryline1The first line of the street address or P.O. Box.
line2The second line of the street address or P.O. Box (e.g., apartment, suite, unit, or building).
line3The third line of the street address, if applicable.
zipThe zip/postal code for the address
stateThe address state
first_nameThe first name for the address
last_nameThe last name for the address
origin_zipThe zip/postal code of the origin
AdyenConnectorMetadata
AdyenSplitData
Data for the split items
storeThe store identifier
AdyenSplitItem
amountThe amount of the split item
split_typereferenceUnique Identifier for the split item
accountThe unique identifier of the account to which the split amount is allocated.
descriptionDescription for the part of the payment that will be allocated to the specified account.
AdyenSplitType
AdyenTestingData
holder_nameHolder name to be sent to Adyen for a card payment(CIT) or a generic payment(MIT). This value overrides the values for card.card_holder_name and applies during both CIT and MIT payment transactions.
AlfamartVoucherData
first_nameThe billing first name for Alfamart
last_nameThe billing second name for Alfamart
emailThe Email ID for Alfamart
AmazonPayDeliveryOptions
idDelivery Option identifier
is_defaultSpecifies if this delivery option is the default
AmazonPayDeliveryPrice
amountThis Unit struct represents MinorUnit in which core amount works
currency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
AmazonPayMerchantCredentials
merchant_idAmazon Pay merchant account identifier
store_idAmazon Pay store ID
AmazonPaySessionTokenData
AmazonPaySessionTokenResponse
merchant_idAmazon Pay merchant account identifier
ledger_currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
store_idAmazon Pay store ID
payment_intenttotal_shipping_amountThe total shipping costs
total_tax_amountThe total tax amount for the order
total_base_amountThe total amount for items in the cart
The delivery options available for the provided address
AmazonPayShippingMethod
shipping_method_nameName of the shipping method
shipping_method_codeCode of the shipping method
AmountFilter
start_amountThe start amount to filter list of transactions which are greater than or equal to the start amount
end_amountThe end amount to filter list of transactions which are less than or equal to the end amount
AmountInfo
labelThe label must be the name of the merchant.
amountThe total amount for the payment in majot unit string (Ex: 38.02)
typeA value that indicates whether the line item(Ex: total, tax, discount, or grand total) is final or pending.
ApiConnectorErrorDetails
codeConnector-specific error code
messageConnector-specific error message
reasonAdditional error reason/details
ApiIssuerErrorDetails
codeError code from the issuer
messageError message from the issuer
Network-specific error details (e.g., Visa, Mastercard)
ApiKeyExpiration
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string |
ApiKeyPermissionGrant
resourcescopeentity_typeApiKeyPermissions
JSON column value: explicit non-empty grants for the key.
resourcescopeentity_typeApiNetworkErrorDetails
nameIndicates the card network.
advice_codeNetwork advice code
advice_messageNetwork advice message
ApiUnifiedErrorDetails
categorymessageHuman-readable error message
standardised_codedescriptionDetailed description of the error
user_guidance_messageUser-friendly guidance message
recommended_actionApplePayCryptogramData
online_payment_cryptogramThe online payment cryptogram
eci_indicatorThe ECI (Electronic Commerce Indicator) value
ApplePayDecrypt
dpanThe dpan number associated with card number
expiry_monthThe card's expiry month
expiry_yearThe card's expiry year
card_holder_nameThe card holder's name
card_networkIndicates the card network.
ApplePayDecryptAdditionalData
card_exp_monthCard expiry month
card_exp_yearCard expiry year
card_holder_nameCard holder name
ApplePayPaymentData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: application_primary_account_number, application_expiration_month, application_expiration_year +1 more | |
| type = string |
application_primary_account_numberThe primary account number
application_expiration_monthThe application expiration date (PAN expiry month)
application_expiration_yearThe application expiration date (PAN expiry year)
This struct represents the cryptogram data for Apple Pay transactions
ApplePayPaymentRequest
country_codecurrency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
merchant_capabilitiesThe list of merchant capabilities(ex: whether capable of 3ds or no-3ds)
supported_networksThe list of supported networks
merchant_identifierrequired_billing_contact_fieldsrequired_shipping_contact_fieldsApplePayPredecryptData
application_primary_account_numberThe primary account number
application_expiration_monthThe application expiration date (PAN expiry month)
application_expiration_yearThe application expiration date (PAN expiry year)
This struct represents the cryptogram data for Apple Pay transactions
ApplePayRecurringDetails
payment_descriptionA description of the recurring payment that Apple Pay displays to the user in the payment sheet
management_urlA URL to a web page where the user can update or delete the payment method for the recurring payment
billing_agreementA localized billing agreement that the payment sheet displays to the user before the user authorizes the payment
ApplePayRecurringPaymentRequest
payment_descriptionA description of the recurring payment that Apple Pay displays to the user in the payment sheet
management_u_r_lA URL to a web page where the user can update or delete the payment method for the recurring payment
billing_agreementA localized billing agreement that the payment sheet displays to the user before the user authorizes the payment
ApplePayRegularBillingDetails
labelThe label that Apple Pay displays to the user in the payment sheet with the recurring details
recurring_payment_start_dateThe date of the first payment
recurring_payment_end_dateThe date of the final payment
recurring_payment_interval_unitrecurring_payment_interval_countThe number of interval units that make up the total payment interval
ApplePayRegularBillingRequest
amountThe amount of the recurring payment
labelThe label that Apple Pay displays to the user in the payment sheet with the recurring details
payment_timingrecurring_payment_start_dateThe date of the first payment
recurring_payment_end_dateThe date of the final payment
recurring_payment_interval_unitrecurring_payment_interval_countThe number of interval units that make up the total payment interval
ApplePaySessionResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: secrets | |
| type = object · requires: epoch_timestamp, expires_at, merchant_session_identifier +8 more | |
| No specific criteria |
ApplePayWalletData
This enum is used to represent the Apple Pay payment data, which can either be encrypted or decrypted.
transaction_identifierThe unique identifier for the transaction
ApplepayPaymentMethod
display_nameThe name to be displayed on Apple Pay button
networkThe network of the Apple pay payment method
typeThe type of the payment method
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
auth_codeUnique authorisation code generated for the payment
ApplepaySessionTokenResponse
connectorThe session token is w.r.t this connector
delayed_session_tokenIdentifier for the delayed session response
connector_reference_idThe connector transaction id
connector_sdk_public_keyThe public key id is to invoke third party sdk
connector_merchant_idThe connector merchant id
AttemptStatus
The status of the attempt
AuthenticationAuthenticateRequest
client_secretClient secret for the authentication
device_channelDevice Channel indicating whether request is coming from App or Browser
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
SDK Information if request is from SDK
AuthenticationAuthenticateResponse
acs_urlAccess Server URL to be used for challenge submission
three_ds_requestor_urlThree DS Requestor URL
error_messageThe error message for this authentication.
error_codeThe error code for this authentication.
authentication_valueThe authentication value for this authentication, only available in case of server to server request. Unavailable in case of client request due to security concern.
statusauthentication_idA type for authentication_id that can be used for authentication IDs
eciThe ECI value for this authentication.
trans_statusIndicates the transaction status
challenge_requestChallenge request which should be sent to acs_url
acs_reference_numberUnique identifier assigned by the EMVCo(Europay, Mastercard and Visa)
acs_trans_idUnique identifier assigned by the ACS to identify a single transaction
three_ds_server_transaction_idUnique identifier assigned by the 3DS Server to identify a single transaction
acs_signed_contentContains the JWS object created by the ACS for the ARes(Authentication Response) message
three_ds_requestor_app_urlMerchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred
authentication_connectorAuthenticationConnectorDetails
authentication_connectorsList of authentication connectors
three_ds_requestor_urlURL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.
three_ds_requestor_app_urlMerchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred.
AuthenticationConnectors
AuthenticationCreateRequest
amountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
authentication_idThe unique identifier for this authentication.
profile_idThe business profile that is associated with this authentication
Passing this object creates a new customer or attaches an existing customer to the payment
authentication_connectorreturn_urlThe URL to which the user should be redirected after authentication.
force_3ds_challengeForce 3DS challenge.
psd2_sca_exemption_typeSCA Exemptions types available for authentication
profile_acquirer_idProfile Acquirer ID get from profile acquirer configuration
Passing this object creates a new customer or attaches an existing customer to the payment
AuthenticationEligibilityCheckData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: click_to_pay |
AuthenticationEligibilityCheckRequest
client_secretOptional secret value used to identify and authorize the client making the request. This can help ensure that the payment session is secure and valid.
AuthenticationEligibilityCheckResponse
authentication_idThe unique identifier for this authentication.
AuthenticationEligibilityCheckResponseData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: click_to_pay_enrollment_status |
AuthenticationEligibilityRequest
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
client_secretOptional secret value used to identify and authorize the client making the request. This can help ensure that the payment session is secure and valid.
profile_idOptional identifier for the business profile associated with the payment. This determines which configurations, rules, and branding are applied to the transaction.
Browser information to be used for 3DS 2.0
emailOptional email address of the customer. Used for customer identification, communication, and possibly for 3DS or fraud checks.
AuthenticationEligibilityResponse
authentication_idThe unique identifier for this authentication.
statusconnector_metadataThe metadata for this authentication.
profile_idThe unique identifier for this authentication.
error_messageThe error message for this authentication.
error_codeThe error code for this authentication.
authentication_connectorBrowser information to be used for 3DS 2.0
emailAuthenticationPaymentMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object |
merchant_transaction_idmerchant transaction id
correlation_idnetwork transaction correlation id
x_src_flow_idsession transaction flow id
providerencrypted_payloadEncrypted payload
AuthenticationPaymentMethodDataResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_data" | |
| type = object · type="network_token_data" |
typecard_expiry_yearcard expiry year
card_expiry_monthcard expiry month
AuthenticationResponse
authentication_idThe unique identifier for this authentication.
merchant_idThis is an identifier for the merchant account. This is inferred from the API key provided during the request
statusamountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
client_secretThe client secret for this authentication, to be used for client-side operations.
authentication_connectorforce_3ds_challengeWhether 3DS challenge was forced.
return_urlThe URL to which the user should be redirected after authentication, if provided.
created_aterror_codeerror_messageIf there was an error while calling the connector the error message is received here
profile_idThe business profile that is associated with this payment
psd2_sca_exemption_typeSCA Exemptions types available for authentication
profile_acquirer_idProfile Acquirer ID get from profile acquirer configuration
Passing this object creates a new customer or attaches an existing customer to the payment
AuthenticationRetrieveEligibilityCheckResponse
AuthenticationSdkNextAction
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = object · requires: deny | |
| type = string |
The next action is to await for a merchant callback
AuthenticationSessionResponse
authentication_idThe identifier for the payment
The list of session token object
AuthenticationSessionToken
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · wallet_name="click_to_pay" · requires: dpa_id, dpa_name, locale +6 more | |
| type = object · wallet_name="no_session_token_received" |
dpa_iddpa_namelocalecard_brandsacquirer_binacquirer_merchant_idmerchant_country_codetransaction_amounttransaction_currency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
wallet_namemerchant_category_codephone_numberemailphone_country_codeproviderdpa_client_idAuthenticationSessionTokenRequest
client_secretClient Secret for the authentication
AuthenticationSyncRequest
client_secretThe client secret for this authentication.
AuthenticationSyncResponse
authentication_idThe unique identifier for this authentication.
merchant_idThis is an identifier for the merchant account.
statusamountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
created_atprofile_idThe business profile that is associated with this authentication.
client_secretThe client secret for this authentication.
authentication_connectorforce_3ds_challengeWhether 3DS challenge was forced.
return_urlThe URL to which the user should be redirected after authentication.
psd2_sca_exemption_typeSCA Exemptions types available for authentication
threeds_server_transaction_idThe unique identifier from the 3DS server.
maximum_supported_3ds_versionThe maximum supported 3DS version.
connector_authentication_idThe unique identifier from the connector.
three_ds_method_dataThe data required to perform the 3DS method.
three_ds_method_urlThe URL for the 3DS method.
message_versionThe version of the message.
connector_metadataThe metadata for this authentication.
directory_server_idThe unique identifier for the directory server.
Browser information to be used for 3DS 2.0
emailEmail.
trans_statusIndicates the transaction status
acs_urlAccess Server URL for challenge submission.
challenge_requestChallenge request to be sent to acs_url.
acs_reference_numberUnique identifier assigned by EMVCo.
acs_trans_idUnique identifier assigned by the ACS.
acs_signed_contentJWS object created by the ACS for the ARes message.
three_ds_requestor_urlThree DS Requestor URL.
three_ds_requestor_app_urlMerchant app URL for OOB authentication.
eciECI value for this authentication, only available in case of server to server request. Unavailable in case of client request due to security concern.
error_messageError message if any.
error_codeError code if any.
profile_acquirer_idProfile Acquirer ID
AuthenticationType
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.
AuthenticationVaultTokenData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_data" | |
| type = object · type="network_token_data" |
typecard_numbertoken representing card_number
card_expiry_yeartoken representing card_expiry_year
card_expiry_monthtoken representing card_expiry_month
card_cvctoken representing card_cvc
BHNGiftCardDetails
account_numberThe gift card or account number
pinThe security PIN for gift cards requiring it
cvv2The CVV2 code for Open Loop/VPLN products
expiration_dateThe expiration date in MMYYYY format for Open Loop/VPLN products
BacsBankDebitAdditionalData
account_numberPartially masked account number for Bacs payment method
sort_codePartially masked sort code for Bacs payment method
bank_account_holder_nameBank account's owner name
BacsBankTransfer
bank_account_numberBank account number is an unique identifier assigned by a bank to a customer.
bank_sort_code[6 digits] Sort Code - used in UK and Ireland for identifying a bank and it's branches.
bank_nameBank name
bank_country_codebank_cityBank city
BacsBankTransferAdditionalData
bank_sort_codePartially masked sort code for Bacs payment method
bank_account_numberBank account's owner name
bank_nameBank name
bank_country_codebank_cityBank city
BacsBankTransferInstructions
account_holder_nameaccount_numbersort_codeBancontactBankRedirectAdditionalData
last4Last 4 digits of the card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_holder_nameThe card holder's name
Bank
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: bank_account_number, bank_routing_number | |
| type = object · requires: bank_account_number, bank_sort_code | |
| type = object · requires: iban, bic | |
| type = object · requires: bank_account_number, pix_key |
bank_account_numberBank account number is an unique identifier assigned by a bank to a customer.
bank_routing_number[9 digits] Routing number - used in USA for identifying a specific bank.
bank_nameBank name
bank_country_codebank_cityBank city
BankAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: bank_account_number, bank_routing_number | |
| type = object · requires: bank_sort_code, bank_account_number | |
| type = object · requires: iban | |
| type = object |
bank_account_numberPartially masked account number for ach bank debit payment
bank_routing_numberPartially masked routing number for ach bank debit payment
bank_nameName of banks supported by Hyperswitch
bank_country_codebank_cityBank city
BankCodeResponse
bank_nameeligible_connectorsBankDebitAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach | |
| type = object · requires: bacs | |
| type = object · requires: becs | |
| type = object · requires: sepa | |
| type = object · requires: sepa_guarenteed_debit |
BankDebitBilling
nameThe billing name for bank debits
emailThe billing email for bank debits
Address details
BankDebitData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach_bank_debit | |
| type = object · requires: sepa_bank_debit | |
| type = object · requires: sepa_guarenteed_bank_debit | |
| type = object · requires: becs_bank_debit | |
| type = object · requires: bacs_bank_debit |
Payment Method data for Ach bank debit
BankDebitDetail
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach |
BankDebitResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach | |
| type = object · requires: bacs | |
| type = object · requires: becs | |
| type = object · requires: sepa | |
| type = object · requires: sepa_guarenteed_debit |
BankNames
Name of banks supported by Hyperswitch
BankRedirect
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: interac | |
| type = object · requires: open_banking_uk |
BankRedirectAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: account_holder_name, iban | |
| type = object |
account_holder_nameAccount holder name
ibanInternational Bank Account Number (iban) - used in many countries for identifying a bank along with it's customer.
BankRedirectBilling
billing_nameThe name for which billing is issued
emailThe billing email for bank redirect
BankRedirectData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: bancontact_card | |
| type = object · requires: bizum | |
| type = object · requires: blik | |
| type = object · requires: eps | |
| type = object · requires: giropay | |
| type = object · requires: ideal | |
| type = object · requires: interac | |
| type = object · requires: online_banking_czech_republic | |
| type = object · requires: online_banking_finland | |
| type = object · requires: online_banking_poland | |
| type = object · requires: online_banking_slovakia | |
| type = object · requires: open_banking_uk | |
| type = object · requires: przelewy24 | |
| type = object · requires: sofort | |
| type = object · requires: trustly | |
| type = object · requires: online_banking_fpx | |
| type = object · requires: online_banking_thailand | |
| type = object · requires: local_bank_redirect | |
| type = object · requires: eft | |
| type = object · requires: open_banking |
BankRedirectDetails
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: BancontactCard | |
| type = object · requires: Blik | |
| type = object · requires: Giropay |
BankRedirectResponse
bank_nameName of banks supported by Hyperswitch
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: BancontactCard | |
| type = object · requires: Blik | |
| type = object · requires: Giropay |
BankTransferAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach | |
| type = object · requires: sepa | |
| type = object · requires: bacs | |
| type = object · requires: multibanco | |
| type = object · requires: permata | |
| type = object · requires: bca | |
| type = object · requires: bni_va | |
| type = object · requires: bri_va | |
| type = object · requires: cimb_va | |
| type = object · requires: danamon_va | |
| type = object · requires: mandiri_va | |
| type = object · requires: pix | |
| type = object · requires: pse | |
| type = object · requires: local_bank_transfer | |
| type = object · requires: instant_bank_transfer | |
| type = object · requires: instant_bank_transfer_finland | |
| type = object · requires: instant_bank_transfer_poland | |
| type = object · requires: indonesian_bank_transfer |
achBankTransferData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach_bank_transfer | |
| type = object · requires: sepa_bank_transfer | |
| type = object · requires: bacs_bank_transfer | |
| type = object · requires: multibanco_bank_transfer | |
| type = object · requires: permata_bank_transfer | |
| type = object · requires: bca_bank_transfer | |
| type = object · requires: bni_va_bank_transfer | |
| type = object · requires: bri_va_bank_transfer | |
| type = object · requires: cimb_va_bank_transfer | |
| type = object · requires: danamon_va_bank_transfer | |
| type = object · requires: mandiri_va_bank_transfer | |
| type = object · requires: pix | |
| type = object · requires: pse | |
| type = object · requires: local_bank_transfer | |
| type = object · requires: instant_bank_transfer | |
| type = object · requires: instant_bank_transfer_finland | |
| type = object · requires: instant_bank_transfer_poland | |
| type = object · requires: indonesian_bank_transfer |
BankTransferInstructions
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: doku_bank_transfer_instructions | |
| type = object · requires: ach_credit_transfer | |
| type = object · requires: sepa_bank_instructions | |
| type = object · requires: bacs_bank_instructions | |
| type = object · requires: multibanco |
BankTransferNextStepsData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: doku_bank_transfer_instructions | |
| type = object · requires: ach_credit_transfer | |
| type = object · requires: sepa_bank_instructions | |
| type = object · requires: bacs_bank_instructions | |
| type = object · requires: multibanco |
BankTransferResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ach | |
| type = object · requires: sepa | |
| type = object · requires: bacs | |
| type = object · requires: multibanco | |
| type = object · requires: permata | |
| type = object · requires: bca | |
| type = object · requires: bni_va | |
| type = object · requires: bri_va | |
| type = object · requires: cimb_va | |
| type = object · requires: danamon_va | |
| type = object · requires: mandiri_va | |
| type = object · requires: pix | |
| type = object · requires: pse | |
| type = object · requires: local_bank_transfer | |
| type = object · requires: instant_bank_transfer | |
| type = object · requires: instant_bank_transfer_finland | |
| type = object · requires: instant_bank_transfer_poland | |
| type = object · requires: indonesian_bank_transfer |
achBankTransferTypes
eligible_connectorsThe list of eligible connectors for a given payment experience
BecsBankDebitAdditionalData
account_numberPartially masked account number for Becs payment method
bsb_numberBank-State-Branch (bsb) number
bank_account_holder_nameBank account's owner name
BillingDescriptor
namename to be put in billing description
citycity to be put in billing description
phonephone to be put in billing description
statement_descriptora short description for the payment
statement_descriptor_suffixConcatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor.
referenceA reference to be shown on billing description
BinGroupResponse
idorganization_idnamebinsbin_countcreated_atmodified_atdescriptionBlocklistCardPanMaskedPayload
card_pan_bincard_pan_suffixdescriptionBlocklistDataKind
BlocklistRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_bin" · requires: data | |
| type = object · type="fingerprint" · requires: data | |
| type = object · type="extended_card_bin" · requires: data | |
| type = object · type="email" · requires: data | |
| type = object · type="card_number" · requires: data | |
| type = object · type="card_pan_masked" · requires: data | |
| type = object · type="phone" · requires: data |
typedataBlocklistResponse
fingerprint_iddata_kindcreated_atscopeOwnership scope for a blocklist entry (org / merchant / connector MCA).
merchant_connector_idPresent only for connector scoped entries.
added_bydescriptioncard_pan_bincard_pan_suffixBlocklistScope
Ownership scope for a blocklist entry (org / merchant / connector MCA).
BlocklistScopeQuery
scopeOwnership scope for a blocklist entry (org / merchant / connector MCA).
merchant_connector_idRequired when scope is connector.
BoletoAdditionalDetails
due_dateDue Date for the Boleto
document_kindpayment_typecovenant_codeBoletoDocumentKind
BoletoVoucherData
social_security_numberThe shopper's social security number (CPF or CNPJ)
bank_numberThe shopper's bank account number associated with the boleto
document_typeRepresents the type of identification document used for validation.
fine_percentageThe fine percentage charged if payment is overdue
fine_quantity_daysThe number of days after the due date when the fine is applied
interest_percentageThe interest percentage charged on late payments
write_off_quantity_daysThe number of days after which the boleto is written off (canceled)
messagesCustom messages or instructions to display on the boleto
due_dateBraintreeData
merchant_account_idInformation about the merchant_account_id that merchant wants to specify at connector level.
merchant_config_currencyInformation about the merchant_config_currency that merchant wants to specify at connector level.
BrowserInformation
color_depthColor depth supported by the browser
java_enabledWhether java is enabled in the browser
java_script_enabledWhether javascript is enabled in the browser
languageLanguage supported
screen_heightThe screen height in pixels
screen_widthThe screen width in pixels
time_zoneTime zone of the client
ip_addressIp address of the client
accept_headerList of headers that are accepted
user_agentUser-agent of the browser
os_typeThe os type of the client device
os_versionThe os version of the client device
device_modelThe device model of the client
accept_languageAccept-language of the browser
refererIdentifier of the source that initiated the request.
BusinessCollectLinkConfig
allowed_domainsA list of allowed domains (glob patterns) where this link can be embedded / opened from
List of payment methods shown on collect UI
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
domain_nameCustom domain name to be used for hosting the link
BusinessGenericLinkConfig
allowed_domainsA list of allowed domains (glob patterns) where this link can be embedded / opened from
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
domain_nameCustom domain name to be used for hosting the link
BusinessPaymentLinkConfig
themecustom theme for the payment link
logomerchant display logo
seller_nameCustom merchant name for payment link
sdk_layoutCustom layout for sdk
display_sdk_onlyDisplay only the sdk for payment link
enabled_saved_payment_methodEnable saved payment method option for payment link
hide_card_nickname_fieldHide card nickname field option for payment link
show_card_form_by_defaultShow card form by default for payment link
Dynamic details related to merchant to be rendered in payment link
details_layoutpayment_button_textText for payment link's handle confirm button
custom_message_for_card_termsText for customizing message for card terms
List of custom T&C messages grouped by payment method
payment_button_colourCustom background colour for payment link's handle confirm button
skip_status_screenSkip the status screen after payment completion
payment_button_text_colourCustom text colour for payment link's handle confirm button
background_colourCustom background colour for the payment link
SDK configuration rules
Payment link configuration rules
enable_button_only_on_form_readyFlag to enable the button only when the payment form is ready for submission
payment_form_header_textOptional header for the SDK's payment form
payment_form_label_typeshow_card_termsis_setup_mandate_flowBoolean to control payment button text for setup mandate calls
color_icon_card_cvc_errorHex color for the CVC icon during error state
domain_nameCustom domain name to be used for hosting the link in your own domain
list of configs for multi theme setup
allowed_domainsA list of allowed domains (glob patterns) where this link can be embedded / opened from
branding_visibilityToggle for HyperSwitch branding visibility
BusinessPayoutLinkConfig
allowed_domainsA list of allowed domains (glob patterns) where this link can be embedded / opened from
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
domain_nameCustom domain name to be used for hosting the link
form_layoutpayout_test_modeAllows for removing any validations / pre-requisites which are necessary in a production environment
CancelSubscriptionRequest
cancel_optioncancel_atOptional date when the subscription should be cancelled (if not provided, cancels immediately)
unbilled_charges_optioncredit_option_for_current_term_chargesaccount_receivables_handlingrefundable_credits_handlingcancel_reason_codeReason code for canceling the subscription
CancelSubscriptionResponse
idA type for subscription_id that can be used for subscription ids
statusPossible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
profile_idA type for profile_id that can be used for business profile ids
merchant_idA type for merchant_id that can be used for merchant ids
customer_idA type for customer_id that can be used for customer ids
merchant_reference_idMerchant specific Unique identifier.
cancelled_atDate when the subscription was cancelled
CaptureMethod
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}/captureendpoint is required to capture the funds.
CaptureResponse
capture_idA unique identifier for this specific capture operation.
statusamountThe capture amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
connectorThe name of the payment connector that processed this capture.
authorized_attempt_idThe ID of the payment attempt that was successfully authorized and subsequently captured by this operation.
capture_sequenceSequence number of this capture, in the series of captures made for the parent attempt
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connector_capture_idA unique identifier for this capture provided by the connector
error_messageA human-readable message from the connector explaining why this capture operation failed, if applicable.
error_codeThe error code returned by the connector if this capture operation failed. This code is connector-specific.
error_reasonA more detailed reason from the connector explaining the capture failure, if available.
reference_idThe connector's own reference or transaction ID for this specific capture operation. Useful for reconciliation.
Card
card_numberThe card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_holder_nameThe card holder's name
card_cvcThe CVC number for the card
card_issuerThe name of the issuer of card
card_networkIndicates the card network.
card_typecard_issuing_countrycard_issuing_country_codebank_codenick_nameThe card holder's nick name
CardAdditionalData
card_exp_monthCard expiry month
card_exp_yearCard expiry year
card_holder_nameCard holder name
card_issuerIssuer of the card
card_networkIndicates the card network.
card_typeCard type, can be either credit or debit
card_issuing_countryCard issuing country
bank_codeCode for Card issuing bank
last4Last 4 digits of the card number
card_isinThe ISIN of the card
card_extended_binExtended bin of card, contains the first 8 digits of card number
CardBlockingConfig
issuing_countrySet of issuing countries to block using ISO 3166-1 alpha-2 codes (e.g., ["IN", "US"])
card_typesSet of card types to block (e.g., ["Credit", "Debit"])
card_subtypesSet of card subtypes to block
issuersSet of card issuer IDs to block
block_if_bin_info_unavailableWhether to block if BIN is provided but no matching record found in cards_info table. Defaults to false (allow payment if BIN not found in database).
CardDetail
card_numberCard Number
card_exp_monthCard Expiry Month
card_exp_yearCard Expiry Year
card_holder_nameCard Holder Name
card_cvcCard CVC for Volatile Storage
nick_nameCard Holder's Nick Name
card_issuing_countryCard Issuing Country
card_issuing_country_codeCard Issuing Country Code
card_networkIndicates the card network.
card_issuerIssuer Bank for Card
card_typeCard Type
CardDetailFromLocker
saved_to_lockerschemeissuer_countryissuer_country_codelast4_digitsexpiry_monthexpiry_yearcard_tokencard_holder_namecard_fingerprintnick_namecard_networkIndicates the card network.
card_isincard_issuercard_typeCardDetailUpdate
card_exp_monthCard Expiry Month
card_exp_yearCard Expiry Year
card_holder_nameCard Holder Name
nick_nameCard Holder's Nick Name
last4_digitsCard's Last 4 Digits
card_issuerIssuing Bank of the Particular Card
issuer_countryThe country where that particular card was issued
issuer_country_codeThe country code where that particular card was issued
card_networkThe card network
CardDiscovery
Indicates the method by which a card is discovered during a payment
CardIssuerListQuery
queryOptional search term to filter issuers by name (case-insensitive prefix match)
limitMaximum number of results to return (default: 30, max: 255)
CardIssuerListResponse
CardIssuerRequest
issuer_nameThe name of the card issuer to add
CardIssuerUpdateRequest
issuer_nameThe new name for the card issuer
CardNetwork
Indicates the card network.
CardNetworkTokenizeRequest
merchant_idMerchant ID associated with the tokenization request
Passing this object creates a new customer or attaches an existing customer to the payment
metadataYou 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.
payment_method_issuerThe name of the bank/ provider issuing the payment method to the end user
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: existing_payment_method |
CardNetworkTokenizeResponse
Passing this object creates a new customer or attaches an existing customer to the payment
card_tokenizedCard network tokenization status
error_codeError code
error_messageError message
CardNetworkTypes
eligible_connectorsThe list of eligible connectors for a given card network
card_networkIndicates the card network.
CardPayout
card_numberThe card number
expiry_monthThe card's expiry month
expiry_yearThe card's expiry year
card_holder_nameThe card holder's name
card_networkIndicates the card network.
CardRedirectData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: knet | |
| type = object · requires: benefit | |
| type = object · requires: momo_atm | |
| type = object · requires: card_redirect |
knetCardRedirectResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: knet | |
| type = object · requires: benefit | |
| type = object · requires: momo_atm | |
| type = object · requires: card_redirect |
knetCardResponse
last4card_typecard_networkIndicates the card network.
card_issuercard_issuing_countrycard_isincard_extended_bincard_exp_monthcard_exp_yearcard_holder_namepayment_checksauthentication_dataauth_codeCardSpecificFeatures
three_dsThe status of the feature
no_three_dsThe status of the feature
supported_card_networksList of supported card networks
CardSubtype
CardTestingGuardConfig
card_ip_blocking_statuscard_ip_blocking_thresholdDetermines the unsuccessful payment threshold for Card IP Blocking for profile
guest_user_card_blocking_statusguest_user_card_blocking_thresholdDetermines the unsuccessful payment threshold for Guest User Card Blocking for profile
customer_id_blocking_statuscustomer_id_blocking_thresholdDetermines the unsuccessful payment threshold for Customer Id Blocking for profile
card_testing_guard_expiryDetermines Redis Expiry for Card Testing Guard for profile
Rule-list driven velocity checks for profile and terminal scopes.
ip_mask_v4IPv4 prefix bits kept before the address enters any key. Defaults to 32.
ip_mask_v6IPv6 prefix bits kept. Defaults to 64.
CardToken
card_holder_nameThe card holder's name
card_cvcThe CVC number for the card
CardWithLimitedData
card_numberThe card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_holder_nameThe card holder's name
eciThe ECI(Electronic Commerce Indicator) value for this authentication.
CartesBancairesParams
cb_exemptionExemption indicator specific to Cartes Bancaires network (e.g., "low_value", "trusted_merchant")
cb_scoreCartes Bancaires risk score assigned during 3DS authentication.
cavv_algorithmThis is typically provided by the card network or Access Control Server (ACS)
CavvAlgorithm
This is typically provided by the card network or Access Control Server (ACS)
ChargeRefunds
charge_idIdentifier for charge created for the payment
revert_platform_feeToggle for reverting the application fee that was collected for the payment. If set to false, the funds are pulled from the destination account.
revert_transferToggle for reverting the transfer that was made during the charge. If set to false, the funds are pulled from the main platform's account.
ClickToPayDetails
merchant_transaction_idmerchant transaction id
correlation_idnetwork transaction correlation id
x_src_flow_idsession transaction flow id
providerencrypted_payloadEncrypted payload
ClickToPaySessionResponse
dpa_iddpa_namelocalecard_brandsacquirer_binacquirer_merchant_idmerchant_country_codetransaction_amounttransaction_currency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
merchant_category_codephone_numberemailphone_country_codeproviderdpa_client_idClientSecret
For Client based calls, SDK will use the client_secret\nin order to call /payment_methods\nClient secret will be generated whenever a new\npayment method is created
CommissionRate
Comparison
lhsThe left hand side which will always be a domain input identifier like "payment.method.cardtype"
comparisonConditional comparison type
Represents a value in the DSL
Additional metadata that the Static Analyzer and Backend does not touch. This can be used to store useful information for the frontend and is required for communication between the static analyzer and the frontend.
ComparisonType
Conditional comparison type
ConfirmSubscriptionPaymentDetails
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
The payment method information provided for making a payment
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.
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
payment_tokenConfirmSubscriptionRequest
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
ConfirmSubscriptionResponse
idA type for subscription_id that can be used for subscription ids
statusPossible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
profile_idA type for profile_id that can be used for business profile ids
merchant_reference_idMerchant specific Unique identifier.
plan_idIdentifier for the associated subscription plan.
item_price_idIdentifier for the associated item_price_id for the subscription.
couponOptional coupon code applied to this subscription.
customer_idA type for customer_id that can be used for customer ids
billing_processor_subscription_idBilling Processor subscription ID.
Connector
ConnectorChargeResponseData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: stripe_split_payment | |
| type = object · requires: adyen_split_payment | |
| type = object · requires: xendit_split_payment |
Fee information to be charged on the payment being collected via Stripe
ConnectorCostConfigs
Tariff primitive: fee = MAX(min, ceil(pct * base / 100) + fixed).
fixed and min are minor units. JSON must keep both >= 0: a negative
addend or floor credits the merchant instead of charging a fee. Percentage
already rejects values outside 0–100; this type applies the same gate to
the minor-unit fields so the API matches the dashboard form.
ConnectorCostDecisionConfigReq
nameConnectorCostDecisionManagerRecord
namecreated_atmodified_atConnectorFeatureMatrixResponse
nameThe name of the connector
display_nameThe display name of the connector
descriptionThe description of the connector
categoryConnector Access Method
integration_statusConnector Integration Status
base_urlThe base url of the connector
The list of payment methods supported by the connector
supported_webhook_flowsThe list of webhook flows supported by the connector
ConnectorIntegrationStatus
Connector Integration Status
ConnectorMetadata
ConnectorMetadataResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: santander |
ConnectorSelection
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="priority" · requires: data | |
| type = object · type="volume_split" · requires: data |
typeConnectorType
Type of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
ConnectorVolumeSplit
Routable Connector chosen for a payment
splitConnectorWalletDetails
apple_pay_combinedThis field contains the Apple Pay certificates and credentials for iOS and Web Apple Pay flow
apple_payThis field is for our legacy Apple Pay flow that contains the Apple Pay certificates and credentials for only iOS Apple Pay flow
amazon_payThis field contains the Amazon Pay certificates and credentials
samsung_payThis field contains the Samsung Pay certificates and credentials
pazeThis field contains the Paze certificates and credentials
google_payThis field contains the Google Pay certificates and credentials
ConnectorWebhookEventType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = object · requires: specific_event |
Country
CountryGroupResponse
idorganization_idnamecountriescountry_countcreated_atmodified_atdescriptionCreateAndConfirmSubscriptionRequest
item_price_idIdentifier for the associated item_price_id for the subscription.
customer_idA type for customer_id that can be used for customer ids
plan_idIdentifier for the associated plan_id.
coupon_codeIdentifier for the coupon code for the subscription.
merchant_reference_idMerchant specific Unique identifier.
CreateApiKeyRequest
nameA unique name for the API Key to help you identify it.
JSON column value: explicit non-empty grants for the key.
descriptionA description to provide more context about the API Key.
organization_idCreate an organization-owned API key instead of a merchant-owned key.
tenant_idCreate a tenant-owned API key instead of a merchant-owned key.
whitelisted_ipsWhitelisted IP addresses for this key. Omit or pass an empty list to allow all IPs.
CreateApiKeyResponse
key_idThe identifier for the API Key.
nameThe unique name for the API Key to help you identify it.
api_keyThe plaintext API Key used for server-side API access. Ensure you store the API Key securely as you will not be able to see it again.
createdThe time at which the API Key was created.
JSON column value: explicit non-empty grants for the key.
merchant_idThe identifier for the Merchant Account.
organization_idThe identifier for the Organization Account.
tenant_idThe identifier for the Tenant.
descriptionThe description to provide more context about the API Key.
whitelisted_ipsWhitelisted IP addresses for this key. Empty or absent means all IPs are allowed.
CreateDisputeRequest
payment_idThe payment against which the dispute is raised
amountThis Unit struct represents MinorUnit in which core amount works
connector_dispute_idExternal reference for the dispute (e.g. bank chargeback id). Generated if omitted.
dispute_stageStage of the dispute
connector_reasonReason of dispute
connector_reason_codeReason code of dispute
challenge_required_byEvidence deadline
CreateSubscriptionPaymentDetails
return_urlThe url to which user must be redirected to after completion of the purchase
setup_future_usageSpecifies 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.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
CreateSubscriptionRequest
item_price_idIdentifier for the associated item_price_id for the subscription.
customer_idA type for customer_id that can be used for customer ids
merchant_reference_idMerchant specific Unique identifier.
plan_idIdentifier for the subscription plan.
coupon_codeOptional coupon code applied to the subscription.
Cryptogram
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: cavv |
Cardholder Authentication Verification Value (CAVV) cryptogram.
CtpServiceDetails
merchant_transaction_idmerchant transaction id
correlation_idnetwork transaction correlation id
x_src_flow_idsession transaction flow id
providerencrypted_payloadEncrypted payload
Currency
The three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
CurrentBlockThreshold
duration_in_minsmax_total_countCustomMessage
valueThe text to be shown per payment method type
display_modeDisplay mode options for controlling how messages are shown.
CustomTerms
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
Custom T&C message content and display mode
CustomerAcceptance
acceptance_typeThis is used to indicate if the mandate was accepted online or offline
accepted_atSpecifying when the customer acceptance was provided
Details of online mandate
CustomerDefaultPaymentMethodResponse
customer_idThe unique identifier of the customer.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
default_payment_method_idThe unique identifier of the Payment method
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
CustomerDeleteResponse
customer_idThe identifier for the customer object
customer_deletedWhether customer was deleted or not
address_deletedWhether address was deleted or not
payment_methods_deletedWhether payment methods deleted or not
CustomerDetails
idThe identifier for the customer.
nameThe customer's name
emailThe customer's email address
phoneThe customer's phone number
phone_country_codeThe country code for the customer's phone number
tax_registration_idThe tax registration identifier of the customer.
CustomerDetailsResponse
idThe identifier for the customer.
nameThe customer's name
emailThe customer's email address
phoneThe customer's phone number
phone_country_codeThe country code for the customer's phone number
CustomerDeviceData
platformdevice_typedisplay_sizeCustomerDeviceDisplaySize
CustomerDocumentDetails
document_typeRepresents the type of identification document used for validation.
document_numberThe customer's document number Length of the document number depends upon the document_type. For CPF/CNPJ it is typically 11/14 digits long
CustomerExternalStats
date_of_first_depositFirst deposit date in the merchant's system (ISO 8601 date, e.g. YYYY-MM-DD).
deposits_cntdeposits_amountwithdrawals_cntwithdrawals_amountkyc_statusKYC level provided by the merchant for external customer statistics (routing).
CustomerPaymentMethod
payment_tokenToken for payment method in temporary card locker which gets refreshed often
payment_method_idThe unique identifier of the customer.
customer_idThe unique identifier of the customer.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
requires_cvvWhether this payment method requires CVV to be collected
default_payment_method_setIndicates if the payment method has been set to default or not
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
payment_method_issuerThe name of the bank/ provider issuing the payment method to the end user
payment_method_issuer_coderecurring_enabledIndicates whether the payment method supports recurring payments. Optional.
installment_payment_enabledIndicates whether the payment method is eligible for installment payments (e.g., EMI, BNPL). Optional.
payment_experienceType of payment experience enabled with the connector
metadataYou 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.
createdA timestamp (ISO 8601 code) that determines when the payment method was created
last_used_atA timestamp (ISO 8601 code) that determines when the payment method was last used
CustomerPaymentMethodUpdateResponse
merchant_idUnique identifier for a merchant
payment_method_idThe unique identifier of the Payment method
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
customer_idThe unique identifier of the customer.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
recurring_enabledIndicates whether the payment method supports recurring payments. Optional.
installment_payment_enabledIndicates whether the payment method is eligible for installment payments (e.g., EMI, BNPL). Optional.
payment_experienceType of payment experience enabled with the connector
metadataYou 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.
createdA timestamp (ISO 8601 code) that determines when the payment method was created
last_used_atclient_secretFor Client based calls
CustomerPaymentMethodsListResponse
List of payment methods for customer
is_guest_customerReturns whether a customer id is not tied to a payment intent (only when the request is made against a client secret)
CustomerRequest
customer_idThe identifier for the customer object. If not provided the customer ID will be autogenerated.
nameThe customer's name
emailThe customer's email address
phoneThe customer's phone number
descriptionAn arbitrary string that you can attach to a customer object.
phone_country_codeThe country code for the customer phone number
Address details
metadataYou 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.
tax_registration_idCustomer's tax registration ID
CustomerResponse
customer_idThe identifier for the customer object
created_atA timestamp (ISO 8601 code) that determines when the customer was created
nameThe customer's name
emailThe customer's email address
phoneThe customer's phone number
phone_country_codeThe country code for the customer phone number
descriptionAn arbitrary string that you can attach to a customer object.
Address details
metadataYou 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.
default_payment_method_idThe identifier for the default payment method.
tax_registration_idThe customer's tax registration number.
CustomerStatisticsItem
profile_idProfile identifier
payments_countTotal number of payments (deposits)
payments_amountTotal amount of payments (in smallest currency unit)
refunds_countTotal number of refunds
refunds_amountTotal amount of refunds (in smallest currency unit)
payouts_countTotal number of successful payouts (withdrawals)
payouts_amountTotal amount of successful payouts (in smallest currency unit)
profile_nameProfile name (human-readable)
first_successful_payment_atTimestamp of the first successful payment (deposit)
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
CustomerStatisticsResponse
List of statistics items per profile
forex_availableWhether forex rates were available for currency conversion. When false, amounts are in original currencies and cannot be summed correctly across currencies.
CustomerUpdateRequest
nameThe customer's name
emailThe customer's email address
phoneThe customer's phone number
descriptionAn arbitrary string that you can attach to a customer object.
phone_country_codeThe country code for the customer phone number
Address details
metadataYou 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.
tax_registration_idCustomer's tax registration ID
DeRoutableConnectorChoice
gateway_nameRoutableConnectors are the subset of Connectors that are eligible for payments routing
gateway_idMerchant Connector Account ID.
Example:
Code
DecideGatewayResponse
decided_gatewayThe gateway decided by the routing engine
Map of gateways with their priority scores
filter_wise_gatewaysGateways organized by filter criteria
priority_logic_tagTag identifying the priority logic used
routing_approachThe routing approach used for decision making
gateway_before_evaluationThe gateway that was evaluated before the final decision
reset_approachThe reset approach applied during routing
routing_dimensionDimensions used for routing decision (payment type, method, etc.)
routing_dimension_levelLevel at which routing dimension is evaluated
is_scheduled_outageIndicates if routing decision was affected by scheduled outage
is_dynamic_mga_enabledIndicates if dynamic merchant gateway account is enabled
gateway_mga_id_mapMap of gateways to their MGA IDs
DecisionEngineEliminationData
thresholdThreshold for elimination logic in gateway selection
DecisionEngineGatewayWiseExtraScore
gatewayNamegatewaySigmaFactorDecisionEngineSRSubLevelInputConfig
paymentMethodTypePayment method type (e.g., "card", "wallet")
paymentMethodSpecific payment method (e.g., "credit", "debit")
latencyThresholdLatency threshold in percentile for this payment method
bucketSizeNumber of transactions to consider for this payment method
hedgingPercentPercentage of traffic to route for exploration for this payment method
lowerResetFactorLower reset factor for this payment method
upperResetFactorUpper reset factor for this payment method
Gateway-specific extra scoring factors for this payment method
DecisionEngineSuccessRateData
defaultLatencyThresholdDefault latency threshold in percentile for gateway selection
defaultBucketSizeDefault number of transactions to consider for success rate calculation
defaultHedgingPercentDefault percentage of traffic to route for exploration/hedging
defaultLowerResetFactorLower reset factor for adjusting gateway scores
defaultUpperResetFactorUpper reset factor for adjusting gateway scores
Gateway-specific extra scoring factors
Payment method level specific configurations
DefaultPaymentMethod
customer_idpayment_method_idDeleteFromBlocklistBatchRequest
DeleteFromBlocklistRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_bin" · requires: data | |
| type = object · type="fingerprint" · requires: data | |
| type = object · type="extended_card_bin" · requires: data | |
| type = object · type="email" · requires: data | |
| type = object · type="card_number" · requires: data | |
| type = object · type="card_pan_masked" · requires: data | |
| type = object · type="phone" · requires: data |
typedataDeleteFromWhitelistBatchRequest
DeleteFromWhitelistRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_bin" · requires: data | |
| type = object · type="fingerprint" · requires: data | |
| type = object · type="extended_card_bin" · requires: data | |
| type = object · type="email" · requires: data | |
| type = object · type="card_number" · requires: data | |
| type = object · type="card_pan_masked" · requires: data | |
| type = object · type="phone" · requires: data |
typedataDeviceChannel
Device Channel indicating whether request is coming from App or Browser
DeviceDetails
device_typeDevice type
device_brandDevice brand
device_osDevice OS
device_displayDevice display
DisplayAmountOnSdk
net_amountnet amount = amount + order_tax_amount + shipping_cost
order_tax_amountorder tax amount calculated by tax connectors
shipping_costshipping cost for the order
DisputeListFilterConstraints
start_timeThe start time to filter payments list or to get list of filters. To get list of filters start time is needed to be passed
end_timeThe end time to filter payments list or to get list of filters. If not passed the default time is now
dispute_idThe identifier for dispute
payment_idA type for payment_id that can be used for payment ids
limitLimit on the number of objects to return
offsetThe starting point within a list of object
profile_idThe identifier for business profile
dispute_statusThe list of status of the disputes
dispute_stageThe list of stages of the disputes
reasonReason for the dispute
connectorThe list of connectors linked to disputes
currencyThe list of currencies of the disputes
merchant_connector_idA type for merchant_connector_id that can be used for merchant_connector_account ids
Column predicates. Combined with other fields using AND.
DisputeListResponse
countThe number of disputes included in the current response
total_countThe total number of available disputes for given constraints
The list of dispute response objects
DisputeManualUpdateRequest
dispute_statusStatus of the dispute
dispute_stageStage of the dispute
transition_reasonHuman-readable reason for the manual transition (stored in transition_reason column)
DisputeManualUpdateResponse
dispute_idThe identifier for dispute
payment_idThe identifier for payment_intent
dispute_stageStage of the dispute
dispute_statusStatus of the dispute
transition_reasonHuman-readable reason for the manual transition
DisputeResponse
dispute_idThe identifier for dispute
payment_idThe identifier for payment_intent
attempt_idThe identifier for payment_attempt
amountConnector specific types to send
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
dispute_stageStage of the dispute
dispute_statusStatus of the dispute
connectorconnector to which dispute is associated with
connector_statusStatus of the dispute sent by connector
connector_dispute_idDispute id sent by connector
created_atTime at which dispute is received
is_already_refundedShows if the disputed amount(dispute_lost statuses only) + refunded amount is greater than captured amount
is_manualWhether the dispute was created manually through the dashboard or API
connector_reasonReason of dispute sent by connector
connector_reason_codeReason code of dispute sent by connector
challenge_required_byEvidence deadline of dispute sent by connector
connector_created_atDispute created time sent by connector
connector_updated_atDispute updated time sent by connector
profile_idThe profile_id associated with the dispute
merchant_connector_idThe merchant_connector_id of the connector / processor through which the dispute was processed
DisputeResponsePaymentsRetrieve
dispute_idThe identifier for dispute
amountConnector specific types to send
dispute_stageStage of the dispute
dispute_statusStatus of the dispute
connector_statusStatus of the dispute sent by connector
connector_dispute_idDispute id sent by connector
created_atTime at which dispute is received
connector_reasonReason of dispute sent by connector
connector_reason_codeReason code of dispute sent by connector
challenge_required_byEvidence deadline of dispute sent by connector
connector_created_atDispute created time sent by connector
connector_updated_atDispute updated time sent by connector
DisputeStage
Stage of the dispute
DisputeStatus
Status of the dispute
DisputeTableField
Dispute table columns.
DocumentDetails
document_numberCpf or Cnpj number
document_typeRepresents the type of identification document used for validation.
DocumentKind
Represents the type of identification document used for validation.
DokuBankTransferInstructions
expires_atreferenceinstructions_urlDokuBillingDetails
first_nameThe billing first name for Doku
last_nameThe billing second name for Doku
emailThe Email ID for Doku billing
DynamicRoutingAlgorithm
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: decision_engine_configs | |
| type = object · requires: decision_engine_configs | |
| type = object |
paramsDynamicRoutingConfigParams
ElementSize
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: Variants | |
| type = object · requires: Percentage | |
| type = object · requires: Pixels |
VariantsEligibilityCard
card_numberThe card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_cvcThe card's CVC/CVV
card_holder_nameThe card holder's name
card_issuerThe name of the issuer of card
card_networkIndicates the card network.
card_typecard_issuing_countrycard_issuing_country_codebank_codenick_nameThe card holder's nick name
EligibilityPaymentMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: card_redirect | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: bank_debit | |
| type = object · requires: bank_transfer | |
| type = object · requires: real_time_payment | |
| type = object · requires: crypto | |
| type = string | |
| type = string | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
Card data for eligibility check — only card_number is required, no CVV needed
EligibilityPaymentMethodDataRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: card_redirect | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: bank_debit | |
| type = object · requires: bank_transfer | |
| type = object · requires: real_time_payment | |
| type = object · requires: crypto | |
| type = string | |
| type = string | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
Card data for eligibility check — only card_number is required, no CVV needed
EligibilityResponseParams
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ThreeDsData |
EliminationAnalyserConfig
bucket_sizebucket_leak_interval_in_secsEliminationRoutingConfig
paramsEnabledPaymentMethod
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typesAn array of associated payment method types
EphemeralKeyCreateResponse
customer_idcustomer_id to which this ephemeral key belongs to
created_attime at which this ephemeral key was created
expirestime at which this ephemeral key would expire
secretephemeral key
ErrorCategory
EstimateSubscriptionQuery
item_price_idIdentifier for the associated item_price_id for the subscription.
plan_idIdentifier for the associated subscription plan.
coupon_codeIdentifier for the coupon code for the subscription.
EstimateSubscriptionResponse
amountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
plan_idIdentifier for the associated plan_id.
item_price_idIdentifier for the associated item_price_id for the subscription.
coupon_codeIdentifier for the coupon code for the subscription.
customer_idA type for customer_id that can be used for customer ids
EventListConstraints
created_afterFilter events created after the specified time.
created_beforeFilter events created before the specified time.
limitInclude at most the specified number of events.
offsetInclude events after the specified offset.
object_idFilter all events associated with the specified object identifier (Payment Intent ID, Refund ID, etc.)
event_idFilter all events associated with the specified Event_id
profile_idFilter all events associated with the specified business profile ID.
event_classesFilter events by their class.
event_typesFilter events by their type.
is_deliveredFilter all events by is_overall_delivery_successful field of the event.
EventListItemResponse
event_idThe identifier for the Event.
merchant_idThe identifier for the Merchant Account.
profile_idThe identifier for the Business Profile.
object_idThe identifier for the object (Payment Intent ID, Refund ID, etc.)
event_typeevent_classinitial_attempt_idThe identifier for the initial delivery attempt. This will be the same as event_id for
the initial delivery attempt.
createdTime at which the event was created.
is_delivery_successfulIndicates whether the webhook was ultimately delivered or not.
EventRetrieveResponse
event_idThe identifier for the Event.
merchant_idThe identifier for the Merchant Account.
profile_idThe identifier for the Business Profile.
object_idThe identifier for the object (Payment Intent ID, Refund ID, etc.)
event_typeevent_classinitial_attempt_idThe identifier for the initial delivery attempt. This will be the same as event_id for
the initial delivery attempt.
createdTime at which the event was created.
The request information (headers and body) sent in the webhook.
The response information (headers, body and status code) received for the webhook sent.
is_delivery_successfulIndicates whether the webhook was ultimately delivered or not.
delivery_attemptEventType
ExemptionIndicator
Represents the exemption indicator used in a transaction under PSD2 SCA (Strong Customer Authentication) rules.
ExtendedCardInfo
card_numberThe card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_holder_nameThe card holder's name
card_cvcThe CVC number for the card
card_issuerThe name of the issuer of card
card_networkIndicates the card network.
card_typecard_issuing_countrybank_codeExtendedCardInfoConfig
public_keyMerchant public key
ttl_in_secsTTL for extended card info
ExternalAuthenticationDetailsResponse
statusauthentication_flowelectronic_commerce_indicatorElectronic Commerce Indicator (eci)
ds_transaction_idDS Transaction ID
versionMessage Version
error_codeError Code
error_messageError Message
ExternalThreeDsData
Represents the 3DS cryptogram data returned after authentication.
ds_trans_idDirectory Server Transaction ID generated during the 3DS process.
versionThe version of the 3DS protocol used (e.g., "2.1.0" or "2.2.0").
eciElectronic Commerce Indicator (ECI) value representing the 3DS authentication result.
transaction_statusIndicates the transaction status
exemption_indicatorRepresents the exemption indicator used in a transaction under PSD2 SCA (Strong Customer Authentication) rules.
Represents additional network-level parameters for 3DS processing.
ExternalVaultConnectorDetails
vault_connector_idMerchant Connector id to be stored for vault connector
vault_sdkFields to tokenization in vault
FeatureMatrixListResponse
connector_countThe number of connectors included in the response
FeatureMatrixRequest
connectorsFeatureMetadata
search_tagsAdditional tags to be used for global search
FeeDetail
reference_idcreated_atcurrencybase_amountmerchant_commission_amountprovider_costmarginmerchant_commission_rateprovider_cost_ratemerchant_commission_ruleprovider_cost_ruleFeeSummary
currencybase_amountmerchant_commission_amountprovider_costmarginmerchant_commission_rateprovider_cost_ratemerchant_commission_ruleprovider_cost_ruleFieldOrigin
Origin of a field in [PaymentDetailedResponse]
Binary: either was suppliedby the merchant in the original request,
or generated by the platform.
FieldOrigins
Origin of a field in [PaymentDetailedResponse]
Binary: either was suppliedby the merchant in the original request,
or generated by the platform.
FieldType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: user_country | |
| type = object · requires: user_currency | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: user_address_country | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: user_shipping_address_country | |
| type = object · requires: user_document_type | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: user_bank_options | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: drop_down | |
| type = string | |
| type = string | |
| type = object · requires: language_preference | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: user_bank_type | |
| type = string | |
| type = string | |
| type = string | |
| type = string |
FilterOperator
Comparison operator for one column predicate.
FilterValue
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = boolean | |
| type = integer | |
| type = array | |
| type = string | |
| type = array |
JSON boolean.
FrmConfigs
gatewayType of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
payment methods that can be used in the payment
FrmMessage
frm_namefrm_transaction_idfrm_transaction_typefrm_statusfrm_scorefrm_reasonfrm_errorFrmPaymentMethod
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment method types(credit, debit) that can be used in the payment. This field is deprecated. It has not been removed to provide backward compatibility.
flowFrmPaymentMethodType
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
card_networksIndicates the card network.
flowactionFutureUsage
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.
GPayPredecryptData
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
application_primary_account_numberThe Primary Account Number (PAN) of the card
cryptogramCryptogram generated by the Network
eci_indicatorElectronic Commerce Indicator
GenericErrorResponseOpenApi
error_typemessagecodeGenericLinkUiConfig
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
GetSubscriptionItemsQuery
item_typeclient_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
limitoffsetGiftCardAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: givex | |
| type = object · requires: pay_safe_card | |
| type = object · requires: bhn_card_network |
GiftCardData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: givex | |
| type = object · requires: pay_safe_card | |
| type = object · requires: bhn_card_network |
GiftCardDetails
numberThe gift card number
cvcThe card verification code.
GiftCardResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: givex | |
| type = object · requires: pay_safe_card | |
| type = object · requires: bhn_card_network |
GiropayBankRedirectAdditionalData
bicMasked bank account bic code
ibanPartially masked international bank account number (iban) for SEPA
countryGivexGiftCardAdditionalData
last4Last 4 digits of the gift card number
GooglePayAssuranceDetails
card_holder_authenticatedindicates that Cardholder possession validation has been performed
account_verifiedindicates that identification and verifications (ID&V) was performed
GooglePayPaymentMethodInfo
card_networkThe name of the card network
card_detailsThe details of the card
card_funding_sourceGooglePaySessionResponse
shipping_address_requiredIs shipping address required
email_requiredIs email required
List of the allowed payment methods
delayed_session_tokenIdentifier for the delayed session response
connectorThe name of the connector
GooglePayThirdPartySdk
delayed_session_tokenIdentifier for the delayed session response
connectorThe name of the connector
GooglePayWalletData
typeThe type of payment method
descriptionUser-facing message to describe the payment method that funds this transaction.
This enum is used to represent the Gpay payment data, which can either be encrypted or decrypted.
GpayAllowedMethodsParameters
allowed_auth_methodsThe list of allowed auth methods (ex: 3DS, No3DS, PAN_ONLY etc)
allowed_card_networksThe list of allowed card networks (ex: AMEX,JCB etc)
billing_address_requiredIs billing address required
assurance_details_requiredWhether assurance details are required
GpayAllowedPaymentMethods
typeThe type of payment method
GpayBillingAddressParameters
phone_number_requiredIs billing phone number required
formatGpayEcryptedTokenizationData
typeThe type of the token
tokenToken generated for the wallet
GpayMerchantInfo
merchant_nameThe name of the merchant that needs to be displayed on Gpay PopUp
merchant_idThe merchant Identifier that needs to be passed while invoking Gpay SDK
GpaySessionTokenResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: delayed_session_token, connector, sdk_next_action | |
| type = object · requires: merchant_info, shipping_address_required, email_required +6 more |
delayed_session_tokenIdentifier for the delayed session response
connectorThe name of the connector
GpayShippingAddressParameters
phone_number_requiredIs shipping phone number required
GpayTokenParameters
gatewayThe name of the connector
gateway_merchant_idThe merchant ID registered in the connector associated
stripe:versionstripe:publishableKeyprotocol_versionThe protocol version for encryption
public_keyThe public key provided by the merchant
GpayTokenizationData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card_exp_month, card_exp_year, application_primary_account_number +2 more | |
| type = object · requires: type, token |
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
application_primary_account_numberThe Primary Account Number (PAN) of the card
cryptogramCryptogram generated by the Network
eci_indicatorElectronic Commerce Indicator
GpayTokenizationSpecification
typeThe token specification type(ex: PAYMENT_GATEWAY)
GpayTransactionInfo
country_codecurrency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
total_price_statusThe total price status (ex: 'FINAL')
total_priceThe total price
GsmCreateRequest
connectorflowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
messagemessage received from the connector
statusstatus provided by the router
decisionrouter_erroroptional error provided by the router
unified_codeerror code unified across the connectors
unified_messageerror message unified across the connectors
error_categoryfeatureContains the data relevant to the specified GSM feature, if applicable.
For example, if the feature is Retry, this will include configuration
details specific to the retry behavior.
standardised_codedescriptionA detailed description of the error intended for debugging, analytics, and support teams.
user_guidance_messageA user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.
step_up_possibleindicates if step_up retry is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
clear_pan_possibleindicates if retry with pan is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
GsmDeleteRequest
connectorThe connector through which payment has gone through
flowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
messagemessage received from the connector
GsmDeleteResponse
gsm_rule_deleteconnectorThe connector through which payment has gone through
flowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
GsmFeatureData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: retry |
Represents the data associated with a retry feature in GSM.
GsmResponse
connectorThe connector through which payment has gone through
flowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
messagemessage received from the connector
statusstatus provided by the router
decisionfeatureContains the data relevant to the specified GSM feature, if applicable.
For example, if the feature is Retry, this will include configuration
details specific to the retry behavior.
router_erroroptional error provided by the router
unified_codeerror code unified across the connectors
unified_messageerror message unified across the connectors
error_categorystandardised_codedescriptionA detailed description of the error intended for debugging, analytics, and support teams.
user_guidance_messageA user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.
step_up_possibleindicates if step_up retry is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
clear_pan_possibleindicates if retry with pan is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
GsmRetrieveRequest
connectorflowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
messagemessage received from the connector
GsmUpdateRequest
connectorThe connector through which payment has gone through
flowThe flow in which the code and message occurred for a connector
sub_flowThe sub_flow in which the code and message occurred for a connector
codecode received from the connector
messagemessage received from the connector
statusstatus provided by the router
router_erroroptional error provided by the router
decisionunified_codeerror code unified across the connectors
unified_messageerror message unified across the connectors
error_categoryfeatureContains the data relevant to the specified GSM feature, if applicable.
For example, if the feature is Retry, this will include configuration
details specific to the retry behavior.
standardised_codedescriptionA detailed description of the error intended for debugging, analytics, and support teams.
user_guidance_messageA user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.
step_up_possibleindicates if step_up retry is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
clear_pan_possibleindicates if retry with pan is possible
Deprecated: This field is now included as part of feature_data under the Retry variant.
HyperswitchConnectorCategory
Connector Access Method
IfStatement
IframeData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · method_key="threeDSMethodData" · requires: three_ds_method_url, three_ds_method_data_submission, directory_server_id |
three_ds_method_urlThreeDS method url
three_ds_method_data_submissionWhether ThreeDS method data submission is required
directory_server_idThreeDS Server ID
method_keythree_ds_method_dataThreeDS method data
message_versionThreeDS Protocol version
IncrementalAuthorizationResponse
authorization_idThe unique identifier of authorization
amountAmount the authorization has been made for
statuspreviously_authorized_amountThis Unit struct represents MinorUnit in which core amount works
error_codeError code sent by the connector for authorization
error_messageError message sent by the connector for authorization
IndomaretVoucherData
first_nameThe billing first name for Alfamart
last_nameThe billing second name for Alfamart
emailThe Email ID for Alfamart
Initiator
Represents the initiator context in platform-connected setups Used in payment/refund/dispute responses to indicate who initiated the operation None indicates a standard merchant flow / JWT flow / Admin flow or insufficient information
InstallmentData
number_of_installmentsNumber of installments chosen by the customer
billing_frequencyBilling frequency for a card installment plan
installment_interestThis Unit struct represents MinorUnit in which core amount works
InstallmentOption
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
List of available installment configurations
InstallmentOptionData
number_of_installmentsNumber of installments (e.g., [3, 6, 12])
billing_frequencyBilling frequency for a card installment plan
interest_rateInterest rate per installment as a percentage max 2 decimal places
InstallmentRequest
number_of_installmentsNumber of installments chosen by the customer
billing_frequencyBilling frequency for a card installment plan
IntentStatus
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).
Interac
emailCustomer email linked with interac account
InteracAdditionalData
emailEmail linked with interac account
Invoice
idA type for invoice_id that can be used for invoice ids
subscription_idA type for subscription_id that can be used for subscription ids
merchant_idA type for merchant_id that can be used for merchant ids
profile_idA type for profile_id that can be used for business profile ids
merchant_connector_idA type for merchant_connector_id that can be used for merchant_connector_account ids
customer_idA type for customer_id that can be used for customer ids
amountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
statuspayment_intent_idA type for payment_id that can be used for payment ids
payment_method_idIdentifier for Payment Method
billing_processor_invoice_idbilling processor invoice id
InvoiceStatus
IssuerData
countrynameThe name of the issuer.
JCSVoucherData
first_nameThe billing first name for Japanese convenience stores
last_nameThe billing second name Japanese convenience stores
emailThe Email ID for Japanese convenience stores
phone_numberThe telephone number for Japanese convenience stores
KlarnaSessionTokenResponse
session_tokenThe session token for Klarna
session_idThe identifier for the session
KycStatus
KYC level provided by the merchant for external customer statistics (routing).
LabelInformation
labeltarget_counttarget_timemca_idLinkedRoutingConfigRetrieveResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object | |
| type = array |
Routing algorithm configuration created for a merchant.
Represents a fully defined routing strategy scoped to a profile and transaction type.
ListBlocklistQuery
data_kindlimitoffsetclient_secretscopeOwnership scope for a blocklist entry (org / merchant / connector MCA).
merchant_connector_idRequired when scope is connector.
ListWhitelistQuery
data_kindmerchant_connector_idlimitoffsetLocalBankTransferAdditionalData
bank_codePartially masked bank code
MandateAmountData
amountThe maximum amount to be debited for the mandate transaction
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
start_dateSpecifying start date of the mandate
end_dateSpecifying end date of the mandate
metadataAdditional details required by mandate
MandateCardDetails
last4_digitsThe last 4 digits of card
card_exp_monthThe expiry month of card
card_exp_yearThe expiry year of card
card_holder_nameThe card holder name
card_tokenThe token from card locker
schemeThe card scheme network for the particular card
issuer_countryThe country code in in which the card was issued
card_fingerprintA unique identifier alias to identify a particular card
card_isinThe first 6 digits of card
card_issuerThe bank that issued the card
card_networkIndicates the card network.
card_typeThe type of the payment card
nick_nameThe nick_name of the card holder
MandateData
update_mandate_idA way to update the mandate's payment method details
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.
MandateResponse
mandate_idThe identifier for mandate
statusThe status of the mandate, which indicates whether it can be used to initiate a payment.
payment_method_idThe identifier for payment method
payment_methodThe payment method
payment_method_typeThe payment method type
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.
MandateRevokedResponse
mandate_idThe identifier for mandate
statusThe status of the mandate, which indicates whether it can be used to initiate a payment.
error_codeIf there was an error while calling the connectors the code is received here
error_messageIf there was an error while calling the connector the error message is received here
MandateStatus
The status of the mandate, which indicates whether it can be used to initiate a payment.
MandateType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: single_use | |
| type = object · requires: multi_use |
MasterCardEligibilityCheckData
consumerPresentidLookupSessionIdlastUsedCardTimestampMbWayRedirection
telephone_numberTelephone number of the shopper. Should be Portuguese phone number.
MerchantAccountCreate
merchant_idThe identifier for the Merchant Account
merchant_nameName of the Merchant Account
return_urlThe URL to redirect after the completion of the operation
sub_merchants_enabledA boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
parent_merchant_idRefers to the Parent Merchant ID if the merchant being created is a sub-merchant
enable_payment_response_hashA boolean value to indicate if payment response hash needs to be enabled
payment_response_hash_keyRefers to the hash key used for calculating the signature for webhooks and redirect response. If the value is not provided, a value is automatically generated.
redirect_to_merchant_with_http_postA boolean value to indicate if redirect to merchant with http post needs to be enabled.
metadataMetadata is useful for storing additional, unstructured information on an object
publishable_keyAPI key that will be used for client side API access. A publishable key has to be always paired with a client_secret.
A client_secret can be obtained by creating a payment with confirm set to false
locker_idAn identifier for the vault used to store payment method information.
frm_routing_algorithmThe frm routing algorithm to be used for routing payments to desired FRM's
organization_idThe id of the organization to which the merchant belongs to, if not passed an organization is created
Object for GenericLinkUiConfig
product_typemerchant_account_typeMerchantAccountData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: iban | |
| type = object · requires: bacs | |
| type = object · requires: faster_payments | |
| type = object · requires: sepa | |
| type = object · requires: sepa_instant | |
| type = object · requires: elixir | |
| type = object · requires: bankgiro | |
| type = object · requires: plusgiro |
IBAN-based account for international transfers
MerchantAccountDeleteResponse
merchant_idThe identifier for the Merchant Account
deletedIf the connector is deleted or not
MerchantAccountResponse
merchant_idThe identifier for the Merchant Account
enable_payment_response_hashA boolean value to indicate if payment response hash needs to be enabled
redirect_to_merchant_with_http_postA boolean value to indicate if redirect to merchant with http post needs to be enabled
Details about the primary business unit of the merchant account
organization_idThe organization id merchant is associated with
is_recon_enabledA boolean value to indicate if the merchant has recon service is enabled or not, by default value is false
recon_statusmerchant_account_typemerchant_nameName of the Merchant Account
return_urlThe URL to redirect after completion of the payment
payment_response_hash_keyRefers to the hash key used for calculating the signature for webhooks and redirect response. If the value is not provided, a value is automatically generated.
sub_merchants_enabledA boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
parent_merchant_idRefers to the Parent Merchant ID if the merchant being created is a sub-merchant
publishable_keyAPI key that will be used for server side API access
metadataMetadata is useful for storing additional, unstructured information on an object.
locker_idAn identifier for the vault used to store payment method information.
default_profileThe default profile that must be used for creating merchant accounts and payments
Object for GenericLinkUiConfig
product_typeMerchantAccountUpdate
merchant_idThe identifier for the Merchant Account
merchant_nameName of the Merchant Account
return_urlThe URL to redirect after the completion of the operation
sub_merchants_enabledA boolean value to indicate if the merchant is a sub-merchant under a master or a parent merchant. By default, its value is false.
parent_merchant_idRefers to the Parent Merchant ID if the merchant being created is a sub-merchant
enable_payment_response_hashA boolean value to indicate if payment response hash needs to be enabled
payment_response_hash_keyRefers to the hash key used for calculating the signature for webhooks and redirect response.
redirect_to_merchant_with_http_postA boolean value to indicate if redirect to merchant with http post needs to be enabled
metadataMetadata is useful for storing additional, unstructured information on an object.
publishable_keyAPI key that will be used for server side API access
locker_idAn identifier for the vault used to store payment method information.
Details about the primary business unit of the merchant account
frm_routing_algorithmThe frm routing algorithm to be used for routing payments to desired FRM's
default_profileThe default profile that must be used for creating merchant accounts and payments
Object for GenericLinkUiConfig
MerchantApplicationDetails
nameName of the the merchant application
versionVersion of the merchant application
MerchantCommissionConfigs
Tariff primitive: fee = MAX(min, ceil(pct * base / 100) + fixed).
fixed and min are minor units. JSON must keep both >= 0: a negative
addend or floor credits the merchant instead of charging a fee. Percentage
already rejects values outside 0–100; this type applies the same gate to
the minor-unit fields so the API matches the dashboard form.
MerchantCommissionDecisionConfigReq
nameMerchantCommissionDecisionManagerRecord
namecreated_atmodified_atMerchantConnectorAccountId
A type for merchant_connector_id that can be used for merchant_connector_account ids
MerchantConnectorCreate
connector_typeType of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
connector_nameconnector_labelThis is an unique label you can generate and pass in order to identify this connector account on your Hyperswitch dashboard and reports. Eg: if your profile label is default, connector label can be stripe_default
profile_idIdentifier for the profile, if not provided default will be chosen from merchant account
An object containing the details about the payment methods that need to be enabled under this merchant connector account
metadataMetadata is useful for storing additional, unstructured information on an object.
test_modeA boolean value to indicate if the connector is in Test mode. By default, its value is false.
disabledA boolean value to indicate if the connector is disabled. By default, its value is false.
Contains the frm configs for the merchant connector
business_countrybusiness_labelThe business label to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
business_sub_labelThe business sublabel to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
merchant_connector_idUnique ID of the connector
pm_auth_configstatuslinked_payment_mca_idOpt-in link to a payment-processor MCA of the same underlying connector. Set on a
payout_processor MCA; when a payout is made, its terminal_balance hold is drawn
directly from the linked payment MCA's balance instead of requiring this MCA's own
balance to be seeded manually. Several payout MCAs may share the same linked payment MCA.
MerchantConnectorCurrencyLimits
terminal_currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
terminal_min_amountThis Unit struct represents MinorUnit in which core amount works
terminal_max_amountThis Unit struct represents MinorUnit in which core amount works
Accepted payment currencies with per-currency amount ranges
MerchantConnectorDeleteResponse
merchant_idThe identifier for the Merchant Account
merchant_connector_idUnique ID of the connector
deletedIf the connector is deleted or not
MerchantConnectorDetails
connector_account_detailsAccount details of the Connector. You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Useful for storing additional, structured information on an object.
metadataMetadata is useful for storing additional, unstructured information on an object.
card_testing_guard_configMerchantConnectorDetailsWrap
creds_identifierCreds Identifier is to uniquely identify the credentials. Do not send any sensitive info, like encoded_data in this field. And do not send the string "null".
MerchantConnectorListResponse
connector_typeType of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
connector_namemerchant_connector_idUnique ID of the merchant connector account
profile_idIdentifier for the profile, if not provided default will be chosen from merchant account
statusconnector_labelA unique label to identify the connector account created under a profile
An object containing the details about the payment methods that need to be enabled under this merchant connector account
test_modeA boolean value to indicate if the connector is in Test mode. By default, its value is false.
disabledA boolean value to indicate if the connector is disabled. By default, its value is false.
Contains the frm configs for the merchant connector
business_countrybusiness_labelThe business label to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
business_sub_labelThe business sublabel to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
applepay_verified_domainsidentifier for the verified domains of a particular connector account
pm_auth_configgroup_idConnector group this processor belongs to, if any
MerchantConnectorResponse
connector_typeType of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
connector_namemerchant_connector_idUnique ID of the merchant connector account
profile_idIdentifier for the profile, if not provided default will be chosen from merchant account
statusconnector_labelA unique label to identify the connector account created under a profile
An object containing the details about the payment methods that need to be enabled under this merchant connector account
metadataMetadata is useful for storing additional, unstructured information on an object.
test_modeA boolean value to indicate if the connector is in Test mode. By default, its value is false.
disabledA boolean value to indicate if the connector is disabled. By default, its value is false.
Contains the frm configs for the merchant connector
business_countrybusiness_labelThe business label to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
business_sub_labelThe business sublabel to which the connector account is attached. To be deprecated soon. Use the 'profile_id' instead
applepay_verified_domainsidentifier for the verified domains of a particular connector account
pm_auth_configConnector details for webhook configuration via hyperswitch API
group_idConnector group this processor belongs to, if any
linked_payment_mca_idOpt-in link to a payment-processor MCA of the same underlying connector. Set on a
payout_processor MCA; when a payout is made, its terminal_balance hold is drawn
directly from the linked payment MCA's balance instead of requiring this MCA's own
balance to be seeded manually. Several payout MCAs may share the same linked payment MCA.
MerchantConnectorUpdate
connector_typeType of the Connector for the financial use case. Could range from Payments to Accounting to Banking.
statusconnector_labelThis is an unique label you can generate and pass in order to identify this connector account on your Hyperswitch dashboard and reports. Eg: if your profile label is default, connector label can be stripe_default
An object containing the details about the payment methods that need to be enabled under this merchant connector account
metadataMetadata is useful for storing additional, unstructured information on an object.
test_modeA boolean value to indicate if the connector is in Test mode. By default, its value is false.
disabledA boolean value to indicate if the connector is disabled. By default, its value is false.
Contains the frm configs for the merchant connector
pm_auth_configpm_auth_config will relate MCA records to their respective chosen auth services, based on payment_method and pmt
linked_payment_mca_idOpt-in link to a payment-processor MCA of the same underlying connector. Only meaningful
on a payout_processor MCA. Omitted = unchanged; null = unlink; string = set/replace link.
MerchantConnectorWebhookDetails
merchant_secretadditional_secretMerchantCountryCode
A wrapper type for merchant country codes that provides validation and conversion functionality.
This type stores a country code as a string and provides methods to validate it
and convert it to a Country enum variant.
MerchantDetails
primary_contact_personThe merchant's primary contact name
primary_phoneThe merchant's primary phone number
primary_emailThe merchant's primary email address
secondary_contact_personThe merchant's secondary contact name
secondary_phoneThe merchant's secondary phone number
secondary_emailThe merchant's secondary email address
websiteThe business website of the merchant
about_businessA brief description about merchant's business
Address details
merchant_tax_registration_idMerchantProductType
MerchantRecipientData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: connector_recipient_id | |
| type = object · requires: wallet_id | |
| type = object · requires: account_data |
connector_recipient_idMerchantRoutingAlgorithm
idUnique identifier of the routing configuration.
Example:
Code
profile_idProfile ID to which this routing configuration belongs.
Example:
Code
nameHuman-readable name of the routing configuration.
Example:
Code
descriptionDescription explaining the purpose of this routing configuration.
Example:
Code
created_atTimestamp (in milliseconds since epoch) when the routing configuration was created.
Example:
Code
modified_atTimestamp (in milliseconds since epoch) when the routing configuration was last modified.
Example:
Code
algorithm_forMitCategory
Specifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
MobilePaymentData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: direct_carrier_billing |
MobilePaymentNextStepData
consent_data_requiredMobilePaymentResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: direct_carrier_billing |
MockMode
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string | |
| type = object · requires: forced |
NetworkParams
Represents network-specific parameters for the Cartes Bancaires 3DS process.
NetworkTokenData
network_tokenThe network token
token_exp_monthThe token's expiry month
token_exp_yearThe token's expiry year
token_cryptogramThe token cryptogram
card_holder_nameThe card holder's name
card_networkIndicates the card network.
card_typeThe type of the card such as Credit, Debit
card_issuing_countryThe country in which the card was issued
bank_codeThe bank code of the bank that issued the card
card_issuerThe name of the issuer of card
nick_nameThe card holder's nick name
eciThe ECI(Electronic Commerce Indicator) value for this authentication.
NetworkTokenResponse
last4The last four digit of the network token
card_typeThe type of the card such as Credit, Debit
card_networkIndicates the card network.
token_isinThe ISIN of the token
card_issuerThe name of the issuer of card
card_issuing_countryThe country in which the card was issued
token_exp_monthThe expiry month of the network token
token_exp_yearThe expiry year of the network token
card_holder_nameThe card holder's name
NetworkTransactionIdAndCardDetails
card_numberThe card number
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
card_holder_nameThe card holder's name
network_transaction_idThe network transaction ID provided by the card network during a CIT (Customer Initiated Transaction),
when setup_future_usage is set to off_session.
card_issuerThe name of the issuer of card
card_networkIndicates the card network.
card_typecard_issuing_countrycard_issuing_country_codebank_codenick_nameThe card holder's nick name
NetworkTransactionIdAndDecryptedWalletTokenDetails
decrypted_tokenThe Decrypted Token
token_exp_monthThe token's expiry month
token_exp_yearThe token's expiry year
card_holder_nameThe card holder's name
network_transaction_idThe network transaction ID provided by the card network during a Customer Initiated Transaction (CIT)
when setup_future_usage is set to off_session.
eciECI indicator of the card
token_sourceSource of the token
card_networkIndicates the card network.
NetworkTransactionIdAndNetworkTokenDetails
network_tokenThe Network Token
token_exp_monthThe token's expiry month
token_exp_yearThe token's expiry year
card_holder_nameThe card holder's name
network_transaction_idThe network transaction ID provided by the card network during a Customer Initiated Transaction (CIT)
when setup_future_usage is set to off_session.
card_networkIndicates the card network.
card_typeThe type of the card such as Credit, Debit
card_issuing_countryThe country in which the card was issued
bank_codeThe bank code of the bank that issued the card
card_issuerThe name of the issuer of card
nick_nameThe card holder's nick name
eciThe ECI(Electronic Commerce Indicator) value for this authentication.
NextAction
urlThe URL for authenticatating the user.
http_methodNextActionCall
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: deny | |
| type = string |
The next action call is Post Session Tokens
NextActionData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="redirect_to_url" · requires: redirect_to_url | |
| type = object · type="redirect_inside_popup" · requires: popup_url, redirect_response_url | |
| type = object · type="display_bank_transfer_information" · requires: bank_transfer_steps_and_charges_details | |
| type = object · type="third_party_sdk_session_token" | |
| type = object · type="qr_code_information" · requires: image_data_url, qr_code_url | |
| type = object · type="fetch_qr_code_information" · requires: qr_code_fetch_url | |
| type = object · type="invoke_upi_intent_sdk" · requires: sdk_uri, display_from_timestamp | |
| type = object · type="invoke_upi_qr_flow" · requires: qr_code_url, display_from_timestamp | |
| type = object · type="display_voucher_information" · requires: voucher_details | |
| type = object · type="wait_screen_information" · requires: display_from_timestamp | |
| type = object · type="three_ds_invoke" · requires: three_ds_data | |
| type = object · type="invoke_sdk_client" · requires: next_action_data | |
| type = object · type="collect_otp" · requires: consent_data_required | |
| type = object · type="invoke_hidden_iframe" · requires: iframe_data |
redirect_to_urltypeNextActionType
NoThirdPartySdkSessionResponse
epoch_timestampTimestamp at which session is requested
expires_atTimestamp at which session expires
merchant_session_identifierThe identifier for the merchant session
nonceApple pay generated unique ID (UUID) value
merchant_identifierThe identifier for the merchant
domain_nameThe domain name of the merchant which is registered in Apple Pay
display_nameThe name to be displayed on Apple Pay button
signatureA string which represents the properties of a payment
operational_analytics_identifierThe identifier for the operational analytics
retriesThe number of retries to get the session response
psp_idThe identifier for the connector transaction
NoonData
order_categoryInformation about the order category that merchant wants to specify at connector level. (e.g. In Noon Payments it can take values like "pay", "food", or any other custom string set by the merchant in Noon's Dashboard)
NumberComparison
comparisonTypeConditional comparison type
numberThis Unit struct represents MinorUnit in which core amount works
OnlineMandate
ip_addressIp address of the customer machine from which the mandate was created
user_agentThe user-agent of the customer's browser
OpenBankingData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: open_banking_pis |
open_banking_pisOpenBankingResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: open_banking_pis |
open_banking_pisOpenBankingSessionToken
open_banking_session_tokenThe session token for OpenBanking Connectors
OpenBankingUk
account_holder_nameAccount holder name
ibanInternational Bank Account Number (iban) - used in many countries for identifying a bank along with it's customer.
OpenBankingUkAdditionalData
account_holder_nameAccount holder name
ibanInternational Bank Account Number (iban) - used in many countries for identifying a bank along with it's customer.
OpenRouterDecideGatewayRequest
Payment information used for routing decision-making
merchantIdProfile ID of the merchant
eligibleGatewayListList of eligible gateways for routing consideration
rankingAlgorithmeliminationEnabledWhether elimination logic is enabled for filtering gateways
OrderDetailsWithAmount
product_nameName of the product that is being purchased
quantityThe quantity of the product to be purchased
amountthe amount per quantity of product
tax_ratetax rate applicable to the product
total_tax_amounttotal tax amount applicable to the product
requires_shippingproduct_img_linkThe image URL of the product
product_idID of the product that is being purchased
categoryCategory of the product that is being purchased
sub_categorySub category of the product that is being purchased
brandBrand of the product that is being purchased
product_typeproduct_tax_codeThe tax code for the product
descriptionDescription for the item
skuStock Keeping Unit (SKU) or the item identifier for this item.
upcUniversal Product Code for the item.
commodity_codeCode describing a commodity or a group of commodities pertaining to goods classification.
unit_of_measureUnit of measure used for the item quantity.
total_amountTotal amount for the item.
unit_discount_amountDiscount amount applied to this item.
OrganizationCreateRequest
organization_nameName of the organization
organization_detailsDetails about the organization
metadataMetadata is useful for storing additional, unstructured information on an object.
OrganizationResponse
organization_idThe unique identifier for the Organization
modified_atcreated_atorganization_nameName of the Organization
organization_detailsDetails about the organization
metadataMetadata is useful for storing additional, unstructured information on an object.
organization_typeOrganizationUpdateRequest
platform_merchant_idPlatform merchant id is unique distiguisher for special merchant in the platform org
organization_nameName of the organization
organization_detailsDetails about the organization
metadataMetadata is useful for storing additional, unstructured information on an object.
OutgoingWebhook
merchant_idThe merchant id of the merchant
event_idThe unique event id for each webhook
event_typetimestampThe time at which webhook was sent
OutgoingWebhookContent
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="payment_details" · requires: object | |
| type = object · type="refund_details" · requires: object | |
| type = object · type="dispute_details" · requires: object | |
| type = object · type="mandate_details" · requires: object | |
| type = object · type="payout_details" · requires: object | |
| type = object · type="subscription_details" · requires: object |
typeOutgoingWebhookRequestContent
bodyThe request body sent in the webhook.
headersThe request headers sent in the webhook.
OutgoingWebhookResponseContent
bodyThe response body received for the webhook sent.
headersThe response headers received for the webhook sent.
status_codeThe HTTP status code for the webhook sent.
error_messageError message in case any error occurred when trying to deliver the webhook.
PartnerApplicationDetails
nameName of the partner/external platform
versionVersion of the partner/external platform
integratorIntegrator
PartnerMerchantIdentifierDetails
Information identifying partner / external platform details
Information identifying merchant details
Passthrough
psp_tokenPSP token generated for the payout method
token_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
PassthroughAdditionalData
psp_tokenPsp_token of the passthrough flow
token_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
PauseSubscriptionRequest
pause_optionpause_atOptional date when the subscription should be paused (if not provided, pauses immediately)
PauseSubscriptionResponse
idA type for subscription_id that can be used for subscription ids
statusPossible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
profile_idA type for profile_id that can be used for business profile ids
merchant_idA type for merchant_id that can be used for merchant ids
customer_idA type for customer_id that can be used for customer ids
merchant_reference_idMerchant specific Unique identifier.
paused_atDate when the subscription was paused
PayLaterData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: klarna_redirect | |
| type = object · requires: klarna_sdk | |
| type = object · requires: affirm_redirect | |
| type = object · requires: afterpay_clearpay_redirect | |
| type = object · requires: pay_bright_redirect | |
| type = object · requires: flexiti_redirect | |
| type = object · requires: walley_redirect | |
| type = object · requires: alma_redirect | |
| type = object · requires: atome_redirect | |
| type = object · requires: breadpay_redirect | |
| type = object · requires: payjustnow_redirect |
For KlarnaRedirect as PayLater Option
PaymentAttemptDetailedResponse
attempt_idstatusThe status of the attempt
amountcreated_atmodified_atAuthorized fee snapshots for this attempt's captures.
Legacy attempt-level snapshots have capture_id: null.
order_tax_amountcurrencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connectormerchant_connector_iderror_messageHuman-readable error message from the connector, if the attempt failed.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
connector_transaction_idcapture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
cancellation_reasonmandate_iderror_codeConnector-specific error code.
payment_tokenconnector_metadatapayment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
reference_idConnector-side reference ID for reconciliation.
unified_codeUnified error code across connectors.
TODO (not yet live).
unified_messageUnified error message across connectors.
TODO (not yet live).
client_sourceClient source header from the confirm request.
client_versionClient version header from the confirm request.
Complete error details for V1 PaymentsResponse containing unified, issuer, and connector-level error information.
Human-readable summary of the routing decision that was applied to a specific payment attempt.
The raw straight_through_algorithm JSON stored in payment_attempts is
deserialized here so dashboards can render the connector order, algorithm
type, and the connector that was actually selected.
algorithm uses [StraightThroughAlgorithmInner] rather than
[StraightThroughAlgorithm] so that it serialises directly as
{"type": "single", "data": ...}. [StraightThroughAlgorithm] wraps
through [StraightThroughAlgorithmSerde::Nested] which would produce
an extra {"algorithm": {...}} nesting layer in the JSON response.
Details of surcharge applied on this payment, if applicable
PaymentAttemptResponse
attempt_idA unique identifier for this specific payment attempt.
statusThe status of the attempt
amountThe payment attempt amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
created_atTime at which the payment attempt was created
modified_atTime at which the payment attempt was last modified
Authorized fee snapshots for this attempt's captures.
Legacy attempt-level snapshots have capture_id: null.
order_tax_amountThe payment attempt tax_amount.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connectorThe name of the payment connector (e.g., 'stripe', 'adyen') used for this attempt.
merchant_connector_idMerchant connector account used for this attempt. Present on terminal-scoped velocity declines so attempt history can show which MCA blocked the request.
error_messageA human-readable message from the connector explaining the error, if one occurred during this payment attempt.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
connector_transaction_idA unique identifier for a payment provided by the connector
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
cancellation_reasonIf the payment was cancelled the reason will be provided here
mandate_idIf this payment attempt is associated with a mandate (e.g., for a recurring or subsequent payment), this field will contain the ID of that mandate.
error_codeThe error code returned by the connector if this payment attempt failed. This code is specific to the connector.
payment_tokenIf a tokenized (saved) payment method was used for this attempt, this field contains the payment token representing that payment method.
connector_metadataAdditional data related to some connectors
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
reference_idThe connector's own reference or transaction ID for this specific payment attempt. Useful for reconciliation with the connector.
unified_code(This field is not live yet)Error code unified across the connectors is received here if there was an error while calling connector
unified_message(This field is not live yet)Error message unified across the connectors is received here if there was an error while calling connector
client_sourceValue passed in X-CLIENT-SOURCE header during payments confirm request by the client
client_versionValue passed in X-CLIENT-VERSION header during payments confirm request by the client
Complete error details for V1 PaymentsResponse containing unified, issuer, and connector-level error information.
PaymentCaptureFeeDetail
reference_idIdempotency reference. Legacy rows use the payment attempt identifier.
created_atTime when the snapshot was stored.
currencyThree-letter ISO 4217 currency code.
base_amountCaptured base amount, in minor units.
capture_idInternal capture identifier. Legacy attempt-level snapshots contain null.
merchant_commission_amountMerchant commission snapshot. null means that no snapshot exists.
provider_costProvider cost snapshot. This field requires connector-cost read access.
marginMerchant commission minus provider cost. This field requires connector-cost read access.
merchant_commission_rateResolved merchant rate snapshot.
provider_cost_rateResolved provider rate snapshot. This field requires connector-cost read access.
merchant_commission_ruleResolved merchant rule name.
provider_cost_ruleResolved provider rule name. This field requires connector-cost read access.
PaymentChannel
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: other |
PaymentChargeType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: Stripe |
StripePaymentCreatePaymentLinkConfig
themecustom theme for the payment link
logomerchant display logo
seller_nameCustom merchant name for payment link
sdk_layoutCustom layout for sdk
display_sdk_onlyDisplay only the sdk for payment link
enabled_saved_payment_methodEnable saved payment method option for payment link
hide_card_nickname_fieldHide card nickname field option for payment link
show_card_form_by_defaultShow card form by default for payment link
Dynamic details related to merchant to be rendered in payment link
details_layoutpayment_button_textText for payment link's handle confirm button
custom_message_for_card_termsText for customizing message for card terms
List of custom T&C messages grouped by payment method
payment_button_colourCustom background colour for payment link's handle confirm button
skip_status_screenSkip the status screen after payment completion
payment_button_text_colourCustom text colour for payment link's handle confirm button
background_colourCustom background colour for the payment link
SDK configuration rules
Payment link configuration rules
enable_button_only_on_form_readyFlag to enable the button only when the payment form is ready for submission
payment_form_header_textOptional header for the SDK's payment form
payment_form_label_typeshow_card_termsis_setup_mandate_flowBoolean to control payment button text for setup mandate calls
color_icon_card_cvc_errorHex color for the CVC icon during error state
PaymentData
amountThe amount of the payment in minor units (e.g., cents for USD).
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
PaymentDetailedResponse
payment_idmerchant_idstatusRepresents 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).
amountnet_amountNet amount including surcharge and tax.
net_amount = amount + surcharge_amount + tax_on_surcharge + shipping_cost + order_tax_amount
amount_capturablecurrencyThree-letter ISO 4217 currency code.
The list is ordered by created_at ascending.
Webhook delivery records from the Postgres events table.
Each entry corresponds to one delivery attempt (including retries).
Records are grouped by initial_attempt_id.
A record of which top-level fields in [PaymentDetailedResponse] were
merchant-provided vs. platform-generated for this specific payment intent.
Keys are field names matching [PaymentDetailedResponse]'s serde names.
Any field absent from this map should be treated as GeneratedByPlatform.
shipping_costamount_receiveddescriptionMerchant-supplied description for this payment.
metadataMerchant-supplied metadata key/value pairs.
createdmodified_atDetails of customer attached to this payment
Statistics for a customer within a single profile
The authorized fee snapshot aggregated across a payment's capture rows.
None on the containing response means that no merchant commission
snapshot exists. A calculated zero remains Some(0).
PaymentDetails
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
The payment method information provided for making a payment
setup_future_usageSpecifies 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.
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.
return_urlThe url to which user must be redirected to after completion of the purchase
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
payment_method_idPaymentDetailsQueryParams
expand_customer_statisticsWhen true, includes customer payment statistics for this payment's profile (OLAP).
PaymentErrorDetails
Unified error details standardized across all payment connectors
Error details from the card issuer
Error details from the payment connector
PaymentExperience
To indicate the type of payment experience that the customer would go through
PaymentExperienceTypes
eligible_connectorsThe list of eligible connectors for a given payment experience
payment_experience_typeTo indicate the type of payment experience that the customer would go through
PaymentFeeSummary
currencyThree-letter ISO 4217 currency code shared by all aggregated captures.
base_amountSum of the captured base amounts, in minor units.
merchant_commission_amountSum of the merchant commission snapshots, in minor units.
provider_costSum of provider costs. This field requires connector-cost read access.
marginMerchant commission minus provider cost. This field requires connector-cost read access.
merchant_commission_rateResolved merchant rate when all capture rows contain the same snapshot.
provider_cost_rateResolved provider rate when all capture rows contain the same snapshot.
merchant_commission_ruleResolved merchant rule when all capture rows contain the same rule.
provider_cost_ruleResolved provider rule when all capture rows contain the same rule.
PaymentFieldValidationField
Payment field subject to custom regex validation.
PaymentFieldValidationMode
Whether a regex rule allows or denies matching values.
PaymentFieldValidationParameter
fieldPayment field subject to custom regex validation.
modeWhether a regex rule allows or denies matching values.
patternRust regex pattern. Case-sensitive unless the pattern uses an inline
flag such as (?i). Must be non-empty after trim. Max length:
[MAX_PATTERN_BYTES] bytes.
descriptionPaymentFieldValidationParamsRequest
PaymentFieldValidationParamsResponse
scopeOwnership scope for payment field validation rules.
merchant_connector_idPaymentFieldValidationScope
Ownership scope for payment field validation rules.
PaymentFieldValidationScopeQuery
scopeOwnership scope for payment field validation rules.
merchant_connector_idPaymentInfo
paymentIdUnique identifier for the payment transaction
amountPayment amount in minor units
currencyCurrency code for the payment
paymentTypeType of payment transaction being processed
metadataOptional metadata associated with the payment
paymentMethodTypeSpecific payment method type being used
paymentMethodGeneral payment method category
cardIsinCard Issuer Identification Number (first 6 digits of card)
PaymentIntentStateMetadata
total_refunded_amountThis Unit struct represents MinorUnit in which core amount works
total_disputed_amountThis Unit struct represents MinorUnit in which core amount works
Additional metadata for payment intent state containing refunded and disputed amounts
PaymentLinkBackgroundImageConfig
urlURL of the image
positionPaymentLinkConfig
themecustom theme for the payment link
logomerchant display logo
seller_nameCustom merchant name for payment link
sdk_layoutCustom layout for sdk
display_sdk_onlyDisplay only the sdk for payment link
enabled_saved_payment_methodEnable saved payment method option for payment link
hide_card_nickname_fieldHide card nickname field option for payment link
show_card_form_by_defaultShow card form by default for payment link
enable_button_only_on_form_readyFlag to enable the button only when the payment form is ready for submission
allowed_domainsA list of allowed domains (glob patterns) where this link can be embedded / opened from
Dynamic details related to merchant to be rendered in payment link
details_layoutbranding_visibilityToggle for HyperSwitch branding visibility
payment_button_textText for payment link's handle confirm button
custom_message_for_card_termsText for customizing message for card terms
List of custom T&C messages grouped by payment method
payment_button_colourCustom background colour for payment link's handle confirm button
skip_status_screenSkip the status screen after payment completion
payment_button_text_colourCustom text colour for payment link's handle confirm button
background_colourCustom background colour for the payment link
SDK configuration rules
Payment link configuration rules
payment_form_header_textOptional header for the SDK's payment form
payment_form_label_typeshow_card_termsis_setup_mandate_flowBoolean to control payment button text for setup mandate calls
color_icon_card_cvc_errorHex color for the CVC icon during error state
PaymentLinkConfigRequest
themecustom theme for the payment link
logomerchant display logo
seller_nameCustom merchant name for payment link
sdk_layoutCustom layout for sdk
display_sdk_onlyDisplay only the sdk for payment link
enabled_saved_payment_methodEnable saved payment method option for payment link
hide_card_nickname_fieldHide card nickname field option for payment link
show_card_form_by_defaultShow card form by default for payment link
Dynamic details related to merchant to be rendered in payment link
details_layoutpayment_button_textText for payment link's handle confirm button
custom_message_for_card_termsText for customizing message for card terms
List of custom T&C messages grouped by payment method
payment_button_colourCustom background colour for payment link's handle confirm button
skip_status_screenSkip the status screen after payment completion
payment_button_text_colourCustom text colour for payment link's handle confirm button
background_colourCustom background colour for the payment link
SDK configuration rules
Payment link configuration rules
enable_button_only_on_form_readyFlag to enable the button only when the payment form is ready for submission
payment_form_header_textOptional header for the SDK's payment form
payment_form_label_typeshow_card_termsis_setup_mandate_flowBoolean to control payment button text for setup mandate calls
color_icon_card_cvc_errorHex color for the CVC icon during error state
PaymentLinkResponse
linkURL for rendering the open payment link
payment_link_idIdentifier for the payment link
secure_linkURL for rendering the secure payment link
PaymentLinkTransactionDetails
keyKey for the transaction details
valueValue for the transaction details
PaymentListConstraints
customer_idThe identifier for customer
starting_afterA cursor for use in pagination, fetch the next list after some object
ending_beforeA cursor for use in pagination, fetch the previous list before some object
limitlimit on the number of objects to return
createdThe time at which payment is created
created.ltTime less than the payment created time
created.gtTime greater than the payment created time
created.lteTime less than or equals to the payment created time
created.gteTime greater than or equals to the payment created time
PaymentListFilterConstraints
payment_idThe identifier for payment
profile_idThe identifier for business profile
customer_idThe identifier for customer
limitThe limit on the number of objects. The default limit is 10 and max limit is 20
offsetThe starting point within a list of objects
connectorThe list of connectors to filter payments list
currencyThe list of currencies to filter payments list
statusThe list of payment status to filter payments list
payment_methodThe list of payment methods to filter payments list
payment_method_typeThe list of payment method types to filter payments list
authentication_typeThe list of authentication types to filter payments list
merchant_connector_idThe list of merchant connector ids to filter payments list for selected label
card_networkThe List of all the card networks to filter payments list
merchant_order_reference_idThe identifier for merchant order reference id
card_discoveryIndicates the method by which a card is discovered during a payment
Column predicates. Combined with other fields using AND.
PaymentListResponse
sizeThe number of payments included in the list
PaymentListResponseV2
countThe number of payments included in the list for given constraints
total_countThe total number of available payments for given constraints
The list of payments response objects
PaymentMethod
Indicates the type of payment method. Eg: 'card', 'wallet', etc.
PaymentMethodBlockingConfig
Card-specific blocking configuration
PaymentMethodCollectLinkRequest
customer_idThe unique identifier of the customer.
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
pm_collect_link_idThe unique identifier for the collect link.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
return_urlRedirect to this URL post completion
List of payment methods shown on collect UI
PaymentMethodCollectLinkResponse
pm_collect_link_idThe unique identifier for the collect link.
customer_idThe unique identifier of the customer.
expiryTime when this link will be expired in ISO8601 format
linkURL to the form's link generated for collecting payment method details.
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
return_urlRedirect to this URL post completion
List of payment methods shown on collect UI
PaymentMethodConfig
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
Payment Method Types
PaymentMethodCreate
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
payment_method_issuerThe name of the bank/ provider issuing the payment method to the end user
payment_method_issuer_codemetadataYou 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.
customer_idThe unique identifier of the customer.
card_networkThe card network
client_secretFor Client based calls, SDK will use the client_secret in order to call /payment_methods Client secret will be generated whenever a new payment method is created
PaymentMethodCreateData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: bank_debit |
PaymentMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: card_redirect | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: bank_debit | |
| type = object · requires: bank_transfer | |
| type = object · requires: real_time_payment | |
| type = object · requires: crypto | |
| type = string | |
| type = string | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
PaymentMethodDataRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: card_redirect | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: bank_debit | |
| type = object · requires: bank_transfer | |
| type = object · requires: real_time_payment | |
| type = object · requires: crypto | |
| type = string | |
| type = string | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
PaymentMethodDataResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: bank_transfer | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: crypto | |
| type = object · requires: bank_debit | |
| type = object · requires: mandate_payment | |
| type = object · requires: reward | |
| type = object · requires: real_time_payment | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_redirect | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
PaymentMethodDataResponseWithBilling
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: bank_transfer | |
| type = object · requires: wallet | |
| type = object · requires: pay_later | |
| type = object · requires: bank_redirect | |
| type = object · requires: crypto | |
| type = object · requires: bank_debit | |
| type = object · requires: mandate_payment | |
| type = object · requires: reward | |
| type = object · requires: real_time_payment | |
| type = object · requires: upi | |
| type = object · requires: voucher | |
| type = object · requires: gift_card | |
| type = object · requires: card_redirect | |
| type = object · requires: card_token | |
| type = object · requires: open_banking | |
| type = object · requires: mobile_payment | |
| type = object · requires: network_token |
PaymentMethodDataWalletInfo
last4Last 4 digits of the card number
card_networkThe information of the payment method
typeThe type of payment method
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
auth_codeUnique authorisation code for the payment
PaymentMethodDeleteResponse
payment_method_idThe unique identifier of the Payment method
deletedWhether payment method was deleted or not
PaymentMethodIssuerCode
PaymentMethodListInstallmentAmountDetails
amount_per_installmentAmount charged per installment in major units
total_amountTotal amount across all installments in major units (may differ slightly from order amount due to ceiling)
PaymentMethodListInstallmentOption
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
Individual installment plans with computed amounts
PaymentMethodListInstallmentPlan
number_of_installmentsNumber of installments for this plan
billing_frequencyBilling frequency for a card installment plan
interest_rateInterest rate as a percentage
Amount breakdown for a single installment plan
PaymentMethodListIntentData
payment_idUnique identifier for the payment
statusRepresents 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).
amountThis Unit struct represents MinorUnit in which core amount works
attempt_countNumber of payment attempts made
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
client_secretClient secret for client-side payment confirmation
descriptionA description for the payment
customer_idThe customer identifier
return_urlThe URL to redirect to after payment completion
setup_future_usageSpecifies 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.
metadataAdditional metadata
order_detailsOrder details for the payment
createdTimestamp when the payment was created
expires_onTimestamp when the client secret expires
profile_idThe profile identifier
merchant_order_reference_idMerchant-provided reference identifier
Installment options available for this payment
PaymentMethodListResponse
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
Information about the payment method
show_surcharge_breakup_screenflag to indicate if surcharge and tax breakup screen should be shown or not
request_external_three_ds_authenticationflag to indicate whether to perform external 3ds authentication
is_tax_calculation_enabledflag that indicates whether to calculate tax on the order amount
is_guest_customerindicates whether this is a guest customer flow
redirect_urlRedirect URL of the merchant
merchant_namepayment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
collect_shipping_details_from_walletsflag that indicates whether to collect shipping details from wallets or from the customer
collect_billing_details_from_walletsflag that indicates whether to collect billing details from wallets or from the customer
Intent-only payment details returned as part of the Payment Method List response
show_logoWhether to show logo
logo_urlThe logo URL
PaymentMethodMetaData
card_networkIndicates the card network.
PaymentMethodResponse
merchant_idUnique identifier for a merchant
payment_method_idThe unique identifier of the Payment method
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
customer_idThe unique identifier of the customer.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
recurring_enabledIndicates whether the payment method supports recurring payments. Optional.
installment_payment_enabledIndicates whether the payment method is eligible for installment payments (e.g., EMI, BNPL). Optional.
payment_experienceType of payment experience enabled with the connector
metadataYou 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.
createdA timestamp (ISO 8601 code) that determines when the payment method was created
last_used_atclient_secretFor Client based calls
PaymentMethodSpecificFeatures
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: three_ds, no_three_ds, supported_card_networks |
three_dsThe status of the feature
no_three_dsThe status of the feature
supported_card_networksList of supported card networks
PaymentMethodStatus
Payment Method Status
PaymentMethodTokenizationDetails
payment_method_idThe unique identifier for the payment method
psp_tokenizationThis indicates whether there is at least one active PSP token available
network_tokenizationThis indicates whether a payment method is tokenized with card network
is_eligible_for_mit_paymentThis indicates whether a payment method is eligible for performing a mit transaction
payment_method_statusPayment Method Status
network_transaction_idThis is the transaction id generated by the network
PaymentMethodType
Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
PaymentMethodUpdate
client_secretThis is a 15 minute expiry token which shall be used from the client to authenticate and perform sessions from the SDK
PaymentMethodsConfig
List of custom T&C messages grouped by payment method
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
Payment Method Types
PaymentMethodsEnabled
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
Subtype of payment method
PaymentProcessingDetails
payment_processing_certificatepayment_processing_certificate_keyPaymentProcessingDetailsAt
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · payment_processing_details_at="Hyperswitch" · requires: payment_processing_certificate, payment_processing_certificate_key | |
| type = object · payment_processing_details_at="Connector" |
payment_processing_certificatepayment_processing_certificate_keypayment_processing_details_atPaymentResponseData
payment_idA type for payment_id that can be used for payment ids
statusRepresents 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).
amountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
profile_idA type for profile_id that can be used for business profile ids
connectorpayment_method_idIdentifier for Payment Method
return_urlThe url to which user must be redirected to after completion of the purchase
payment_experienceTo indicate the type of payment experience that the customer would go through
error_codeerror_messagepayment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
payment_tokenPaymentRetrieveBody
merchant_idThe identifier for the Merchant Account.
force_syncDecider to enable or disable the connector call for retrieve request
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
expand_capturesIf enabled provides list of captures linked to latest attempt
expand_attemptsIf enabled provides list of attempts linked to payment intent
all_keys_requiredIf enabled, provides whole connector response
expand_customer_statisticsWhen true, includes customer statistics (OLAP) in the retrieve response.
PaymentTableField
Payment intent and active-attempt columns shown on the payments table.
PaymentType
The type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
PaymentsCancelPostCaptureRequest
cancellation_reasonThe reason for the payment cancel
PaymentsCancelRequest
cancellation_reasonThe reason for the payment cancel
Merchant connector details used to make payments.
all_keys_requiredIf enabled, provides whole connector response
PaymentsCaptureRequest
merchant_idThe unique identifier for the merchant. This is usually inferred from the API key.
amount_to_captureThe amount to capture, in the lowest denomination of the currency. If omitted, the entire amount_capturable of the payment will be captured. Must be less than or equal to the current amount_capturable.
refund_uncaptured_amountDecider to refund the uncaptured amount. (Currently not fully supported or behavior may vary by connector).
statement_descriptor_suffixA dynamic suffix that appears on your customer's credit card statement. This is concatenated with the (shortened) descriptor prefix set on your account to form the complete statement descriptor. The combined length should not exceed connector-specific limits (typically 22 characters).
statement_descriptor_prefixAn optional prefix for the statement descriptor that appears on your customer's credit card statement. This can override the default prefix set on your merchant account. The combined length of prefix and suffix should not exceed connector-specific limits (typically 22 characters).
Merchant connector details used to make payments.
all_keys_requiredIf true, returns stringified connector raw response body
PaymentsCompleteAuthorizeRequest
client_secretClient Secret
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
PaymentsConfirmRequest
amountThe primary amount for the payment, provided in the lowest denomination of the specified currency (e.g., 6540 for $65.40 USD). This field is mandatory for creating a payment.
order_tax_amountTotal tax amount applicable to the order, in the lowest denomination of the currency.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
amount_to_captureThe amount to be captured from the user's payment method, in the lowest denomination. If not provided, and capture_method is automatic, the full payment amount will be captured. If capture_method is manual, this can be specified in the /capture call. Must be less than or equal to the authorized amount.
shipping_costThe shipping cost for the payment. This is required for tax calculation in some regions.
payment_idOptional. A merchant-provided unique identifier for the payment, contains 30 characters long (e.g., "pay_mbabizu24mvu3mela5njyhpit4"). If provided, it ensures idempotency for the payment creation request. If omitted, Hyperswitch generates a unique ID for the payment.
connectorThis allows to manually select a connector with which the payment can go through.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
confirmIf set to true, Hyperswitch attempts to confirm and authorize the payment immediately after creation, provided sufficient payment method details are included. If false or omitted (default is false), the payment is created with a status such as requires_payment_method or requires_confirmation, and a separate POST /payments/{payment_id}/confirm call is necessary to proceed with authorization.
Passing this object creates a new customer or attaches an existing customer to the payment
customer_idThe identifier for the customer
Merchant-provided customer statistics for advanced routing. All fields are optional.
off_sessionSet 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
descriptionAn arbitrary string attached to the payment. Often useful for displaying to users or for your own internal record-keeping.
return_urlThe URL to redirect the customer to after they complete the payment process or authentication. This is crucial for flows that involve off-site redirection (e.g., 3DS, some bank redirects, wallet payments).
setup_future_usageSpecifies 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.
The payment method information provided for making a payment
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_tokenAs 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.
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
client_secretIt's a token used for client side verification.
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.
mandate_idA 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
Browser information to be used for 3DS 2.0
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
Merchant connector details used to make payments.
allowed_payment_method_typesUse this parameter to restrict the Payment Method Types to show for a given PaymentIntent
retry_actionDenotes the retry action
metadataYou 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.
payment_linkWhether to generate the payment link for this payment or not (if applicable)
Configure a custom payment link for the particular payment
payment_link_config_idCustom payment link config id set at business profile, send only if business_specific_configs is configured
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
request_incremental_authorizationRequest an incremental authorization, i.e., increase the authorized amount on a confirmed payment before you capture it.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
frm_metadataAdditional data related to some frm(Fraud Risk Management) connectors
request_external_three_ds_authenticationWhether to perform external authentication (if applicable)
Represents external 3DS authentication data used in the payment flow.
Details required for recurring payment
Fee information for Split Payments to be charged on the payment being collected
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
merchant_order_reference_idYour unique identifier for this payment or order. This ID helps you reconcile payments on your system. If provided, it is passed to the connector if supported.
skip_external_tax_calculationWhether to calculate tax for this payment intent
psd2_sca_exemption_typeSCA Exemptions types available for authentication
force_3ds_challengeIndicates if 3ds challenge is forced
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
all_keys_requiredIf enabled, provides whole connector response
Describes the channel through which the payment was initiated.
tax_statusdiscount_amountTotal amount of the discount you have applied to the order or transaction.
shipping_amount_taxThis Unit struct represents MinorUnit in which core amount works
duty_amountThis Unit struct represents MinorUnit in which core amount works
order_dateDate the payer placed the order.
enable_partial_authorizationAllow partial authorization for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options grouped by payment method. When provided, the payment is treated as an installment payment.
Installment selection sent by the customer during payment confirmation.
statement_descriptor_nameFor 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. To be deprecated soon, use billing_descriptor instead.
statement_descriptor_suffixProvides 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. To be deprecated soon, use billing_descriptor instead.
PaymentsCreateRequest
amountThe primary amount for the payment, provided in the lowest denomination of the specified currency (e.g., 6540 for $65.40 USD). This field is mandatory for creating a payment.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
order_tax_amountTotal tax amount applicable to the order, in the lowest denomination of the currency.
amount_to_captureThe amount to be captured from the user's payment method, in the lowest denomination. If not provided, and capture_method is automatic, the full payment amount will be captured. If capture_method is manual, this can be specified in the /capture call. Must be less than or equal to the authorized amount.
shipping_costThe shipping cost for the payment. This is required for tax calculation in some regions.
payment_idOptional. A merchant-provided unique identifier for the payment, contains 30 characters long (e.g., "pay_mbabizu24mvu3mela5njyhpit4"). If provided, it ensures idempotency for the payment creation request. If omitted, Hyperswitch generates a unique ID for the payment.
connectorThis allows to manually select a connector with which the payment can go through.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
confirmIf set to true, Hyperswitch attempts to confirm and authorize the payment immediately after creation, provided sufficient payment method details are included. If false or omitted (default is false), the payment is created with a status such as requires_payment_method or requires_confirmation, and a separate POST /payments/{payment_id}/confirm call is necessary to proceed with authorization.
Passing this object creates a new customer or attaches an existing customer to the payment
customer_idThe identifier for the customer
Merchant-provided customer statistics for advanced routing. All fields are optional.
off_sessionSet 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
descriptionAn arbitrary string attached to the payment. Often useful for displaying to users or for your own internal record-keeping.
return_urlThe URL to redirect the customer to after they complete the payment process or authentication. This is crucial for flows that involve off-site redirection (e.g., 3DS, some bank redirects, wallet payments).
setup_future_usageSpecifies 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.
The payment method information provided for making a payment
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_tokenAs 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.
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.
mandate_idA 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
Browser information to be used for 3DS 2.0
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
business_countrybusiness_labelBusiness label of the merchant for this payment. To be deprecated soon. Pass the profile_id instead
Merchant connector details used to make payments.
allowed_payment_method_typesUse this parameter to restrict the Payment Method Types to show for a given PaymentIntent
metadataYou 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.
payment_linkWhether to generate the payment link for this payment or not (if applicable)
Configure a custom payment link for the particular payment
payment_link_config_idCustom payment link config id set at business profile, send only if business_specific_configs is configured
profile_idThe 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
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
request_incremental_authorizationRequest an incremental authorization, i.e., increase the authorized amount on a confirmed payment before you capture it.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
frm_metadataAdditional data related to some frm(Fraud Risk Management) connectors
request_external_three_ds_authenticationWhether to perform external authentication (if applicable)
Represents external 3DS authentication data used in the payment flow.
Details required for recurring payment
Fee information for Split Payments to be charged on the payment being collected
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
merchant_order_reference_idYour unique identifier for this payment or order. This ID helps you reconcile payments on your system. If provided, it is passed to the connector if supported.
skip_external_tax_calculationWhether to calculate tax for this payment intent
psd2_sca_exemption_typeSCA Exemptions types available for authentication
force_3ds_challengeIndicates if 3ds challenge is forced
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
all_keys_requiredIf enabled, provides whole connector response
Describes the channel through which the payment was initiated.
tax_statusdiscount_amountTotal amount of the discount you have applied to the order or transaction.
shipping_amount_taxThis Unit struct represents MinorUnit in which core amount works
duty_amountThis Unit struct represents MinorUnit in which core amount works
order_dateDate the payer placed the order.
enable_partial_authorizationAllow partial authorization for this payment
enable_overcaptureBoolean indicating whether to enable overcapture for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options grouped by payment method. When provided, the payment is treated as an installment payment.
Installment selection sent by the customer during payment confirmation.
statement_descriptor_nameFor 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. To be deprecated soon, use billing_descriptor instead.
statement_descriptor_suffixProvides 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. To be deprecated soon, use billing_descriptor instead.
PaymentsCreateResponseOpenApi
payment_idUnique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
merchant_idThis is an identifier for the merchant account. This is inferred from the API key provided during the request
statusRepresents 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).
amountThe 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.,
net_amountThe 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
amount_capturableThe amount (in minor units) that can still be captured for this payment. This is relevant when capture_method is manual. Once fully captured, or if capture_method is automatic and payment succeeded, this will be 0.
processor_merchant_idThe identifier for the processor merchant account. In platform-connected setups, this is the connected merchant ID. For standard merchants, this is same as merchant_id.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
attempt_countTotal number of attempts associated with this payment
shipping_costThe shipping cost for the payment.
amount_receivedThe total amount (in minor units) that has been captured for this payment. For fauxpay sandbox connector, this might reflect the authorized amount if status is succeeded even if capture_method was manual.
initiatorRepresents the initiator context in platform-connected setups Used in payment/refund/dispute responses to indicate who initiated the operation None indicates a standard merchant flow / JWT flow / Admin flow or insufficient information
sdk_authorizationToken containing encoded information for sdk authorization.
connectorThe name of the payment connector (e.g., 'stripe', 'adyen') that processed or is processing this payment.
Additional metadata for payment intent state containing refunded and disputed amounts
client_secretA secret token unique to this payment intent. It is primarily used by client-side applications (e.g., Hyperswitch SDKs) to authenticate actions like confirming the payment or handling next actions. This secret should be handled carefully and not exposed publicly beyond its intended client-side use.
createdTimestamp indicating when this payment intent was created, in ISO 8601 format.
modified_atTimestamp indicating when this payment intent was last modified, in ISO 8601 format.
descriptionAn arbitrary string providing a description for the payment, often useful for display or internal record-keeping.
An array of refund objects associated with this payment. Empty or null if no refunds have been processed.
List of disputes that happened on this intent
List of attempts that happened on this intent
List of captures done on latest attempt
mandate_idA unique identifier to link the payment to a mandate, can be used instead of payment_method_data, in case of setting up recurring payments
Passing this object during payments creates a mandate. The mandate_type sub object is passed by the server.
setup_future_usageSpecifies 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_sessionSet 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.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
payment_tokenProvide a reference to a stored payment method
Information about the product , quantity and amount for connectors. (e.g. Klarna)
return_urlThe URL to redirect after the completion of the operation
authentication_typeSpecifies 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.
statement_descriptor_nameFor 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.
statement_descriptor_suffixProvides 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.
cancellation_reasonIf the payment intent was cancelled, this field provides a textual reason for the cancellation (e.g., "requested_by_customer", "abandoned").
error_codeThe connector-specific error code from the last failed payment attempt associated with this payment intent.
error_messageA human-readable error message from the last failed payment attempt associated with this payment intent.
Complete error details for V1 PaymentsResponse containing unified, issuer, and connector-level error information.
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
connector_labelA label identifying the specific merchant connector account (MCA) used for this payment. This often combines the connector name, business country, and a custom label (e.g., "stripe_US_primary").
business_countrybusiness_labelThe label identifying the specific business unit or profile under which this payment was processed by the merchant.
business_sub_labelAn optional sub-label for further categorization of the business unit or profile used for this payment.
allowed_payment_method_typesAllowed Payment Method Types for a given PaymentIntent
manual_retry_allowedIf true the payment can be retried with same or different payment method which means the confirm call can be made again.
connector_transaction_idA 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
metadataYou 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_idreference(Identifier) to the payment at connector side
profile_idThe business profile that is associated with this payment
Details of surcharge applied on this payment, if applicable
merchant_decisionDenotes 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_connector_idIdentifier of the connector ( merchant connector account ) which was chosen to make the payment
incremental_authorization_allowedIf true, incremental authorization can be performed on this payment, in case the funds authorized initially fall short.
authorization_countTotal number of authorizations happened in an incremental_authorization payment
List of incremental authorizations happened to the payment
Details of external authentication
external_3ds_authentication_attemptedFlag indicating if external 3ds authentication is made or not
expires_onDate Time for expiry of the payment
fingerprintPayment Fingerprint, to identify a particular card. It is a 20 character long alphanumeric code.
Browser information to be used for 3DS 2.0
Describes the channel through which the payment was initiated.
payment_method_idA unique identifier for the payment method used in this payment. If the payment method was saved or tokenized, this ID can be used to reference it for future transactions or recurring payments.
Refer payment_method_tokenization_details for detailed view of payment method tokenization
network_transaction_idThe network transaction ID is a unique identifier for the transaction as recognized by the payment network (e.g., Visa, Mastercard), this ID can be used to reference it for future transactions or recurring payments.
Refer payment_method_tokenization_details for detailed view of payment method tokenization
payment_method_statusPayment Method Status
updatedDate time at which payment was updated
Charge Information
frm_metadataYou 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.
extended_authorization_appliedflag that indicates if extended authorization is applied on this payment or not
extended_authorization_last_applied_atdate and time at which extended authorization was last applied on this payment
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
capture_beforedate and time after which this payment cannot be captured
merchant_order_reference_idMerchant'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.
order_tax_amountThis Unit struct represents MinorUnit in which core amount works
connector_mandate_idConnector Identifier for the payment method
card_discoveryIndicates the method by which a card is discovered during a payment
force_3ds_challengeIndicates if 3ds challenge is forced
force_3ds_challenge_triggerIndicates if 3ds challenge is triggered
issuer_error_codeError code received from the issuer in case of failed payments
issuer_error_messageError message received from the issuer in case of failed payments
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
whole_connector_responseContains whole connector response
enable_partial_authorizationAllow partial authorization for this payment
enable_overcaptureBool indicating if overcapture must be requested for this payment
is_overcapture_enabledBoolean indicating whether overcapture is effectively enabled for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options associated with this payment, grouped by payment method
Installment selection made by the customer during payment confirmation.
Statistics for a customer within a single profile
The authorized fee snapshot aggregated across a payment's capture rows.
None on the containing response means that no merchant commission
snapshot exists. A calculated zero remains Some(0).
customer_idThe 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
emaildescription: The customer's email address
This field will be deprecated soon. Please refer to customer.email object
namedescription: The customer's name
This field will be deprecated soon. Please refer to customer.name object
phoneThe customer's phone number
This field will be deprecated soon. Please refer to customer.phone object
PaymentsDynamicTaxCalculationRequest
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
client_secretClient Secret
session_idSession Id
PaymentsDynamicTaxCalculationResponse
payment_idThe identifier for the payment
net_amountThis Unit struct represents MinorUnit in which core amount works
order_tax_amountThis Unit struct represents MinorUnit in which core amount works
shipping_costThis Unit struct represents MinorUnit in which core amount works
PaymentsEligibilityRequest
client_secretToken used for client side verification
payment_method_typeIndicates the type of payment method. Eg: 'card', 'wallet', etc.
Payment method data request for eligibility check
payment_method_subtypeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
Browser information to be used for 3DS 2.0
PaymentsEligibilityResponse
payment_idThe identifier for the payment
PaymentsExternalAuthenticationRequest
device_channelDevice Channel indicating whether request is coming from App or Browser
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
client_secretClient Secret
SDK Information if request is from SDK
PaymentsExternalAuthenticationResponse
trans_statusIndicates the transaction status
three_ds_requestor_urlThree DS Requestor URL
acs_urlAccess Server URL to be used for challenge submission
challenge_requestChallenge request which should be sent to acs_url
challenge_request_keyChallenge request key which should be set as form field name for creq
acs_reference_numberUnique identifier assigned by the EMVCo(Europay, Mastercard and Visa)
acs_trans_idUnique identifier assigned by the ACS to identify a single transaction
three_dsserver_trans_idUnique identifier assigned by the 3DS Server to identify a single transaction
acs_signed_contentContains the JWS object created by the ACS for the ARes(Authentication Response) message
three_ds_requestor_app_urlMerchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred
error_messageError message if any
PaymentsIncrementalAuthorizationRequest
amountThe total amount including previously authorized amount and additional amount
reasonReason for incremental authorization
PaymentsPostSessionTokensRequest
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
client_secretIt's a token used for client side verification.
PaymentsPostSessionTokensResponse
payment_idThe identifier for the payment
statusRepresents 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).
PaymentsRequest
amountThe primary amount for the payment, provided in the lowest denomination of the specified currency (e.g., 6540 for $65.40 USD). This field is mandatory for creating a payment.
order_tax_amountTotal tax amount applicable to the order, in the lowest denomination of the currency.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
amount_to_captureThe amount to be captured from the user's payment method, in the lowest denomination. If not provided, and capture_method is automatic, the full payment amount will be captured. If capture_method is manual, this can be specified in the /capture call. Must be less than or equal to the authorized amount.
shipping_costThe shipping cost for the payment. This is required for tax calculation in some regions.
payment_idOptional. A merchant-provided unique identifier for the payment, contains 30 characters long (e.g., "pay_mbabizu24mvu3mela5njyhpit4"). If provided, it ensures idempotency for the payment creation request. If omitted, Hyperswitch generates a unique ID for the payment.
merchant_idThis is an identifier for the merchant account. This is inferred from the API key provided during the request
connectorThis allows to manually select a connector with which the payment can go through.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
capture_onA timestamp (ISO 8601 code) that determines when the payment should be captured.
Providing this field will automatically set capture to true
confirmIf set to true, Hyperswitch attempts to confirm and authorize the payment immediately after creation, provided sufficient payment method details are included. If false or omitted (default is false), the payment is created with a status such as requires_payment_method or requires_confirmation, and a separate POST /payments/{payment_id}/confirm call is necessary to proceed with authorization.
Passing this object creates a new customer or attaches an existing customer to the payment
customer_idThe identifier for the customer
Merchant-provided customer statistics for advanced routing. All fields are optional.
off_sessionSet 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
descriptionAn arbitrary string attached to the payment. Often useful for displaying to users or for your own internal record-keeping.
return_urlThe URL to redirect the customer to after they complete the payment process or authentication. This is crucial for flows that involve off-site redirection (e.g., 3DS, some bank redirects, wallet payments).
setup_future_usageSpecifies 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.
The payment method information provided for making a payment
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_tokenAs 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.
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
client_secretIt's a token used for client side verification.
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.
mandate_idA 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
Browser information to be used for 3DS 2.0
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
business_countrybusiness_labelBusiness label of the merchant for this payment. To be deprecated soon. Pass the profile_id instead
Merchant connector details used to make payments.
allowed_payment_method_typesUse this parameter to restrict the Payment Method Types to show for a given PaymentIntent
business_sub_labelBusiness sub label for the payment
retry_actionDenotes the retry action
metadataYou 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
payment_linkWhether to generate the payment link for this payment or not (if applicable)
Configure a custom payment link for the particular payment
payment_link_config_idCustom payment link config id set at business profile, send only if business_specific_configs is configured
profile_idThe 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
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
request_incremental_authorizationRequest an incremental authorization, i.e., increase the authorized amount on a confirmed payment before you capture it.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
frm_metadataAdditional data related to some frm(Fraud Risk Management) connectors
request_external_three_ds_authenticationWhether to perform external authentication (if applicable)
Represents external 3DS authentication data used in the payment flow.
Details required for recurring payment
Fee information for Split Payments to be charged on the payment being collected
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
merchant_order_reference_idYour unique identifier for this payment or order. This ID helps you reconcile payments on your system. If provided, it is passed to the connector if supported.
skip_external_tax_calculationWhether to calculate tax for this payment intent
psd2_sca_exemption_typeSCA Exemptions types available for authentication
force_3ds_challengeIndicates if 3ds challenge is forced
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
all_keys_requiredIf enabled, provides whole connector response
Describes the channel through which the payment was initiated.
tax_statusdiscount_amountTotal amount of the discount you have applied to the order or transaction.
shipping_amount_taxThis Unit struct represents MinorUnit in which core amount works
duty_amountThis Unit struct represents MinorUnit in which core amount works
order_dateDate the payer placed the order.
enable_partial_authorizationAllow partial authorization for this payment
enable_overcaptureBoolean indicating whether to enable overcapture for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options grouped by payment method. When provided, the payment is treated as an installment payment.
Installment selection sent by the customer during payment confirmation.
emailThe customer's email address. This field will be deprecated soon, use the customer object instead
nameThe customer's name. This field will be deprecated soon, use the customer object instead.
phoneThe customer's phone number This field will be deprecated soon, use the customer object instead
phone_country_codeThe country code for the customer phone number This field will be deprecated soon, use the customer object instead
card_cvcThis is used along with the payment_token field while collecting during saved card payments. This field will be deprecated soon, use the payment_method_data.card_token object instead
statement_descriptor_nameFor 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. To be deprecated soon, use billing_descriptor instead.
statement_descriptor_suffixProvides 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. To be deprecated soon, use billing_descriptor instead.
PaymentsResponse
payment_idUnique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.
merchant_idThis is an identifier for the merchant account. This is inferred from the API key provided during the request
statusRepresents 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).
amountThe 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.,
net_amountThe 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
amount_capturableThe amount (in minor units) that can still be captured for this payment. This is relevant when capture_method is manual. Once fully captured, or if capture_method is automatic and payment succeeded, this will be 0.
processor_merchant_idThe identifier for the processor merchant account. In platform-connected setups, this is the connected merchant ID. For standard merchants, this is same as merchant_id.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
attempt_countTotal number of attempts associated with this payment
shipping_costThe shipping cost for the payment.
amount_receivedThe total amount (in minor units) that has been captured for this payment. For fauxpay sandbox connector, this might reflect the authorized amount if status is succeeded even if capture_method was manual.
initiatorRepresents the initiator context in platform-connected setups Used in payment/refund/dispute responses to indicate who initiated the operation None indicates a standard merchant flow / JWT flow / Admin flow or insufficient information
sdk_authorizationToken containing encoded information for sdk authorization.
connectorThe name of the payment connector (e.g., 'stripe', 'adyen') that processed or is processing this payment.
Additional metadata for payment intent state containing refunded and disputed amounts
client_secretA secret token unique to this payment intent. It is primarily used by client-side applications (e.g., Hyperswitch SDKs) to authenticate actions like confirming the payment or handling next actions. This secret should be handled carefully and not exposed publicly beyond its intended client-side use.
createdTimestamp indicating when this payment intent was created, in ISO 8601 format.
modified_atTimestamp indicating when this payment intent was last modified, in ISO 8601 format.
Details of customer attached to this payment
descriptionAn arbitrary string providing a description for the payment, often useful for display or internal record-keeping.
An array of refund objects associated with this payment. Empty or null if no refunds have been processed.
List of disputes that happened on this intent
List of attempts that happened on this intent
List of captures done on latest attempt
mandate_idA unique identifier to link the payment to a mandate, can be used instead of payment_method_data, in case of setting up recurring payments
Passing this object during payments creates a mandate. The mandate_type sub object is passed by the server.
setup_future_usageSpecifies 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_sessionSet 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.
capture_onA timestamp (ISO 8601 code) that determines when the payment should be captured.
Providing this field will automatically set capture to true
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
payment_tokenProvide a reference to a stored payment method
Information about the product , quantity and amount for connectors. (e.g. Klarna)
return_urlThe URL to redirect after the completion of the operation
authentication_typeSpecifies 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.
statement_descriptor_nameFor 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.
statement_descriptor_suffixProvides 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.
cancellation_reasonIf the payment intent was cancelled, this field provides a textual reason for the cancellation (e.g., "requested_by_customer", "abandoned").
error_codeThe connector-specific error code from the last failed payment attempt associated with this payment intent.
error_messageA human-readable error message from the last failed payment attempt associated with this payment intent.
unified_codeerror code unified across the connectors is received here if there was an error while calling connector
unified_messageerror message unified across the connectors is received here if there was an error while calling connector
Complete error details for V1 PaymentsResponse containing unified, issuer, and connector-level error information.
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
connector_labelA label identifying the specific merchant connector account (MCA) used for this payment. This often combines the connector name, business country, and a custom label (e.g., "stripe_US_primary").
business_countrybusiness_labelThe label identifying the specific business unit or profile under which this payment was processed by the merchant.
business_sub_labelAn optional sub-label for further categorization of the business unit or profile used for this payment.
allowed_payment_method_typesAllowed Payment Method Types for a given PaymentIntent
manual_retry_allowedIf true the payment can be retried with same or different payment method which means the confirm call can be made again.
connector_transaction_idA 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
metadataYou 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_idreference(Identifier) to the payment at connector side
profile_idThe business profile that is associated with this payment
Details of surcharge applied on this payment, if applicable
merchant_decisionDenotes 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_connector_idIdentifier of the connector ( merchant connector account ) which was chosen to make the payment
incremental_authorization_allowedIf true, incremental authorization can be performed on this payment, in case the funds authorized initially fall short.
authorization_countTotal number of authorizations happened in an incremental_authorization payment
List of incremental authorizations happened to the payment
Details of external authentication
external_3ds_authentication_attemptedFlag indicating if external 3ds authentication is made or not
expires_onDate Time for expiry of the payment
fingerprintPayment Fingerprint, to identify a particular card. It is a 20 character long alphanumeric code.
Browser information to be used for 3DS 2.0
Describes the channel through which the payment was initiated.
payment_method_idA unique identifier for the payment method used in this payment. If the payment method was saved or tokenized, this ID can be used to reference it for future transactions or recurring payments.
Refer payment_method_tokenization_details for detailed view of payment method tokenization
network_transaction_idThe network transaction ID is a unique identifier for the transaction as recognized by the payment network (e.g., Visa, Mastercard), this ID can be used to reference it for future transactions or recurring payments.
Refer payment_method_tokenization_details for detailed view of payment method tokenization
payment_method_statusPayment Method Status
updatedDate time at which payment was updated
Charge Information
frm_metadataYou 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.
extended_authorization_appliedflag that indicates if extended authorization is applied on this payment or not
extended_authorization_last_applied_atdate and time at which extended authorization was last applied on this payment
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
capture_beforedate and time after which this payment cannot be captured
merchant_order_reference_idMerchant'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.
order_tax_amountThis Unit struct represents MinorUnit in which core amount works
connector_mandate_idConnector Identifier for the payment method
card_discoveryIndicates the method by which a card is discovered during a payment
force_3ds_challengeIndicates if 3ds challenge is forced
force_3ds_challenge_triggerIndicates if 3ds challenge is triggered
issuer_error_codeError code received from the issuer in case of failed payments
issuer_error_messageError message received from the issuer in case of failed payments
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
whole_connector_responseContains whole connector response
enable_partial_authorizationAllow partial authorization for this payment
enable_overcaptureBool indicating if overcapture must be requested for this payment
is_overcapture_enabledBoolean indicating whether overcapture is effectively enabled for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options associated with this payment, grouped by payment method
Installment selection made by the customer during payment confirmation.
Statistics for a customer within a single profile
The authorized fee snapshot aggregated across a payment's capture rows.
None on the containing response means that no merchant commission
snapshot exists. A calculated zero remains Some(0).
customer_idThe 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
emaildescription: The customer's email address
This field will be deprecated soon. Please refer to customer.email object
namedescription: The customer's name
This field will be deprecated soon. Please refer to customer.name object
phoneThe customer's phone number
This field will be deprecated soon. Please refer to customer.phone object
PaymentsRetrieveRequest
resource_idThe type of ID (ex: payment intent id, payment attempt id or connector txn id)
force_syncDecider to enable or disable the connector call for retrieve request
merchant_idThe identifier for the Merchant Account.
paramOptional query parameters that might be specific to a connector or flow, passed through during the retrieve operation. Use with caution and refer to specific connector documentation if applicable.
connectorOptionally specifies the connector to be used for a 'force_sync' retrieve operation. If provided, Hyperswitch will attempt to sync the payment status from this specific connector.
Merchant connector details used to make payments.
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
expand_capturesIf enabled provides list of captures linked to latest attempt
expand_attemptsIf enabled provides list of attempts linked to payment intent
all_keys_requiredIf enabled, provides whole connector response
expand_customer_statisticsWhen true, response includes [crate::customers::CustomerStatisticsItem] for the payment's profile (OLAP).
PaymentsSessionRequest
payment_idThe identifier for the payment
walletsThe list of the supported wallets
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
Merchant connector details used to make payments.
PaymentsSessionResponse
payment_idThe identifier for the payment
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
The list of session token object
PaymentsUpdateMetadataRequest
metadataMetadata is useful for storing additional, unstructured information on an object.
additional data that might be required by hyperswitch
PaymentsUpdateMetadataResponse
payment_idThe identifier for the payment
statusRepresents 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).
metadataMetadata is useful for storing additional, unstructured information on an object.
additional data that might be required by hyperswitch
PaymentsUpdateRequest
amountThe primary amount for the payment, provided in the lowest denomination of the specified currency (e.g., 6540 for $65.40 USD). This field is mandatory for creating a payment.
order_tax_amountTotal tax amount applicable to the order, in the lowest denomination of the currency.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
amount_to_captureThe amount to be captured from the user's payment method, in the lowest denomination. If not provided, and capture_method is automatic, the full payment amount will be captured. If capture_method is manual, this can be specified in the /capture call. Must be less than or equal to the authorized amount.
shipping_costThe shipping cost for the payment. This is required for tax calculation in some regions.
payment_idOptional. A merchant-provided unique identifier for the payment, contains 30 characters long (e.g., "pay_mbabizu24mvu3mela5njyhpit4"). If provided, it ensures idempotency for the payment creation request. If omitted, Hyperswitch generates a unique ID for the payment.
connectorThis allows to manually select a connector with which the payment can go through.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
authentication_typeSpecifies 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.
confirmIf set to true, Hyperswitch attempts to confirm and authorize the payment immediately after creation, provided sufficient payment method details are included. If false or omitted (default is false), the payment is created with a status such as requires_payment_method or requires_confirmation, and a separate POST /payments/{payment_id}/confirm call is necessary to proceed with authorization.
Passing this object creates a new customer or attaches an existing customer to the payment
customer_idThe identifier for the customer
Merchant-provided customer statistics for advanced routing. All fields are optional.
off_sessionSet 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
descriptionAn arbitrary string attached to the payment. Often useful for displaying to users or for your own internal record-keeping.
return_urlThe URL to redirect the customer to after they complete the payment process or authentication. This is crucial for flows that involve off-site redirection (e.g., 3DS, some bank redirects, wallet payments).
setup_future_usageSpecifies 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.
The payment method information provided for making a payment
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_tokenAs 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.
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.
Browser information to be used for 3DS 2.0
payment_experienceTo indicate the type of payment experience that the customer would go through
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
Merchant connector details used to make payments.
allowed_payment_method_typesUse this parameter to restrict the Payment Method Types to show for a given PaymentIntent
retry_actionDenotes the retry action
metadataYou 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.
payment_linkWhether to generate the payment link for this payment or not (if applicable)
Configure a custom payment link for the particular payment
payment_link_config_idCustom payment link config id set at business profile, send only if business_specific_configs is configured
Details of surcharge applied on this payment, if applicable
payment_typeThe type of the payment that differentiates between normal and various types of mandate payments. Use 'setup_mandate' in case of zero auth flow.
request_incremental_authorizationRequest an incremental authorization, i.e., increase the authorized amount on a confirmed payment before you capture it.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
frm_metadataAdditional data related to some frm(Fraud Risk Management) connectors
request_external_three_ds_authenticationWhether to perform external authentication (if applicable)
Represents external 3DS authentication data used in the payment flow.
Details required for recurring payment
Fee information for Split Payments to be charged on the payment being collected
request_extended_authorizationOptional boolean value to extent authorization period of this payment
capture method must be manual or manual_multiple
merchant_order_reference_idYour unique identifier for this payment or order. This ID helps you reconcile payments on your system. If provided, it is passed to the connector if supported.
skip_external_tax_calculationWhether to calculate tax for this payment intent
psd2_sca_exemption_typeSCA Exemptions types available for authentication
force_3ds_challengeIndicates if 3ds challenge is forced
threeds_method_comp_indIndicates if 3DS method data was successfully completed or not
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
all_keys_requiredIf enabled, provides whole connector response
Describes the channel through which the payment was initiated.
tax_statusdiscount_amountTotal amount of the discount you have applied to the order or transaction.
shipping_amount_taxThis Unit struct represents MinorUnit in which core amount works
duty_amountThis Unit struct represents MinorUnit in which core amount works
order_dateDate the payer placed the order.
enable_partial_authorizationAllow partial authorization for this payment
enable_overcaptureBoolean indicating whether to enable overcapture for this payment
is_stored_credentialBoolean flag indicating whether this payment method is stored and has been previously used for payments
mit_categorySpecifies the category of a Merchant Initiated Transaction (MIT). In the case of MIT, mit_category tells what kind of MIT is being processed. In the case of CIT, it tells the future intended MIT type.
Billing Descriptor information to be sent to the payment gateway
tokenizationThe type of tokenization to use for the payment method
Information identifying partner and merchant application initiating the request
Installment payment options grouped by payment method. When provided, the payment is treated as an installment payment.
Installment selection sent by the customer during payment confirmation.
statement_descriptor_nameFor 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. To be deprecated soon, use billing_descriptor instead.
statement_descriptor_suffixProvides 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. To be deprecated soon, use billing_descriptor instead.
PayoutAttemptResponse
attempt_idUnique identifier for the attempt
statusamountThe payout attempt amount. Amount for the payout in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
Fee snapshots for this attempt. The list contains at most one row.
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connectorThe connector used for the payout
error_codeConnector's error code in case of failures
error_messageConnector's error message in case of failures
payment_methodThe payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
payout_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
connector_transaction_idA unique identifier for a payout provided by the connector
cancellation_reasonIf the payout was cancelled the reason provided here
unified_code(This field is not live yet) Error code unified across the connectors is received here in case of errors while calling the underlying connector
unified_message(This field is not live yet) Error message unified across the connectors is received here in case of errors while calling the underlying connector
PayoutCancelRequest
payout_idUnique identifier for the payout. This ensures idempotency for multiple payouts that have been done by a single merchant. This field is auto generated and is returned in the API response.
PayoutConfirmRequest
client_secretIt's a token used for client side verification.
merchant_order_reference_idYour unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.
amountThe payout amount. Amount for the payout in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connectorThis field allows the merchant to manually select a connector with which the payout can go through.
payout_typeThe payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
The payout method information required for carrying out a payout
auto_fulfillSet to true to confirm the payout without review, no further action required
Passing this object creates a new customer or attaches an existing customer to the payment
return_urlThe URL to redirect after the completion of the operation
business_countrydescriptionA description of the payout
entity_typeType of entity to whom the payout is being carried out to, select from the given list of options
recurringSpecifies whether or not the payout request is recurring
metadataYou 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.
payout_tokenProvide a reference to a stored payout method, used to process the payout.
profile_idThe business profile to use for this payout, especially if there are multiple business profiles associated with the account, otherwise default business profile associated with the merchant account will be used.
priorityThe send method which will be required for processing payouts, check options for better understanding.
payout_linkWhether to get the payout link (if applicable). Merchant need to specify this during the Payout Create, this field can not be updated during Payout Update.
Custom payout link config for the particular payout, if payout link is to be generated.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
payout_method_idIdentifier for payout method
Browser information to be used for 3DS 2.0
customer_idThe identifier for the customer object. If not provided the customer ID will be autogenerated. Deprecated: Use customer_id instead.
business_labelBusiness label of the merchant for this payout. Deprecated: Use profile_id instead.
emailCustomer's email. Deprecated: Use customer object instead.
nameCustomer's name. Deprecated: Use customer object instead.
phoneCustomer's phone. Deprecated: Use customer object instead.
phone_country_codeCustomer's phone country code. Deprecated: Use customer object instead.
PayoutConnectors
PayoutCreatePayoutLinkConfig
logoMerchant's display logo
merchant_nameCustom merchant name for the link
themePrimary color to be used in the form represented in hex format
payout_link_idThe unique identifier for the collect link.
List of payout methods shown on collect UI
form_layouttest_modetest_mode allows for opening payout links without any restrictions. This removes
- domain name validations
- check for making sure link is accessed within an iframe
PayoutCreateResponse
payout_idUnique identifier for the payout. This ensures idempotency for multiple payouts that have been done by a single merchant. This field is auto generated and is returned in the API response.
merchant_idThis is an identifier for the merchant account. This is inferred from the API key provided during the request
amountThe payout amount. Amount for the payout in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
auto_fulfillSet to true to confirm the payout without review, no further action required
customer_idThe identifier for the customer object. If not provided the customer ID will be autogenerated.
client_secretIt's a token used for client side verification.
return_urlThe URL to redirect after the completion of the operation
business_countryentity_typeType of entity to whom the payout is being carried out to, select from the given list of options
recurringSpecifies whether or not the payout request is recurring
statusprofile_idThe business profile that is associated with this payout
merchant_order_reference_idYour unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.
connectorThe connector used for the payout
payout_typeThe payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
The payout method information for response
Details of customer attached to this payment
business_labelBusiness label of the merchant for this payout
descriptionA description of the payout
metadataYou 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.
merchant_connector_idUnique identifier of the merchant connector account
error_messageIf there was an error while calling the connector the error message is received here
error_codeIf there was an error while calling the connectors the code is received here
createdTime when the payout was created
connector_transaction_idUnderlying processor's payout resource ID
priorityThe send method which will be required for processing payouts, check options for better understanding.
List of attempts
unified_code(This field is not live yet) Error code unified across the connectors is received here in case of errors while calling the underlying connector
unified_message(This field is not live yet) Error message unified across the connectors is received here in case of errors while calling the underlying connector
payout_method_idIdentifier for payout method
A fee snapshot summary for one business transaction.
emailCustomer's email. Deprecated: Use customer object instead.
nameCustomer's name. Deprecated: Use customer object instead.
phoneCustomer's phone. Deprecated: Use customer object instead.
phone_country_codeCustomer's phone country code. Deprecated: Use customer object instead.
PayoutEntityType
Type of entity to whom the payout is being carried out to, select from the given list of options
PayoutFulfillRequest
payout_idUnique identifier for the payout. This ensures idempotency for multiple payouts that have been done by a single merchant. This field is auto generated and is returned in the API response.
PayoutListConstraints
start_timeThe start time to filter payments list or to get list of filters. To get list of filters start time is needed to be passed
end_timeThe end time to filter payments list or to get list of filters. If not passed the default time is now
customer_idThe identifier for customer
starting_afterA cursor for use in pagination, fetch the next list after some object
ending_beforeA cursor for use in pagination, fetch the previous list before some object
limitlimit on the number of objects to return
createdThe time at which payout is created
PayoutListFilterConstraints
start_timeThe start time to filter payments list or to get list of filters. To get list of filters start time is needed to be passed
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
entity_typeType of entity to whom the payout is being carried out to, select from the given list of options
end_timeThe end time to filter payments list or to get list of filters. If not passed the default time is now
payout_idThe identifier for payout
merchant_order_reference_idThe merchant order reference ID for payout
profile_idThe identifier for business profile
customer_idThe identifier for customer
limitThe limit on the number of objects. The default limit is 10 and max limit is 20
offsetThe starting point within a list of objects
connectorThe list of connectors to filter payouts list
statusThe list of payout status to filter payouts list
payout_methodThe list of payout methods to filter payouts list
Column predicates. Combined with other fields using AND.
PayoutListFilters
connectorThe list of available connector filters
currencyThe list of available currency filters
statusThe list of available payout status filters
payout_methodThe list of available payout method filters
PayoutListResponse
sizeThe number of payouts included in the list
The list of payouts response objects
total_countThe total number of available payouts for given constraints
PayoutMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: bank | |
| type = object · requires: wallet | |
| type = object · requires: bank_redirect | |
| type = object · requires: passthrough |
PayoutMethodDataResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: bank | |
| type = object · requires: wallet | |
| type = object · requires: bank_redirect | |
| type = object · requires: passthrough |
Masked payout method details for card payout method
PayoutRetrieveRequest
payout_idUnique identifier for the payout. This ensures idempotency for multiple payouts that have been done by a single merchant. This field is auto generated and is returned in the API response.
force_syncforce_sync with the connector to get payout details
(defaults to false)
merchant_idThe identifier for the Merchant Account.
PayoutSendPriority
The send method which will be required for processing payouts, check options for better understanding.
PayoutStatus
PayoutTableField
Payout and payout-attempt columns shown on the payouts table.
PayoutType
The payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
PayoutUpdateRequest
merchant_order_reference_idYour unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.
amountThe payout amount. Amount for the payout in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
connectorThis field allows the merchant to manually select a connector with which the payout can go through.
confirmThis field is used when merchant wants to confirm the payout, thus useful for the payout Confirm request. Ideally merchants should Create a payout, Update it (if required), then Confirm it.
payout_typeThe payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
The payout method information required for carrying out a payout
auto_fulfillSet to true to confirm the payout without review, no further action required
Passing this object creates a new customer or attaches an existing customer to the payment
client_secretIt's a token used for client side verification.
return_urlThe URL to redirect after the completion of the operation
business_countrydescriptionA description of the payout
entity_typeType of entity to whom the payout is being carried out to, select from the given list of options
recurringSpecifies whether or not the payout request is recurring
metadataYou 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.
payout_tokenProvide a reference to a stored payout method, used to process the payout.
profile_idThe business profile to use for this payout, especially if there are multiple business profiles associated with the account, otherwise default business profile associated with the merchant account will be used.
priorityThe send method which will be required for processing payouts, check options for better understanding.
payout_linkWhether to get the payout link (if applicable). Merchant need to specify this during the Payout Create, this field can not be updated during Payout Update.
Custom payout link config for the particular payout, if payout link is to be generated.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
payout_method_idIdentifier for payout method
Browser information to be used for 3DS 2.0
customer_idThe identifier for the customer object. If not provided the customer ID will be autogenerated. Deprecated: Use customer_id instead.
business_labelBusiness label of the merchant for this payout. Deprecated: Use profile_id instead.
emailCustomer's email. Deprecated: Use customer object instead.
nameCustomer's name. Deprecated: Use customer object instead.
phoneCustomer's phone. Deprecated: Use customer object instead.
phone_country_codeCustomer's phone country code. Deprecated: Use customer object instead.
PayoutsCreateRequest
amountThe payout amount. Amount for the payout in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
merchant_order_reference_idYour unique identifier for this payout or order. This ID helps you reconcile payouts on your system. If provided, it is passed to the connector if supported.
connectorThis field allows the merchant to manually select a connector with which the payout can go through.
confirmThis field is used when merchant wants to confirm the payout, thus useful for the payout Confirm request. Ideally merchants should Create a payout, Update it (if required), then Confirm it.
payout_typeThe payout_type of the payout request is a mandatory field for confirming the payouts. It should be specified in the Create request. If not provided, it must be updated in the Payout Update request before it can be confirmed.
The payout method information required for carrying out a payout
auto_fulfillSet to true to confirm the payout without review, no further action required
Passing this object creates a new customer or attaches an existing customer to the payment
return_urlThe URL to redirect after the completion of the operation
business_countrydescriptionA description of the payout
entity_typeType of entity to whom the payout is being carried out to, select from the given list of options
recurringSpecifies whether or not the payout request is recurring
metadataYou 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.
payout_tokenProvide a reference to a stored payout method, used to process the payout.
profile_idThe business profile to use for this payout, especially if there are multiple business profiles associated with the account, otherwise default business profile associated with the merchant account will be used.
priorityThe send method which will be required for processing payouts, check options for better understanding.
payout_linkWhether to get the payout link (if applicable). Merchant need to specify this during the Payout Create, this field can not be updated during Payout Update.
Custom payout link config for the particular payout, if payout link is to be generated.
session_expiryWill be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins
payout_method_idIdentifier for payout method
Browser information to be used for 3DS 2.0
customer_idThe identifier for the customer object. If not provided the customer ID will be autogenerated. Deprecated: Use customer_id instead.
business_labelBusiness label of the merchant for this payout. Deprecated: Use profile_id instead.
emailCustomer's email. Deprecated: Use customer object instead.
nameCustomer's name. Deprecated: Use customer object instead.
phoneCustomer's phone. Deprecated: Use customer object instead.
phone_country_codeCustomer's phone country code. Deprecated: Use customer object instead.
Paypal
emailEmail linked with paypal account
telephone_numbermobile number linked to paypal account
paypal_idid of the paypal account
PaypalAdditionalData
emailEmail linked with paypal account
telephone_numbermobile number linked to paypal account
paypal_idid of the paypal account
PaypalRedirection
emailpaypal's email address
PaypalSessionTokenResponse
connectorName of the connector
session_tokenThe session token for PayPal
client_tokenAuthorization token used by client to initiate sdk
PaypalTransactionInfo
flowcurrency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
total_priceTotal price
PazeSessionTokenResponse
client_idPaze Client ID
client_nameClient Name to be displayed on the Paze screen
client_profile_idPaze Client Profile ID
transaction_currency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
transaction_amountThe transaction amount
email_addressEmail Address
PeachpaymentsData
rrnA numeric reference number supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof.
PhoneDetails
numberThe contact number
country_codeThe country code attached to the number
PixAdditionalDetails
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: immediate | |
| type = object · requires: scheduled |
PixBankTransfer
bank_account_numberBank account number is an unique identifier assigned by a bank to a customer.
pix_keyUnique key for pix customer
bank_nameBank name
bank_branchBank branch
tax_idIndividual taxpayer identification number
PixBankTransferAdditionalData
pix_keyPartially masked unique key for pix transfer
cpfPartially masked CPF - CPF is a Brazilian tax identification number
cnpjPartially masked CNPJ - CNPJ is a Brazilian company tax identification number
source_bank_account_idPartially masked source bank account number
expiry_dateThe expiration date and time for the Pix QR code in ISO 8601 format
destination_bank_account_idPartially masked destination bank account number Deprecated: Will be removed in next stable release.
PixKey
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="cpf" · requires: value | |
| type = object · type="cnpj" · requires: value | |
| type = object · type="email" · requires: value | |
| type = object · type="phone" · requires: value | |
| type = object · type="evp_token" · requires: value |
typevaluePlatformAccountCreateResponse
org_idorg_typemerchant_idmerchant_account_typeorg_namePlatformBaseCurrencyResponse
base_currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
PollConfig
delay_in_secsInterval of the poll
frequencyFrequency of the poll
PollConfigResponse
poll_idPoll Id
delay_in_secsInterval of the poll
frequencyFrequency of the poll
PollResponse
poll_idThe poll id
statusPostAuthenticationRequestPaymentMethodData
payment_method_typePostCaptureVoidResponse
updated_atTimestamp when the post capture void was last updated
statusThe status of a post-capture void operation
connector_reference_idConnector reference id for post capture void
descriptionDescription or message related to the post capture void
PostCaptureVoidStatus
The status of a post-capture void operation
PrimaryBusinessDetails
countrybusinessPriorityLogicData
nameName of the logic
statusStatus of the logic execution
failure_reasonReason for failure if the logic failed
PriorityLogicOutput
isEnforcementWhether enforcement mode is enabled
gwsList of gateways returned by the priority logic
priorityLogicTagTag identifying the priority logic used
gatewayReferenceIdsMap of gateway reference IDs
ProcessorPaymentToken
processor_payment_tokenmerchant_connector_idProfileAcquirerCreate
acquirer_assigned_merchant_idThe merchant id assigned by the acquirer
merchant_namemerchant name
networkNetwork provider
acquirer_binAcquirer bin
acquirer_fraud_rateFraud rate for the particular acquirer configuration
profile_idParent profile id to link the acquirer account with
acquirer_icaAcquirer ica provided by acquirer
ProfileAcquirerResponse
profile_acquirer_idThe unique identifier of the profile acquirer
acquirer_assigned_merchant_idThe merchant id assigned by the acquirer
merchant_nameMerchant name
networkNetwork provider
acquirer_binAcquirer bin
acquirer_fraud_rateFraud rate for the particular acquirer configuration
profile_idParent profile id to link the acquirer account with
acquirer_icaAcquirer ica provided by acquirer
ProfileAcquirerUpdate
acquirer_assigned_merchant_idmerchant_namenetworkacquirer_binacquirer_icaacquirer_fraud_rateProfileCreate
profile_nameThe name of profile
return_urlThe URL to redirect after the completion of the operation
enable_payment_response_hashA boolean value to indicate if payment response hash needs to be enabled
payment_response_hash_keyRefers to the hash key used for calculating the signature for webhooks and redirect response. If the value is not provided, a value is automatically generated.
redirect_to_merchant_with_http_postA boolean value to indicate if redirect to merchant with http post needs to be enabled
metadataMetadata is useful for storing additional, unstructured information on an object.
routing_algorithmThe routing algorithm to be used for routing payments to desired connectors
intent_fulfillment_timeWill be used to determine the time till which your payment will be active once the payment session starts
frm_routing_algorithmThe frm routing algorithm to be used for routing payments to desired FRM's
applepay_verified_domainsVerified Apple Pay domains for a particular profile
session_expiryClient Secret Default expiry for all payments created under this profile
use_billing_as_payment_method_billingWhether to use the billing details passed when creating the intent as payment method billing
collect_shipping_details_from_wallet_connectorA boolean value to indicate if customer shipping details needs to be collected from wallet connector only if it is required field for connector (Eg. Apple Pay, Google Pay etc)
collect_billing_details_from_wallet_connectorA boolean value to indicate if customer billing details needs to be collected from wallet connector only if it is required field for connector (Eg. Apple Pay, Google Pay etc)
always_collect_shipping_details_from_wallet_connectorA boolean value to indicate if customer shipping details needs to be collected from wallet connector irrespective of connector required fields (Eg. Apple pay, Google pay etc)
always_collect_billing_details_from_wallet_connectorA boolean value to indicate if customer billing details needs to be collected from wallet connector irrespective of connector required fields (Eg. Apple pay, Google pay etc)
is_connector_agnostic_mit_enabledIndicates if the MIT (merchant initiated transaction) payments can be made connector
agnostic, i.e., MITs may be processed through different connector than CIT (customer
initiated transaction) based on the routing rules.
If set to false, MIT will go through the same connector as the CIT.
Object for GenericLinkUiConfig
outgoing_webhook_custom_http_headersThese key-value pairs are sent as additional custom headers in the outgoing webhook request. It is recommended not to use more than four key-value pairs.
tax_connector_idMerchant Connector id to be stored for tax_calculator connector
is_tax_connector_enabledIndicates if tax_calculator connector is enabled or not.
If set to true tax_connector_id will be checked.
is_network_tokenization_enabledIndicates if network tokenization is enabled or not.
is_auto_retries_enabledIndicates if is_auto_retries_enabled is enabled or not.
max_auto_retries_enabledMaximum number of auto retries allowed for a payment
always_request_extended_authorizationBool indicating if extended authentication must be requested for all payments
is_click_to_pay_enabledIndicates if click to pay is enabled or not.
authentication_product_idsProduct authentication ids
is_clear_pan_retries_enabledIndicates if clear pan retries is enabled or not.
force_3ds_challengeIndicates if 3ds challenge is forced
is_debit_routing_enabledIndicates if debit routing is enabled or not
merchant_business_countryis_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
is_pre_network_tokenization_enabledIndicates if pre network tokenization is enabled or not
merchant_category_codemerchant_country_codeA wrapper type for merchant country codes that provides validation and conversion functionality.
This type stores a country code as a string and provides methods to validate it
and convert it to a Country enum variant.
dispute_polling_intervalTime interval (in hours) for polling the connector to check for new disputes
is_manual_retry_enabledIndicates if manual retry for payment is enabled or not
always_require_payout_approvalWhen true, a confirmed payout that would normally move to requires_creation instead stays in awaiting_approval until approved via payouts update-status.
always_enable_overcaptureBool indicating if overcapture must be requested for all payments
is_external_vault_enabledbilling_processor_idMerchant Connector id to be stored for billing_processor connector
is_l2_l3_enabledFlag to enable Level 2 and Level 3 processing data for card transactions
show_logoWhether to show logo
logo_urlThe logo URL
Configuration for payment method blocking based on card attributes
auto_cancel_timeout_secsTimeout in seconds after which eligible payment intents are auto-cancelled
auto_cancel_eligible_statusesPayment intent statuses eligible for auto-cancellation
is_default_fallback_routing_enabledUse default fallback routing when no routing rule matches
ProfileDefaultRoutingConfig
profile_idUnique identifier of the business profile.
Example:
Code
List of connectors configured as default for this profile.
Example:
Code
ProfileResponse
merchant_idThe identifier for Merchant Account
profile_idThe identifier for profile. This must be used for creating merchant accounts, payments and payouts
profile_nameName of the profile
enable_payment_response_hashA boolean value to indicate if payment response hash needs to be enabled
redirect_to_merchant_with_http_postA boolean value to indicate if redirect to merchant with http post needs to be enabled
is_tax_connector_enabledIndicates if tax_calculator connector is enabled or not.
If set to true tax_connector_id will be checked.
is_network_tokenization_enabledIndicates if network tokenization is enabled or not.
is_auto_retries_enabledIndicates if is_auto_retries_enabled is enabled or not.
is_click_to_pay_enabledIndicates if click to pay is enabled or not.
is_clear_pan_retries_enabledIndicates if clear pan retries is enabled or not.
force_3ds_challengeIndicates if 3ds challenge is forced
is_pre_network_tokenization_enabledIndicates if pre network tokenization is enabled or not
is_default_fallback_routing_enabledUse default fallback routing when no routing rule matches
return_urlThe URL to redirect after the completion of the operation
payment_response_hash_keyRefers to the hash key used for calculating the signature for webhooks and redirect response. If the value is not provided, a value is automatically generated.
metadataMetadata is useful for storing additional, unstructured information on an object.
routing_algorithmThe routing algorithm to be used for routing payments to desired connectors
intent_fulfillment_timeWill be used to determine the time till which your payment will be active once the payment session starts
frm_routing_algorithmThe routing algorithm to be used to process the incoming request from merchant to outgoing payment processor or payment method. The default is 'Custom'
applepay_verified_domainsVerified Apple Pay domains for a particular profile
session_expiryClient Secret Default expiry for all payments created under this profile
use_billing_as_payment_method_billingcollect_shipping_details_from_wallet_connectorA boolean value to indicate if customer shipping details needs to be collected from wallet connector only if it is required field for connector (Eg. Apple Pay, Google Pay etc)
collect_billing_details_from_wallet_connectorA boolean value to indicate if customer billing details needs to be collected from wallet connector only if it is required field for connector (Eg. Apple Pay, Google Pay etc)
always_collect_shipping_details_from_wallet_connectorA boolean value to indicate if customer shipping details needs to be collected from wallet connector irrespective of connector required fields (Eg. Apple pay, Google pay etc)
always_collect_billing_details_from_wallet_connectorA boolean value to indicate if customer billing details needs to be collected from wallet connector irrespective of connector required fields (Eg. Apple pay, Google pay etc)
is_connector_agnostic_mit_enabledIndicates if the MIT (merchant initiated transaction) payments can be made connector
agnostic, i.e., MITs may be processed through different connector than CIT (customer
initiated transaction) based on the routing rules.
If set to false, MIT will go through the same connector as the CIT.
is_raw_card_data_enabledIndicates whether direct raw card data is accepted for payments on this profile.
Object for GenericLinkUiConfig
outgoing_webhook_custom_http_headersThese key-value pairs are sent as additional custom headers in the outgoing webhook request.
tax_connector_idMerchant Connector id to be stored for tax_calculator connector
max_auto_retries_enabledMaximum number of auto retries allowed for a payment
always_request_extended_authorizationBool indicating if extended authentication must be requested for all payments
authentication_product_idsProduct authentication ids
is_debit_routing_enabledIndicates if debit routing is enabled or not
merchant_business_countryAcquirer configs
is_iframe_redirection_enabledIndicates if the redirection has to open in the iframe
merchant_category_codemerchant_country_codeA wrapper type for merchant country codes that provides validation and conversion functionality.
This type stores a country code as a string and provides methods to validate it
and convert it to a Country enum variant.
dispute_polling_intervalTime interval (in hours) for polling the connector to check dispute statuses
is_manual_retry_enabledIndicates if manual retry for payment is enabled or not
always_require_payout_approvalWhen true, a confirmed payout that would normally move to requires_creation instead stays in awaiting_approval until approved via payouts update-status.
always_enable_overcaptureBool indicating if overcapture must be requested for all payments
is_external_vault_enabledbilling_processor_idMerchant Connector id to be stored for billing_processor connector
is_l2_l3_enabledFlag to enable Level 2 and Level 3 processing data for card transactions
show_logoWhether to show logo
logo_urlThe logo URL
Configuration for payment method blocking based on card attributes
auto_cancel_timeout_secsTimeout in seconds after which eligible payment intents are auto-cancelled
auto_cancel_eligible_statusesPayment intent statuses eligible for auto-cancellation
ProgramConnectorSelection
Represents a rule
Code
ProgramThreeDsDecisionRule
Struct representing the output configuration for the 3DS Decision Rule Engine.
RealTimePaymentData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: fps | |
| type = object · requires: duit_now | |
| type = object · requires: prompt_pay | |
| type = object · requires: viet_qr | |
| type = object · requires: qris |
fpsRealTimePaymentDataResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: fps | |
| type = object · requires: duit_now | |
| type = object · requires: prompt_pay | |
| type = object · requires: viet_qr | |
| type = object · requires: qris |
fpsReceiverDetails
amount_receivedThe amount received by receiver
amount_chargedThe amount charged by ACH
amount_remainingThe amount remaining to be sent via ACH
RecommendedAction
RecurringDetails
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="mandate_id" · requires: data | |
| type = object · type="payment_method_id" · requires: data | |
| type = object · type="processor_payment_token" · requires: data | |
| type = object · type="network_transaction_id_and_card_details" · requires: data | |
| type = object · type="network_transaction_id_and_network_token_details" · requires: data | |
| type = object · type="network_transaction_id_and_decrypted_wallet_token_details" · requires: data | |
| type = object · type="card_with_limited_data" · requires: data |
typedataRefundListRequest
start_timeThe start time to filter payments list or to get list of filters. To get list of filters start time is needed to be passed
end_timeThe end time to filter payments list or to get list of filters. If not passed the default time is now
payment_idThe identifier for the payment
payment_id_inRestrict results to refunds for these payment IDs (e.g. customer recent activity).
refund_idThe identifier for the refund
profile_idThe identifier for business profile
limitLimit on the number of objects to return
offsetThe starting point within a list of objects
connectorThe list of connectors to filter refunds list
merchant_connector_idThe list of merchant connector ids to filter the refunds list for selected label
currencyThe list of currencies to filter refunds list
refund_statusThe list of refund statuses to filter refunds list
Column predicates. Combined with other fields using AND.
RefundListResponse
countThe number of refunds included in the list
total_countThe total number of refunds in the list
The List of refund response object
RefundRequest
payment_idThe payment id against which refund is to be initiated
refund_idUnique Identifier for the Refund. This is to ensure idempotency for multiple partial refunds initiated against the same payment. If this is not passed by the merchant, this field shall be auto generated and provided in the API response. It is recommended to generate uuid(v4) as the refund_id.
merchant_idThe identifier for the Merchant Account
amountTotal amount for which the refund is to be initiated. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc., If not provided, this will default to the full payment amount
reasonReason for the refund. Often useful for displaying to users and your customer support executive. In case the payment went through Stripe, this field needs to be passed with one of these enums: duplicate, fraudulent, or requested_by_customer
refund_typeTo indicate whether to refund needs to be instant or scheduled
metadataYou 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.
Merchant connector details used to make payments.
Charge specific fields for controlling the revert of funds from either platform or connected account. Check sub-fields for more details.
all_keys_requiredIf true, returns stringified connector raw response body
RefundResponse
refund_idUnique Identifier for the refund
payment_idThe payment id against which refund is initiated
amountThe refund amount, which should be less than or equal to the total 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
currencyThe three-letter ISO currency code
statusThe status for refunds
connectorThe connector used for the refund and the corresponding payment
reasonAn arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
metadataYou 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
error_messageThe error message
error_codeThe code for the error
unified_codeError code unified across the connectors is received here if there was an error while calling connector
unified_messageError message unified across the connectors is received here if there was an error while calling connector
created_atThe timestamp at which refund is created
updated_atThe timestamp at which refund is updated
profile_idThe id of business profile for this refund
merchant_connector_idThe merchant_connector_id of the processor through which this payment went through
Charge specific fields for controlling the revert of funds from either platform or connected account. Check sub-fields for more details.
issuer_error_codeError code received from the issuer in case of failed refunds
issuer_error_messageError message received from the issuer in case of failed refunds
raw_connector_responseContains whole connector response
connector_refund_idA unique identifier for a payment provided by the connector
A fee snapshot summary for one business transaction.
RefundTableField
Refund table columns.
RefundType
To indicate whether to refund needs to be instant or scheduled
RefundUpdateRequest
reasonAn arbitrary string attached to the object. Often useful for displaying to users and your customer support executive
metadataYou 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.
RegisterConnectorWebhookResponse
connector_webhook_idwebhook_registration_statusThe status of webhook registration
error_codeerror_messageRelayCaptureRequestData
authorized_amountThe amount that is authorized for capture
amount_to_captureThe amount that is being captured
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
capture_methodSpecifies 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}/captureendpoint is required to capture the funds.
RelayData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: refund | |
| type = object · requires: capture | |
| type = object · requires: incremental_authorization | |
| type = object · requires: void |
RelayIncrementalAuthorizationRequestData
total_amountOriginal amount + additional amount of the transaction
additional_amountThe amount by which the payment needs is incremented
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
RelayRefundRequestData
amountThe amount that is being refunded
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
reasonThe reason for the refund
RelayRequest
connector_resource_idThe identifier that is associated to a resource at the connector reference to which the relay request is being made
connector_idIdentifier of the connector ( merchant connector account ) which was chosen to make the payment
typeRelayResponse
idThe unique identifier for the Relay
statusconnector_resource_idThe identifier that is associated to a resource at the connector reference to which the relay request is being made
connector_idIdentifier of the connector ( merchant connector account ) which was chosen to make the payment
profile_idThe business profile that is associated with this relay request.
typeconnector_reference_idThe identifier that is associated to a resource at the connector to which the relay request is being made
RelayVoidRequestData
amountThe amount of the transaction that is being voided
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
cancellation_reasonThe cancellation reason for voiding the transaction
RequestPaymentMethodTypes
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
payment_experienceTo indicate the type of payment experience that the customer would go through
card_networksObject to filter the customer countries for which the payment method is displayed
minimum_amountThis Unit struct represents MinorUnit in which core amount works
maximum_amountThis Unit struct represents MinorUnit in which core amount works
recurring_enabledIndicates whether the payment method supports recurring payments. Optional.
installment_payment_enabledIndicates whether the payment method is eligible for installment payments (e.g., EMI, BNPL). Optional.
RequestSurchargeDetails
surcharge_amounttax_amountThis Unit struct represents MinorUnit in which core amount works
RequiredFieldInfo
required_fieldRequired field for a payment_method through a payment_method_type
display_nameDisplay name of the required field in the front-end
Possible field type of required fields in payment_method_data
valueResponsePaymentMethodTypes
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
The list of payment experiences enabled, if applicable for a payment method type
The list of card networks enabled, if applicable for a payment method type
Required fields for the payment_method_type.
pm_auth_connectorauth service connector label for this payment method type, if exists
The list of banks enabled, if applicable for a payment method type . To be deprecated soon.
ResponsePaymentMethodsEnabled
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
The list of payment method types enabled for a connector account
ResumeSubscriptionRequest
resume_optionresume_dateOptional date when the subscription should be resumed (if not provided, resumes immediately)
charges_handlingunpaid_invoices_handlingResumeSubscriptionResponse
idA type for subscription_id that can be used for subscription ids
statusPossible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
profile_idA type for profile_id that can be used for business profile ids
merchant_idA type for merchant_id that can be used for merchant ids
customer_idA type for customer_id that can be used for customer ids
merchant_reference_idMerchant specific Unique identifier.
next_billing_atDate when the subscription was resumed
RetrieveApiKeyResponse
key_idThe identifier for the API Key.
nameThe unique name for the API Key to help you identify it.
prefixThe first few characters of the plaintext API Key to help you identify it.
createdThe time at which the API Key was created.
JSON column value: explicit non-empty grants for the key.
merchant_idThe identifier for the Merchant Account.
organization_idThe identifier for the Organization Account.
tenant_idThe identifier for the Tenant.
descriptionThe description to provide more context about the API Key.
whitelisted_ipsWhitelisted IP addresses for this key. Empty or absent means all IPs are allowed.
RetrievePaymentLinkRequest
client_secretIt's a token used for client side verification.
RetrievePaymentLinkResponse
payment_link_idIdentifier for Payment Link
merchant_idIdentifier for Merchant
link_to_payOpen payment link (without any security checks and listing SPMs)
amountThe payment amount. Amount for the payment in the lowest denomination of the currency
created_atDate and time of Payment Link creation
statusStatus Of the Payment Link
expiryDate and time of Expiration for Payment Link
descriptionDescription for Payment Link
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
secure_linkSecure payment link (with security checks and listing saved payment methods)
RetryFeatureData
step_up_possibleindicates if step_up retry is possible
clear_pan_possibleindicates if retry with pan is possible
alternate_network_possibleindicates if retry with alternate network possible
decisionRevokeApiKeyResponse
key_idThe identifier for the API Key.
revokedIndicates whether the API key was revoked or not.
merchant_idThe identifier for the Merchant Account.
organization_idThe identifier for the Organization Account.
tenant_idThe identifier for the Tenant.
RoutableConnectorChoice
connectorRoutableConnectors are the subset of Connectors that are eligible for payments routing
merchant_connector_idRoutableConnectors
RoutableConnectors are the subset of Connectors that are eligible for payments routing
RoutingAlgorithmKind
RoutingAlgorithmWrapper
Decision Table
| Variant | Matching Criteria |
|---|---|
| No specific criteria | |
| No specific criteria |
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="single" · requires: data | |
| type = object · type="priority" · requires: data | |
| type = object · type="volume_split" · requires: data | |
| type = object · type="advanced" · requires: data | |
| type = object · type="three_ds_decision_rule" · requires: data |
typeRoutable Connector chosen for a payment
RoutingConfigRequest
nameUnique name of the routing configuration.
This identifier is used to reference the routing config internally.
Example:
Code
descriptionOptional human-readable description of the routing configuration.
Example:
Code
profile_idProfile ID associated with this routing configuration.
Routing configs can be scoped per business profile.
Example:
Code
transaction_typeRoutingDictionary
merchant_idUnique merchant identifier.
Example:
Code
List of all routing configuration records associated with this merchant.
active_idCurrently active routing configuration ID.
Example:
Code
RoutingDictionaryRecord
idUnique identifier of the routing configuration.
Example:
Code
profile_idProfile ID associated with this routing configuration.
Example:
Code
nameName of the routing configuration.
Example:
Code
kinddescriptionDescription of this routing configuration.
Example:
Code
created_atCreation timestamp (milliseconds since epoch).
modified_atLast modification timestamp (milliseconds since epoch).
algorithm_fordecision_engine_routing_idAssociated Decision Engine routing identifier (if applicable).
Present when routing is linked to an external decision engine.
Example:
Code
RoutingEvaluateRequest
created_byIdentifier of the user/system triggering routing evaluation.
Example:
Code
parametersDynamic parameters used during routing evaluation.
Each key represents a routing attribute.
Example fields:
payment_methodpayment_method_typeamountcurrencyauthentication_typecard_bincapture_methodbusiness_countrybilling_countrybusiness_labelsetup_future_usagecard_networkpayment_typemandate_typemandate_acceptance_typemetadata
Example:
Code
For the complete superset of supported routing keys,
refer to routing_configs.keys in:
https://github.com/juspay/decision-engine/blob/main/config/development.toml
Fallback connectors used if routing rule evaluation fails.
These connectors will be returned if no rule matches.
Example:
Code
RoutingEvaluateResponse
statusStatus of routing evaluation.
Example:
Code
outputRaw routing output returned by routing engine.
Possible structures:
- Volume Split:
Code
- Priority:
Code
Final connector(s) selected after evaluation.
Example:
Code
RoutingKind
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: merchant_id, records | |
| type = array |
merchant_idUnique merchant identifier.
Example:
Code
List of all routing configuration records associated with this merchant.
active_idCurrently active routing configuration ID.
Example:
Code
RoutingRetrieveResponse
Routing algorithm configuration created for a merchant.
Represents a fully defined routing strategy scoped to a profile and transaction type.
RuleConnectorSelection
RuleThreeDsDecisionRule
nameconnectorSelectionEnum representing the possible outcomes of the 3DS Decision Rule Engine.
SamsungPayAmountDetails
optioncurrency_codeThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
totalThe total amount of the transaction
SamsungPayAmountFormat
SamsungPayAppWalletData
payment_card_brandpayment_currency_typeCurrency type of the payment
payment_last4_fpanLast 4 digits of the card number
payment_last4_dpanLast 4 digits of the device specific card number
merchant_refMerchant reference id that was passed in the session call request
methodSpecifies authentication method used
recurring_paymentValue if credential is enabled for recurring payment
SamsungPayMerchantPaymentInformation
nameMerchant name, this will be displayed on the Samsung Pay screen
country_codeurlMerchant domain that process payments, required for web payments
SamsungPaySessionTokenResponse
versionSamsung Pay API version
service_idSamsung Pay service ID to which session call needs to be made
order_numberOrder number of the transaction
protocolallowed_brandsList of supported card brands
billing_address_requiredIs billing address required to be collected from wallet
shipping_address_requiredIs shipping address required to be collected from wallet
SamsungPayTokenData
version3DS version used by Samsung Pay
dataSamsung Pay encrypted payment credential data
type3DS type used by Samsung Pay
SamsungPayWalletCredentials
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card_brand, card_last4digits, 3_d_s | |
| type = object · requires: 3_d_s, payment_card_brand, payment_currency_type +1 more |
card_brandcard_last4digitsLast 4 digits of the card number
methodSpecifies authentication method used
recurring_paymentValue if credential is enabled for recurring payment
SamsungPayWalletData
SamsungPayWebWalletData
card_brandcard_last4digitsLast 4 digits of the card number
methodSpecifies authentication method used
recurring_paymentValue if credential is enabled for recurring payment
ScaExemptionType
SCA Exemptions types available for authentication
ScheduledExpirationTime
dateExpiration time in terms of date, format: YYYY-MM-DD
validity_after_expirationDays after expiration date for which the QR code remains valid
SdkDisplayMode
Display mode options for controlling how messages are shown.
SdkInformation
sdk_app_idUnique ID created on installations of the 3DS Requestor App on a Consumer Device
sdk_enc_dataJWE Object containing data encrypted by the SDK for the DS to decrypt
Public key component of the ephemeral key pair generated by the 3DS SDK
sdk_trans_idUnique transaction identifier assigned by the 3DS SDK
sdk_reference_numberIdentifies the vendor and version for the 3DS SDK that is integrated in a 3DS Requestor App
sdk_max_timeoutIndicates maximum amount of time in minutes
sdk_typeEnum representing the type of 3DS SDK.
Device details for collecting Device information
SdkNextAction
SdkNextActionData
order_idSepaAndBacsBillingDetails
emailThe Email ID for SEPA and BACS billing
nameThe billing name for SEPA and BACS billing
SepaBankDebitAdditionalData
ibanPartially masked international bank account number (iban) for SEPA
bank_account_holder_nameBank account's owner name
SepaBankTransfer
ibanInternational Bank Account Number (iban) - used in many countries for identifying a bank along with it's customer.
bic[8 / 11 digits] Bank Identifier Code (bic) / Swift Code - used in many countries for identifying a bank and it's branches
bank_nameBank name
bank_country_codebank_cityBank city
SepaBankTransferAdditionalData
ibanPartially masked international bank account number (iban) for SEPA
bank_nameBank name
bank_country_codebank_cityBank city
bic[8 / 11 digits] Bank Identifier Code (bic) / Swift Code - used in many countries for identifying a bank and it's branches
SepaBankTransferInstructions
account_holder_namebiccountryibanreferenceSepaBankTransferPaymentAdditionalData
debitor_ibandebitor IBAN
debitor_bicdebitor BIC
debitor_namedebitor name
debitor_emaildebitor email
SessionToken
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · wallet_name="google_pay" | |
| type = object · wallet_name="samsung_pay" · requires: version, service_id, order_number +6 more | |
| type = object · wallet_name="klarna" · requires: session_token, session_id | |
| type = object · wallet_name="paypal" · requires: connector, session_token, sdk_next_action | |
| type = object · wallet_name="apple_pay" · requires: connector, delayed_session_token, sdk_next_action | |
| type = object · wallet_name="open_banking" · requires: open_banking_session_token | |
| type = object · wallet_name="paze" · requires: client_id, client_name, client_profile_id +2 more | |
| type = object · wallet_name="click_to_pay" · requires: dpa_id, dpa_name, locale +6 more | |
| type = object · wallet_name="amazon_pay" · requires: merchant_id, ledger_currency, store_id +5 more | |
| type = object · wallet_name="no_session_token_received" |
wallet_nameDecision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: delayed_session_token, connector, sdk_next_action | |
| type = object · requires: merchant_info, shipping_address_required, email_required +6 more |
delayed_session_tokenIdentifier for the delayed session response
connectorThe name of the connector
SessionTokenInfo
certificatecertificate_keysmerchant_identifierdisplay_nameinitiativeinitiative_contextmerchant_business_countryDecision Table
| Variant | Matching Criteria |
|---|---|
| type = object · payment_processing_details_at="Hyperswitch" · requires: payment_processing_certificate, payment_processing_certificate_key | |
| type = object · payment_processing_details_at="Connector" |
payment_processing_certificatepayment_processing_certificate_keypayment_processing_details_atSplitPaymentsRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: stripe_split_payment | |
| type = object · requires: adyen_split_payment | |
| type = object · requires: xendit_split_payment |
Fee information for Split Payments to be charged on the payment being collected for Stripe
SplitRefund
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: stripe_split_refund | |
| type = object · requires: adyen_split_refund | |
| type = object · requires: xendit_split_refund |
Charge specific fields for controlling the revert of funds from either platform or connected account for Stripe. Check sub-fields for more details.
StandardisedCode
StaticRoutingAlgorithm
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="single" · requires: data | |
| type = object · type="priority" · requires: data | |
| type = object · type="volume_split" · requires: data | |
| type = object · type="advanced" · requires: data | |
| type = object · type="three_ds_decision_rule" · requires: data |
typeRoutable Connector chosen for a payment
StraightThroughAlgorithm
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="single" · requires: data | |
| type = object · type="priority" · requires: data | |
| type = object · type="volume_split" · requires: data |
typeRoutable Connector chosen for a payment
StraightThroughAlgorithmInfo
algorithmrouted_throughThe connector identifier that the routing algorithm ultimately selected.
Corresponds to RoutingData::routed_through in the domain model.
StripeChargeResponseData
application_feesPlatform fees collected on the payment
transfer_account_idIdentifier for the reseller's account where the funds were transferred
charge_idIdentifier for charge created for the payment
StripeSplitPaymentRequest
application_feesPlatform fees to be collected on the payment
transfer_account_idIdentifier for the reseller's account where the funds were transferred
StripeSplitRefundRequest
revert_platform_feeToggle for reverting the application fee that was collected for the payment. If set to false, the funds are pulled from the destination account.
revert_transferToggle for reverting the transfer that was made during the charge. If set to false, the funds are pulled from the main platform's account.
SubscriptionItemPrices
price_idamountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
intervalinterval_countitem_idtrial_periodtrial_period_unitSubscriptionLineItem
item_idUnique identifier for the line item.
item_typeType of the line item.
descriptionDescription of the line item.
amountThis Unit struct represents MinorUnit in which core amount works
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
quantityQuantity of the line item.
SubscriptionResponse
idA type for subscription_id that can be used for subscription ids
statusPossible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
profile_idA type for profile_id that can be used for business profile ids
merchant_idA type for merchant_id that can be used for merchant ids
customer_idA type for customer_id that can be used for customer ids
merchant_reference_idMerchant specific Unique identifier.
plan_idIdentifier for the associated subscription plan.
item_price_idIdentifier for the associated item_price_id for the subscription.
client_secretThis is a token which expires after 15 minutes, used from the client to authenticate and create sessions from the SDK
coupon_codeOptional coupon code applied to this subscription.
SubscriptionStatus
Possible states of a subscription lifecycle.
Created: Subscription was created but not yet activated.Active: Subscription is currently active.InActive: Subscription is inactive.Pending: Subscription is pending activation.Trial: Subscription is in a trial period.Paused: Subscription is paused.Unpaid: Subscription is unpaid.Onetime: Subscription is a one-time payment.Cancelled: Subscription has been cancelled.Failed: Subscription has failed.
SuccessBasedRoutingConfig
Configuration for Decision Engine success rate based routing
paramsSuccessBasedRoutingConfigBody
min_aggregates_sizedefault_success_ratemax_aggregates_sizespecificity_levelexploration_percentshuffle_on_tie_during_exploitationSupportedPaymentMethod
payment_methodIndicates the type of payment method. Eg: 'card', 'wallet', etc.
payment_method_typeIndicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.
payment_method_type_display_nameThe display name of the payment method type
mandatesThe status of the feature
refundsThe status of the feature
supported_capture_methodsList of supported capture methods supported by the payment method type
supported_countriesList of countries supported by the payment method type via the connector
supported_currenciesList of currencies supported by the payment method type via the connector
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: three_ds, no_three_ds, supported_card_networks |
three_dsThe status of the feature
no_three_dsThe status of the feature
supported_card_networksList of supported card networks
SurchargeDetailsResponse
display_surcharge_amountsurcharge amount for this payment
display_tax_on_surcharge_amounttax on surcharge amount for this payment
display_total_surcharge_amountsum of display_surcharge_amount and display_tax_on_surcharge_amount
SurchargeResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="fixed" · requires: value | |
| type = object · type="rate" · requires: value |
typevalueThis Unit struct represents MinorUnit in which core amount works
ThirdPartySdkSessionResponse
ThreeDSDecision
Enum representing the possible outcomes of the 3DS Decision Rule Engine.
ThreeDSDecisionRule
decisionEnum representing the possible outcomes of the 3DS Decision Rule Engine.
ThreeDsCompletionIndicator
Indicates if 3DS method data was successfully completed or not
ThreeDsData
three_ds_server_transaction_idThe unique identifier for this authentication from the 3DS server.
maximum_supported_3ds_versionThe maximum supported 3DS version.
connector_authentication_idThe unique identifier for this authentication from the connector.
three_ds_method_dataThe data required to perform the 3DS method.
three_ds_method_urlThe URL to which the user should be redirected after authentication.
message_versionThe version of the message.
directory_server_idThe unique identifier for this authentication.
ThreeDsDecisionRuleExecuteRequest
routing_idThe ID of the routing algorithm to be executed.
Represents the payment data used in the 3DS decision rule.
Represents metadata about the payment method used in the 3DS decision rule.
Represents data about the customer's device used in the 3DS decision rule.
Represents data about the issuer used in the 3DS decision rule.
Represents data about the acquirer used in the 3DS decision rule.
ThreeDsDecisionRuleExecuteResponse
decisionEnum representing the possible outcomes of the 3DS Decision Rule Engine.
ThreeDsMethodData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: three_ds_method_data_submission, consume_post_message_for_three_ds_method_completion |
three_ds_method_data_submissionWhether ThreeDS method data submission is required
consume_post_message_for_three_ds_method_completionIndicates whether to wait for Post message after 3DS method data submission
three_ds_method_dataThreeDS method data
three_ds_method_urlThreeDS method url
three_ds_method_keyThreshold
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: count | |
| type = object · requires: amount |
countTimeRange
start_timeThe start time to filter payments list or to get list of filters. To get list of filters start time is needed to be passed
end_timeThe end time to filter payments list or to get list of filters. If not passed the default time is now
ToggleBlocklistQuery
statusscopeOwnership scope for a blocklist entry (org / merchant / connector MCA).
merchant_connector_idRequired when scope is connector.
ToggleBlocklistResponse
blocklist_guard_statusscopeOwnership scope for a blocklist entry (org / merchant / connector MCA).
merchant_connector_idToggleDynamicRoutingQuery
enableToggleKVResponse
merchant_idThe identifier for the Merchant Account
kv_enabledStatus of KV for the specific merchant
TogglePaymentFieldValidationQuery
statusscopeOwnership scope for payment field validation rules.
merchant_connector_idTogglePaymentFieldValidationResponse
payment_field_validation_guard_statusscopeOwnership scope for payment field validation rules.
merchant_connector_idTokenDataType
The type of token data to fetch for get-token endpoint
TokenSource
Source of the token
Tokenization
The type of tokenization to use for the payment method
TokenizeCardRequest
raw_card_numberCard Number
card_expiry_monthCard Expiry Month
card_expiry_yearCard Expiry Year
card_cvcThe CVC number for the card
card_holder_nameCard Holder Name
nick_nameCard Holder's Nick Name
card_issuing_countryCard Issuing Country
card_issuing_country_codeCard Issuing Country
card_networkIndicates the card network.
card_issuerIssuer Bank for Card
card_typeTokenizeDataRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: card | |
| type = object · requires: existing_payment_method |
TotalEventsResponse
The list of events
total_countCount of total events
TransactionCheckDecisionManagerRecord
namecreated_atmodified_atTransactionCheckRule
nameidenabledTransactionDetailsUiConfiguration
positionPosition of the key-value pair in the UI
is_key_boldWhether the key should be bold
is_value_boldWhether the value should be bold
TxnStatus
UpdateApiKeyRequest
nameA unique name for the API Key to help you identify it.
descriptionA description to provide more context about the API Key.
JSON column value: explicit non-empty grants for the key.
whitelisted_ipsWhen set, replaces the whitelisted IP addresses. Pass an empty list to allow all IPs.
UpdateScorePayload
merchantIdProfile ID of the merchant
gatewayPayment Gateway identifier
statuspaymentIdPayment ID associated with the transaction
UpdateScoreResponse
messageStatus message indicating the result of the score update
UpdateSubscriptionRequest
plan_idIdentifier for the associated plan_id.
item_price_idIdentifier for the associated item_price_id for the subscription.
UpiAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: upi_collect | |
| type = object · requires: upi_intent | |
| type = object · requires: upi_qr |
UpiCollectAdditionalData
vpa_idMasked VPA ID
upi_sourceThe source type for UPI payments. This indicates what payment source is being used for the UPI transaction.
UpiCollectData
vpa_idThe Virtual Payment Address (VPA) for UPI collect payment
upi_sourceThe source type for UPI payments. This indicates what payment source is being used for the UPI transaction.
UpiData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: upi_collect | |
| type = object · requires: upi_intent | |
| type = object · requires: upi_qr |
UpiIntentData
upi_sourceThe source type for UPI payments. This indicates what payment source is being used for the UPI transaction.
app_nameApp name for UPI intent payment
UpiQrData
upi_sourceThe source type for UPI payments. This indicates what payment source is being used for the UPI transaction.
UpiResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: upi_collect | |
| type = object · requires: upi_intent | |
| type = object · requires: upi_qr |
UpiSource
The source type for UPI payments. This indicates what payment source is being used for the UPI transaction.
ValueType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="number" · requires: value | |
| type = object · type="enum_variant" · requires: value | |
| type = object · type="metadata_variant" · requires: value | |
| type = object · type="str_value" · requires: value | |
| type = object · type="str_value_array" · requires: value | |
| type = object · type="global_ref" · requires: value | |
| type = object · type="number_array" · requires: value | |
| type = object · type="enum_variant_array" · requires: value | |
| type = object · type="number_comparison_array" · requires: value |
typevalueRepresents a number literal
VaultTokenField
token_typeFields that can be tokenized with vault
VaultTokenType
Fields that can be tokenized with vault
VelocityMetric
VelocityRule
metricwindowidStable live-rule id (vr_...). Assigned on profile or MCA ingest.
Templates omit this field; copy-and-activate creates a new id.
period_countRule spans period_count * window. Defaults to 1.
actioncurrencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
descriptionMerchant-facing label, surfaced in the VEL_01 message.
is_enabledOperator toggle. A disabled rule is neither evaluated nor recorded.
statusVelocityRuleCreate
VelocityRuleTemplateCreate
namedescriptionVelocityRuleTemplateResponse
idmerchant_idnamecreated_atmodified_atdescriptionVelocityRuleUpdate
VenmoAdditionalData
telephone_numbermobile number linked to venmo account
VisaEligibilityCheckData
consumerPresentconsumerStatusBrowser information to be used for 3DS 2.0
VoucherData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: boleto | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: alfamart | |
| type = object · requires: indomaret | |
| type = string | |
| type = object · requires: seven_eleven | |
| type = object · requires: lawson | |
| type = object · requires: mini_stop | |
| type = object · requires: family_mart | |
| type = object · requires: seicomart | |
| type = object · requires: pay_easy |
VoucherResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: boleto | |
| type = string | |
| type = string | |
| type = string | |
| type = string | |
| type = object · requires: alfamart | |
| type = object · requires: indomaret | |
| type = string | |
| type = object · requires: seven_eleven | |
| type = object · requires: lawson | |
| type = object · requires: mini_stop | |
| type = object · requires: family_mart | |
| type = object · requires: seicomart | |
| type = object · requires: pay_easy |
Wallet
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: apple_pay_decrypt | |
| type = object · requires: paypal | |
| type = object · requires: venmo |
WalletAdditionalData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object | |
| type = object | |
| type = object · requires: card_exp_month, card_exp_year, card_holder_name |
emailEmail linked with paypal account
telephone_numbermobile number linked to paypal account
paypal_idid of the paypal account
WalletAdditionalDataForCard
last4Last 4 digits of the card number
card_networkThe information of the payment method
typeThe type of payment method
card_exp_monthThe card's expiry month
card_exp_yearThe card's expiry year
auth_codeUnique authorisation code generated for the payment
WalletData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: ali_pay_hk_redirect | |
| type = object · requires: ali_pay_qr | |
| type = object · requires: ali_pay_redirect | |
| type = object · requires: amazon_pay | |
| type = object · requires: amazon_pay_redirect | |
| type = object · requires: apple_pay | |
| type = object · requires: apple_pay_redirect | |
| type = object · requires: apple_pay_third_party_sdk | |
| type = object · requires: bluecode_redirect | |
| type = object · requires: cashapp_qr | |
| type = object · requires: dana_redirect | |
| type = object · requires: gcash_redirect | |
| type = object · requires: go_pay_redirect | |
| type = object · requires: google_pay | |
| type = object · requires: google_pay_redirect | |
| type = object · requires: google_pay_third_party_sdk | |
| type = object · requires: kakao_pay_redirect | |
| type = object · requires: mb_way_redirect | |
| type = object · requires: mifinity | |
| type = object · requires: mobile_pay_redirect | |
| type = object · requires: momo_redirect | |
| type = object · requires: paypal_redirect | |
| type = object · requires: paypal_sdk | |
| type = object · requires: paysera | |
| type = object · requires: paze | |
| type = object · requires: revolut_pay | |
| type = object · requires: samsung_pay | |
| type = object · requires: skrill | |
| type = object · requires: swish_qr | |
| type = object · requires: touch_n_go_redirect | |
| type = object · requires: twint_redirect | |
| type = object · requires: vipps_redirect | |
| type = object · requires: we_chat_pay_qr | |
| type = object · requires: we_chat_pay_redirect |
ali_pay_hk_redirectWalletResponse
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: apple_pay | |
| type = object · requires: google_pay | |
| type = object · requires: samsung_pay |
WalletResponseData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: apple_pay | |
| type = object · requires: google_pay | |
| type = object · requires: samsung_pay |
WebhookConfigType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = object · requires: CustomEvents |
Standard webhook configuration supporting all events hyperswitch provides
WebhookDeliveryAttemptDetail
event_idevent_typeis_webhook_notifiedWhether the webhook endpoint acknowledged this attempt successfully.
created_atTimestamp when this delivery attempt was created/dispatched.
initial_attempt_iddelivery_attemptis_overall_delivery_successfulrequestThe raw request payload that was sent to the merchant's endpoint.
responseThe raw response payload received from the merchant's endpoint, if any.
status_codeClickhouse-sourced HTTP status code returned by the merchant's endpoint, if any.
is_errorClickhouse-sourced Whether the delivery resulted in an error at the HTTP transport level.
errorClickhouse-sourced Human-readable error string from the analytics pipeline, if any.
WebhookDetails
payment_statuses_enabledList of payment statuses that triggers a webhook for payment intents
refund_statuses_enabledList of refund statuses that triggers a webhook for refunds
webhook_versionThe version for Webhook
webhook_usernameThe user name for Webhook login
webhook_passwordThe password for Webhook login
webhook_urlThe url for the webhook endpoint
payment_created_enabledIf this property is true, a webhook message is posted whenever a new payment is created
payment_succeeded_enabledIf this property is true, a webhook message is posted whenever a payment is successful
payment_failed_enabledIf this property is true, a webhook message is posted whenever a payment fails
payout_statuses_enabledList of payout statuses that triggers a webhook for payouts
webhook_endpoint_statusWebhookSetupCapabilities
is_webhook_auto_configuration_supportedIndicates if the connector supports webhooks configuration via API
requires_webhook_secretIndicates whether a webhook secret must be collected from the merchant for verification
Enum to represent the type of webhook configuration
WhitelistRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · type="card_bin" · requires: data | |
| type = object · type="fingerprint" · requires: data | |
| type = object · type="extended_card_bin" · requires: data | |
| type = object · type="email" · requires: data | |
| type = object · type="card_number" · requires: data | |
| type = object · type="card_pan_masked" · requires: data | |
| type = object · type="phone" · requires: data |
typedataWhitelistResponse
fingerprint_iddata_kindmerchant_connector_idcreated_atadded_bydescriptioncard_pan_bincard_pan_suffixXenditChargeResponseData
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: multiple_splits | |
| type = object · requires: single_split |
Fee information charged on the payment being collected via xendit
XenditMultipleSplitRequest
nameName to identify split rule. Not required to be unique. Typically based on transaction and/or sub-merchant types.
descriptionDescription to identify fee rule
Array of objects that define how the platform wants to route the fees and to which accounts.
for_user_idThe sub-account user-id that you want to make this transaction for.
XenditMultipleSplitResponse
split_rule_idIdentifier for split rule created for the payment
nameName to identify split rule. Not required to be unique. Typically based on transaction and/or sub-merchant types.
descriptionDescription to identify fee rule
Array of objects that define how the platform wants to route the fees and to which accounts.
for_user_idThe sub-account user-id that you want to make this transaction for.
XenditSplitRequest
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object · requires: multiple_splits | |
| type = object · requires: single_split |
Fee information to be charged on the payment being collected via xendit
XenditSplitRoute
currencyThe three-letter ISO 4217 currency code (e.g., "USD", "EUR") for the payment amount. This field is mandatory for creating a payment.
destination_account_idID of the destination account where the amount will be routed to
reference_idReference ID which acts as an identifier of the route itself
flat_amountThis Unit struct represents MinorUnit in which core amount works
percent_amountAmount of payments to be split, using a percent rate as unit