POST
/
payments
curl --request POST \
  --url https://sandbox.hyperswitch.io/payments \
  --header 'Content-Type: application/json' \
  --header 'api-key: <api-key>' \
  --data '{
  "amount": 6540,
  "authentication_type": "three_ds",
  "currency": "USD"
}'
{
  "payment_id": "pay_mbabizu24mvu3mela5njyhpit4",
  "merchant_id": "merchant_1668273825",
  "status": "succeeded",
  "amount": 6540,
  "net_amount": 6540,
  "amount_capturable": 6540,
  "amount_received": 6540,
  "connector": "stripe",
  "client_secret": "pay_U42c409qyHwOkWo3vK60_secret_el9ksDkiB8hi6j9N78yo",
  "created": "2022-09-10T10:11:12Z",
  "currency": "AED",
  "customer_id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",
  "customer": {
    "id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",
    "name": "John Doe",
    "email": "johntest@test.com",
    "phone": "3141592653",
    "phone_country_code": "+1"
  },
  "description": "It's my first payment request",
  "refunds": [
    {
      "refund_id": "<string>",
      "payment_id": "<string>",
      "amount": 6540,
      "currency": "<string>",
      "status": "succeeded",
      "reason": "<string>",
      "metadata": {},
      "error_message": "<string>",
      "error_code": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "connector": "stripe",
      "profile_id": "<string>",
      "merchant_connector_id": "<string>",
      "charges": {
        "charge_id": "<string>",
        "revert_platform_fee": true,
        "revert_transfer": true
      }
    }
  ],
  "disputes": [
    {
      "dispute_id": "<string>",
      "dispute_stage": "pre_dispute",
      "dispute_status": "dispute_opened",
      "connector_status": "<string>",
      "connector_dispute_id": "<string>",
      "connector_reason": "<string>",
      "connector_reason_code": "<string>",
      "challenge_required_by": "2023-11-07T05:31:56Z",
      "connector_created_at": "2023-11-07T05:31:56Z",
      "connector_updated_at": "2023-11-07T05:31:56Z",
      "created_at": "2023-11-07T05:31:56Z"
    }
  ],
  "attempts": [
    {
      "attempt_id": "<string>",
      "status": "started",
      "amount": 6540,
      "currency": "AED",
      "connector": "<string>",
      "error_message": "<string>",
      "payment_method": "card",
      "connector_transaction_id": "<string>",
      "capture_method": "automatic",
      "authentication_type": "three_ds",
      "cancellation_reason": "<string>",
      "mandate_id": "<string>",
      "error_code": "<string>",
      "payment_token": "<string>",
      "connector_metadata": "<any>",
      "payment_experience": "redirect_to_url",
      "payment_method_type": "ach",
      "reference_id": "993672945374576J",
      "unified_code": "<string>",
      "unified_message": "<string>",
      "client_source": "<string>",
      "client_version": "<string>"
    }
  ],
  "captures": [
    {
      "capture_id": "<string>",
      "status": "started",
      "amount": 6540,
      "currency": "AED",
      "connector": "<string>",
      "authorized_attempt_id": "<string>",
      "connector_capture_id": "<string>",
      "capture_sequence": 123,
      "error_message": "<string>",
      "error_code": "<string>",
      "error_reason": "<string>",
      "reference_id": "<string>"
    }
  ],
  "mandate_id": "mandate_iwer89rnjef349dni3",
  "mandate_data": {
    "update_mandate_id": "<string>",
    "customer_acceptance": {
      "acceptance_type": "online",
      "accepted_at": "2022-09-10T10:11:12Z",
      "online": {
        "ip_address": "123.32.25.123",
        "user_agent": "<string>"
      }
    },
    "mandate_type": {
      "single_use": {
        "amount": 6540,
        "currency": "AED",
        "start_date": "2022-09-10T00:00:00Z",
        "end_date": "2023-09-10T23:59:59Z",
        "metadata": {}
      }
    }
  },
  "setup_future_usage": "off_session",
  "off_session": true,
  "capture_on": "2022-09-10T10:11:12Z",
  "capture_method": "automatic",
  "payment_method": "ach",
  "payment_method_data": "card",
  "payment_token": "187282ab-40ef-47a9-9206-5099ba31e432",
  "shipping": {
    "address": {
      "city": "New York",
      "country": "AF",
      "line1": "123, King Street",
      "line2": "Powelson Avenue",
      "line3": "Bridgewater",
      "zip": "08807",
      "state": "New York",
      "first_name": "John",
      "last_name": "Doe"
    },
    "phone": {
      "number": "9999999999",
      "country_code": "+1"
    },
    "email": "<string>"
  },
  "billing": {
    "address": {
      "city": "New York",
      "country": "AF",
      "line1": "123, King Street",
      "line2": "Powelson Avenue",
      "line3": "Bridgewater",
      "zip": "08807",
      "state": "New York",
      "first_name": "John",
      "last_name": "Doe"
    },
    "phone": {
      "number": "9999999999",
      "country_code": "+1"
    },
    "email": "<string>"
  },
  "order_details": "[{\n        \"product_name\": \"gillete creme\",\n        \"quantity\": 15,\n        \"amount\" : 900\n    }]",
  "email": "johntest@test.com",
  "name": "John Test",
  "phone": "3141592653",
  "return_url": "https://hyperswitch.io",
  "authentication_type": "three_ds",
  "statement_descriptor_name": "Hyperswitch Router",
  "statement_descriptor_suffix": "Payment for shoes purchase",
  "next_action": {
    "redirect_to_url": "<string>",
    "type": "redirect_to_url"
  },
  "cancellation_reason": "<string>",
  "error_code": "E0001",
  "error_message": "Failed while verifying the card",
  "unified_code": "<string>",
  "unified_message": "<string>",
  "payment_experience": "redirect_to_url",
  "payment_method_type": "ach",
  "connector_label": "stripe_US_food",
  "business_country": "AF",
  "business_label": "<string>",
  "business_sub_label": "<string>",
  "allowed_payment_method_types": [
    "ach"
  ],
  "ephemeral_key": {
    "customer_id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",
    "created_at": 123,
    "expires": 123,
    "secret": "<string>"
  },
  "manual_retry_allowed": true,
  "connector_transaction_id": "993672945374576J",
  "frm_message": {
    "frm_name": "<string>",
    "frm_transaction_id": "<string>",
    "frm_transaction_type": "<string>",
    "frm_status": "<string>",
    "frm_score": 123,
    "frm_reason": "<any>",
    "frm_error": "<string>"
  },
  "metadata": {},
  "connector_metadata": {
    "apple_pay": {
      "session_token_data": {
        "payment_processing_certificate": "<string>",
        "payment_processing_certificate_key": "<string>",
        "payment_processing_details_at": "Hyperswitch",
        "certificate": "<string>",
        "certificate_keys": "<string>",
        "merchant_identifier": "<string>",
        "display_name": "<string>",
        "initiative": "<string>",
        "initiative_context": "<string>",
        "merchant_business_country": "AF"
      }
    },
    "airwallex": {
      "payload": "<string>"
    },
    "noon": {
      "order_category": "<string>"
    }
  },
  "feature_metadata": {
    "redirect_response": {
      "param": "<string>",
      "json_payload": {}
    }
  },
  "reference_id": "993672945374576J",
  "payment_link": {
    "link": "<string>",
    "payment_link_id": "<string>"
  },
  "profile_id": "<string>",
  "surcharge_details": {
    "surcharge_amount": 6540,
    "tax_amount": 123
  },
  "attempt_count": 123,
  "merchant_decision": "<string>",
  "merchant_connector_id": "<string>",
  "incremental_authorization_allowed": true,
  "authorization_count": 123,
  "incremental_authorizations": [
    {
      "authorization_id": "<string>",
      "amount": 6540,
      "status": "success",
      "error_code": "<string>",
      "error_message": "<string>",
      "previously_authorized_amount": 123
    }
  ],
  "external_authentication_details": {
    "authentication_flow": "challenge",
    "electronic_commerce_indicator": "<string>",
    "status": "started",
    "ds_transaction_id": "<string>",
    "version": "<string>",
    "error_code": "<string>",
    "error_message": "<string>"
  },
  "external_3ds_authentication_attempted": true,
  "expires_on": "2022-09-10T10:11:12Z",
  "fingerprint": "<string>",
  "browser_info": {
    "color_depth": 1,
    "java_enabled": true,
    "java_script_enabled": true,
    "language": "<string>",
    "screen_height": 1,
    "screen_width": 1,
    "time_zone": 123,
    "ip_address": "<string>",
    "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "user_agent": "<string>"
  },
  "payment_method_id": "<string>",
  "payment_method_status": "active",
  "updated": "2022-09-10T10:11:12Z",
  "charges": {
    "charge_id": "<string>",
    "charge_type": {
      "Stripe": "direct"
    },
    "application_fees": 6540,
    "transfer_account_id": "<string>"
  },
  "frm_metadata": {}
}

Authorizations

api-key
string
headerrequired

Use the API key created under your merchant account from the HyperSwitch dashboard. API key is used to authenticate API requests from your merchant server only. Don't expose this key on a website or embed it in a mobile application.

Body

application/json
amount
integer
required

The payment amount. Amount for the payment in the lowest denomination of the currency, (i.e) in cents for USD denomination, in yen for JPY denomination etc. E.g., Pass 100 to charge $1.00 and ¥100 since ¥ is a zero-decimal currency

currency
enum<string>
required

The three letter ISO currency code in uppercase. Eg: 'USD' for the United States Dollar.

Available options:
AED,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BWP,
BYN,
BZD,
CAD,
CHF,
CLP,
CNY,
COP,
CRC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SEK,
SGD,
SHP,
SLE,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SZL,
THB,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XCD,
XOF,
XPF,
YER,
ZAR,
ZMW
amount_to_capture
integer | null

The Amount to be captured / debited from the users payment method. It shall be in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc., If not provided, the default amount_to_capture will be the payment amount.

payment_id
string | null

Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant. This field is auto generated and is returned in the API response.

merchant_id
string | null

This is an identifier for the merchant account. This is inferred from the API key provided during the request

routing
object
connector
enum<string>[] | null

This allows to manually select a connector with which the payment can go through

Available options:
adyenplatform,
phonypay,
fauxpay,
pretendpay,
stripe_test,
adyen_test,
checkout_test,
paypal_test,
aci,
adyen,
airwallex,
authorizedotnet,
bambora,
bankofamerica,
billwerk,
bitpay,
bluesnap,
boku,
braintree,
cashtocode,
checkout,
coinbase,
cryptopay,
cybersource,
dlocal,
ebanx,
fiserv,
forte,
globalpay,
globepay,
gocardless,
gpayments,
helcim,
iatapay,
klarna,
mifinity,
mollie,
multisafepay,
netcetera,
nexinets,
nmi,
noon,
nuvei,
opennode,
payme,
payone,
paypal,
payu,
placetopay,
powertranz,
prophetpay,
rapyd,
shift4,
square,
stax,
stripe,
threedsecureio,
trustpay,
tsys,
volt,
wise,
worldline,
worldpay,
signifyd,
plaid,
riskified,
zen,
zsl
capture_method
enum<string>
Available options:
automatic,
manual,
manual_multiple,
scheduled
authentication_type
enum<string>
Available options:
three_ds,
no_three_ds
billing
object
capture_on
string | null

A timestamp (ISO 8601 code) that determines when the payment should be captured. Providing this field will automatically set capture to true

confirm
boolean | null
default: false

Whether to confirm the payment (if applicable)

customer
object
customer_id
string | null

The identifier for the customer

off_session
boolean | null

Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. When making a recurring payment by passing a mandate_id, this parameter is mandatory

description
string | null

A description for the payment

return_url
string | null

The URL to redirect after the completion of the operation

setup_future_usage
enum<string>
Available options:
off_session,
on_session
payment_method_data
object
payment_method
enum<string>

Indicates the type of payment method. Eg: 'card', 'wallet', etc.

Available options:
card,
card_redirect,
pay_later,
wallet,
bank_redirect,
bank_transfer,
crypto,
bank_debit,
reward,
real_time_payment,
upi,
voucher,
gift_card
payment_token
string | null

Provide a reference to a stored payment method

card_cvc
string | null
deprecated

This 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

shipping
object
statement_descriptor_name
string | null

For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.

statement_descriptor_suffix
string | null

Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.

order_details
object[] | null

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

mandate_data
object
customer_acceptance
object
mandate_id
string | null

A unique identifier to link the payment to a mandate. To do Recurring payments after a mandate has been created, pass the mandate_id instead of payment_method_data

browser_info
object

Browser information to be used for 3DS 2.0

payment_experience
enum<string>

To indicate the type of payment experience that the customer would go through

Available options:
redirect_to_url,
invoke_sdk_client,
display_qr_code,
one_click,
link_wallet,
invoke_payment_app,
display_wait_screen
payment_method_type
enum<string>

Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.

Available options:
ach,
affirm,
afterpay_clearpay,
alfamart,
ali_pay,
ali_pay_hk,
alma,
apple_pay,
atome,
bacs,
bancontact_card,
becs,
benefit,
bizum,
blik,
boleto,
bca_bank_transfer,
bni_va,
bri_va,
card_redirect,
cimb_va,
classic,
credit,
crypto_currency,
cashapp,
dana,
danamon_va,
debit,
duit_now,
efecty,
eps,
fps,
evoucher,
giropay,
givex,
google_pay,
go_pay,
gcash,
ideal,
interac,
indomaret,
klarna,
kakao_pay,
local_bank_redirect,
mandiri_va,
knet,
mb_way,
mobile_pay,
momo,
momo_atm,
multibanco,
online_banking_thailand,
online_banking_czech_republic,
online_banking_finland,
online_banking_fpx,
online_banking_poland,
online_banking_slovakia,
oxxo,
pago_efectivo,
permata_bank_transfer,
open_banking_uk,
pay_bright,
paypal,
pix,
pay_safe_card,
przelewy24,
prompt_pay,
pse,
red_compra,
red_pagos,
samsung_pay,
sepa,
sofort,
swish,
touch_n_go,
trustly,
twint,
upi_collect,
upi_intent,
vipps,
viet_qr,
venmo,
walley,
we_chat_pay,
seven_eleven,
lawson,
mini_stop,
family_mart,
seicomart,
pay_easy,
local_bank_transfer,
mifinity
business_country
enum<string>
Available options:
AF,
AX,
AL,
DZ,
AS,
AD,
AO,
AI,
AQ,
AG,
AR,
AM,
AW,
AU,
AT,
AZ,
BS,
BH,
BD,
BB,
BY,
BE,
BZ,
BJ,
BM,
BT,
BO,
BQ,
BA,
BW,
BV,
BR,
IO,
BN,
BG,
BF,
BI,
KH,
CM,
CA,
CV,
KY,
CF,
TD,
CL,
CN,
CX,
CC,
CO,
KM,
CG,
CD,
CK,
CR,
CI,
HR,
CU,
CW,
CY,
CZ,
DK,
DJ,
DM,
DO,
EC,
EG,
SV,
GQ,
ER,
EE,
ET,
FK,
FO,
FJ,
FI,
FR,
GF,
PF,
TF,
GA,
GM,
GE,
DE,
GH,
GI,
GR,
GL,
GD,
GP,
GU,
GT,
GG,
GN,
GW,
GY,
HT,
HM,
VA,
HN,
HK,
HU,
IS,
IN,
ID,
IR,
IQ,
IE,
IM,
IL,
IT,
JM,
JP,
JE,
JO,
KZ,
KE,
KI,
KP,
KR,
KW,
KG,
LA,
LV,
LB,
LS,
LR,
LY,
LI,
LT,
LU,
MO,
MK,
MG,
MW,
MY,
MV,
ML,
MT,
MH,
MQ,
MR,
MU,
YT,
MX,
FM,
MD,
MC,
MN,
ME,
MS,
MA,
MZ,
MM,
NA,
NR,
NP,
NL,
NC,
NZ,
NI,
NE,
NG,
NU,
NF,
MP,
NO,
OM,
PK,
PW,
PS,
PA,
PG,
PY,
PE,
PH,
PN,
PL,
PT,
PR,
QA,
RE,
RO,
RU,
RW,
BL,
SH,
KN,
LC,
MF,
PM,
VC,
WS,
SM,
ST,
SA,
SN,
RS,
SC,
SL,
SG,
SX,
SK,
SI,
SB,
SO,
ZA,
GS,
SS,
ES,
LK,
SD,
SR,
SJ,
SZ,
SE,
CH,
SY,
TW,
TJ,
TZ,
TH,
TL,
TG,
TK,
TO,
TT,
TN,
TR,
TM,
TC,
TV,
UG,
UA,
AE,
GB,
UM,
UY,
UZ,
VU,
VE,
VN,
VG,
VI,
WF,
EH,
YE,
ZM,
ZW,
US
business_label
string | null

Business label of the merchant for this payment. To be deprecated soon. Pass the profile_id instead

merchant_connector_details
object
allowed_payment_method_types
enum<string>[] | null

Use this parameter to restrict the Payment Method Types to show for a given PaymentIntent

Available options:
ach,
affirm,
afterpay_clearpay,
alfamart,
ali_pay,
ali_pay_hk,
alma,
apple_pay,
atome,
bacs,
bancontact_card,
becs,
benefit,
bizum,
blik,
boleto,
bca_bank_transfer,
bni_va,
bri_va,
card_redirect,
cimb_va,
classic,
credit,
crypto_currency,
cashapp,
dana,
danamon_va,
debit,
duit_now,
efecty,
eps,
fps,
evoucher,
giropay,
givex,
google_pay,
go_pay,
gcash,
ideal,
interac,
indomaret,
klarna,
kakao_pay,
local_bank_redirect,
mandiri_va,
knet,
mb_way,
mobile_pay,
momo,
momo_atm,
multibanco,
online_banking_thailand,
online_banking_czech_republic,
online_banking_finland,
online_banking_fpx,
online_banking_poland,
online_banking_slovakia,
oxxo,
pago_efectivo,
permata_bank_transfer,
open_banking_uk,
pay_bright,
paypal,
pix,
pay_safe_card,
przelewy24,
prompt_pay,
pse,
red_compra,
red_pagos,
samsung_pay,
sepa,
sofort,
swish,
touch_n_go,
trustly,
twint,
upi_collect,
upi_intent,
vipps,
viet_qr,
venmo,
walley,
we_chat_pay,
seven_eleven,
lawson,
mini_stop,
family_mart,
seicomart,
pay_easy,
local_bank_transfer,
mifinity
retry_action
enum<string>
Available options:
manual_retry,
requeue
metadata
object | null

You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. Metadata is useful for storing additional, structured information on an object.

connector_metadata
object
feature_metadata
object
payment_link
boolean | null
default: false

Whether to get the payment link (if applicable)

payment_link_config
object
profile_id
string | null

The business profile to use for this payment, if not passed the default business profile associated with the merchant account will be used.

surcharge_details
object
payment_type
enum<string>

To be used to specify the type of payment. Use 'setup_mandate' in case of zero auth flow.

Available options:
normal,
new_mandate,
setup_mandate,
recurring_mandate
request_incremental_authorization
boolean | null

Request for an incremental authorization

session_expiry
integer | null

Will be used to expire client secret after certain amount of time to be supplied in seconds (900) for 15 mins

frm_metadata
object | null

additional data related to some frm connectors

request_external_three_ds_authentication
boolean | null

Whether to perform external authentication (if applicable)

recurring_details
object
charges
object

Response

200 - application/json
payment_id
string | null

Unique identifier for the payment. This ensures idempotency for multiple payments that have been done by a single merchant.

merchant_id
string | null

This is an identifier for the merchant account. This is inferred from the API key provided during the request

status
enum<string>
required
Available options:
succeeded,
failed,
cancelled,
processing,
requires_customer_action,
requires_merchant_action,
requires_payment_method,
requires_confirmation,
requires_capture,
partially_captured,
partially_captured_and_capturable
amount
integer
required

The payment amount. Amount for the payment in lowest denomination of the currency. (i.e) in cents for USD denomination, in paisa for INR denomination etc.,

net_amount
integer
required

The payment net amount. net_amount = amount + surcharge_details.surcharge_amount + surcharge_details.tax_amount, If no surcharge_details, net_amount = amount

amount_capturable
integer
required

The maximum amount that could be captured from the payment

amount_received
integer
required

The amount which is already captured from the payment

connector
string | null

The connector used for the payment

client_secret
string | null

It's a token used for client side verification.

created
string | null

Time when the payment was created

currency
enum<string>
required

The three letter ISO currency code in uppercase. Eg: 'USD' for the United States Dollar.

Available options:
AED,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BWP,
BYN,
BZD,
CAD,
CHF,
CLP,
CNY,
COP,
CRC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
HRK,
HTG,
HUF,
IDR,
ILS,
INR,
IQD,
JMD,
JOD,
JPY,
KES,
KGS,
KHR,
KMF,
KRW,
KWD,
KYD,
KZT,
LAK,
LBP,
LKR,
LRD,
LSL,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
MYR,
MZN,
NAD,
NGN,
NIO,
NOK,
NPR,
NZD,
OMR,
PAB,
PEN,
PGK,
PHP,
PKR,
PLN,
PYG,
QAR,
RON,
RSD,
RUB,
RWF,
SAR,
SBD,
SCR,
SEK,
SGD,
SHP,
SLE,
SLL,
SOS,
SRD,
SSP,
STN,
SVC,
SZL,
THB,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XCD,
XOF,
XPF,
YER,
ZAR,
ZMW
customer_id
string | null
deprecated

The identifier for the customer object. If not provided the customer ID will be autogenerated. This field will be deprecated soon. Please refer to customer.id

customer
object
description
string | null

A description of the payment

refunds
object[] | null

List of refund that happened on this intent

disputes
object[] | null

List of dispute that happened on this intent

attempts
object[] | null

List of attempts that happened on this intent

captures
object[] | null

List of captures done on latest attempt

mandate_id
string | null

A unique identifier to link the payment to a mandate, can be use instead of payment_method_data

mandate_data
object
setup_future_usage
enum<string>
Available options:
off_session,
on_session
off_session
boolean | null

Set to true to indicate that the customer is not in your checkout flow during this payment, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.

capture_on
string | null

A timestamp (ISO 8601 code) that determines when the payment should be captured. Providing this field will automatically set capture to true

capture_method
enum<string>
Available options:
automatic,
manual,
manual_multiple,
scheduled
payment_method
enum<string>
required

Indicates the sub type of payment method. Eg: 'google_pay' & 'apple_pay' for wallets.

Available options:
ach,
affirm,
afterpay_clearpay,
alfamart,
ali_pay,
ali_pay_hk,
alma,
apple_pay,
atome,
bacs,
bancontact_card,
becs,
benefit,
bizum,
blik,
boleto,
bca_bank_transfer,
bni_va,
bri_va,
card_redirect,
cimb_va,
classic,
credit,
crypto_currency,
cashapp,
dana,
danamon_va,
debit,
duit_now,
efecty,
eps,
fps,
evoucher,
giropay,
givex,
google_pay,
go_pay,
gcash,
ideal,
interac,
indomaret,
klarna,
kakao_pay,
local_bank_redirect,
mandiri_va,
knet,
mb_way,
mobile_pay,
momo,
momo_atm,
multibanco,
online_banking_thailand,
online_banking_czech_republic,
online_banking_finland,
online_banking_fpx,
online_banking_poland,
online_banking_slovakia,
oxxo,
pago_efectivo,
permata_bank_transfer,
open_banking_uk,
pay_bright,
paypal,
pix,
pay_safe_card,
przelewy24,
prompt_pay,
pse,
red_compra,
red_pagos,
samsung_pay,
sepa,
sofort,
swish,
touch_n_go,
trustly,
twint,
upi_collect,
upi_intent,
vipps,
viet_qr,
venmo,
walley,
we_chat_pay,
seven_eleven,
lawson,
mini_stop,
family_mart,
seicomart,
pay_easy,
local_bank_transfer,
mifinity
payment_method_data
enum<string>

Indicates the type of payment method. Eg: 'card', 'wallet', etc.

Available options:
card,
card_redirect,
pay_later,
wallet,
bank_redirect,
bank_transfer,
crypto,
bank_debit,
reward,
real_time_payment,
upi,
voucher,
gift_card
payment_token
string | null

Provide a reference to a stored payment method

shipping
object
billing
object