You are viewing the documentation for Chargebee API V2. If you're using the older version (V1), click here.

A payment_intent is created to help you navigate the 3DS flow of collecting payment from your customer. It is necessary only for implementing 3DS flow using Chargebee.js.

Auto-expiry

All payment_intents with status as inited, in_progress or authorized become expired after an hour automatically.

Sample payment intent [ JSON ]

{ "amount": 5000, "created_at": 1517501515, "currency_code": "USD", "expires_at": 1517503315, "gateway": "chargebee", "gateway_account_id": "gw___test__KyVnGlSBWTQeudG", "id": "__test__KyVnHhSBWTQz2Cu__test__0DZayCQMcAwDkEIPpUrGwkiyL25s7W1X", "modified_at": 1517501515, "object": "payment_intent", "payment_method_type": "card", "status": "inited" }
id
string, max chars=150
Identifier for PaymentIntent.
status
enumerated string
Current status of PaymentIntent.
Possible values are
initedIntent is initialized.in_progressStatus will be in_progress if the Active Payment Attempt state is in requires_identification, requires_challenge or requires_redirection.authorized3DS verification successfully completed.consumedIf any Chargebee operation such as create subscription etc. is completed using the intent, it will be in consumed state. Intent cannot be used if it's already in consumed state.expiredIntent has expired, since it was not consumed before the predefined time-out.
currency_code
optional, string, max chars=3
The currency code (ISO 4217 format) of the amount used in transaction.
amount
in cents, min=0
Amount(in cents) to be authorized for 3DS flow.
gateway_account_id
string, max chars=50
The gateway account used for performing the 3DS flow.
expires_at
timestamp(UTC) in seconds
Timestamp indicating when the PaymentIntent will expire if left unconsumed.
reference_id
optional, string, max chars=200
Reference for payment method at gateway. Only applicable when the PaymentIntent is created for cards stored in the gateway.
payment_method_type
optional, enumerated string, default=card
The payment method of this intent
Possible values are
cardcard.idealideal.sofortsofort.bancontactbancontact.
google_paygoogle_pay.dotpaydotpay.giropaygiropay.apple_payapple_pay.upiupi.netbanking_emandatesnetbanking_emandates.paypal_express_checkoutpaypal_express_checkout.direct_debitdirect_debit.
Show all values[+]
success_url
optional, string, max chars=250
The URL the customer will be directed to once 3DS verification is successful. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
failure_url
optional, string, max chars=250
The URL the customer will be directed to when 3DS verification fails. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
created_at
timestamp(UTC) in seconds
Timestamp indicating when the PaymentIntent was created.
modified_at
timestamp(UTC) in seconds
Timestamp indicating when the PaymentIntent was last modified.
resource_version
optional, long
Version number of this resource. The resource_version is updated with a new timestamp in milliseconds for every change made to the resource. This attribute will be present only if the resource has been updated after 2016-09-28.
updated_at
optional, timestamp(UTC) in seconds
Timestamp indicating when this payment intent was last updated.
customer_id
string, max chars=50

The unique ID of the customer for which this payment_intent should be created. If not provided, a new customer is created and its ID is autogenerated.

gateway
optional, string, max chars=null
Gateway associated with the PaymentIntent.
business_entity_id
optional, string, max chars=50
The unique ID of the business entity of this payment_intent

active_payment_attempt
Show attributes[+]
optional, payment_attempt
Active payment attempt for the PaymentIntent.
Active payment attempt attributes
id
optional, string, max chars=70
Identifier for PaymentIntent's active payment attempt.
status
enumerated string
Current status of active payment attempt
Possible values are
initedPayment attempt is initialized.requires_identificationCustomer's device fingerprint is used to verify their identity. It needs to be sent to the Issuing Bank for verification.requires_challengeThe transaction has to go through 3DS Challenge flow and the customer needs to authenticate via 3DS 2.0requires_redirectionThe transaction has to go through 3DS Redirection flow and the customer needs to authenticate via 3DS 1.0authorized3DS verification successfully completed.refused3DS verification attempt failed.
payment_method_type
optional, enumerated string, default=card
The payment method of this attempt
Possible values are
cardcardidealidealsofortsofortbancontactbancontact
google_paygoogle_paydotpaydotpaygiropaygiropayapple_payapple_payupiupinetbanking_emandatesnetbanking_emandatespaypal_express_checkoutpaypal_express_checkoutdirect_debitdirect_debit
Show all values[+]
id_at_gateway
optional, string, max chars=50
Reference of PaymentIntent at gateway
error_code
optional, string, max chars=100
Error code received from the payment gateway on failure.
error_text
optional, string, max chars=65k
Error message received from the payment gateway on failure.
created_at
timestamp(UTC) in seconds
Timestamp indicating when the active payment attempt was created.
modified_at
timestamp(UTC) in seconds
Timestamp indicating when the active payment attempt was last modified.

Creates a PaymentIntent object. This is to be used with Chargebee.js API to complete the 3DS flow for new or stored cards.

While creating, specify the appropriate gateway account and amount. Exact amount can be estimated using our Estimate API.

Customer resource lookup and creation

When customer[id] is provided for this operation, it is looked up by Chargebee, and if found, the payment_intent is created for it. If not found, a new customer resource is created with the ID provided, and the payment_intent is created.

Multiple business entities

If multiple business entities are created for the site, the customer resource lookup and creation happen within the context of the business entity specified in this API call. If no business entity is specified, the customer resource lookup is performed within the site context, and if not found, the resource is created for the default business entity of the site.

Sample Request
curl  https://{site}.chargebee.com/api/v2/payment_intents \
     -u {site_api_key}:\
     -d amount=5000 \
     -d currency_code="USD"
copy
curl  https://{site}.chargebee.com/api/v2/payment_intents \
     -u {site_api_key}:\
     -d amount=5000 \
     -d currency_code="USD"

Sample Response [ JSON ]

Show more...
{"payment_intent": { "amount": 5000, "created_at": 1517501515, "currency_code": "USD", "expires_at": 1517503315, "gateway": "chargebee", "gateway_account_id": "gw___test__KyVnGlSBWTQeudG", "id": "__test__KyVnHhSBWTQz2Cu__test__0DZayCQMcAwDkEIPpUrGwkiyL25s7W1X", "modified_at": 1517501515, "object": "payment_intent", "payment_method_type": "card", "status": "inited" }}

URL Format POST

https://{site}.chargebee.com/api/v2/payment_intents
business_entity_id
optional, string, max chars=50

Sets the context for this operation to the business entity specified. Applicable only when multiple business entities have been created for the site. When this parameter is provided, the operation is able to read/write data associated only to the business entity specified. When not provided, the operation can read/write data for the entire site.

Note

An alternative way of passing this parameter is by means of a custom HTTP header.

customer_id
optional, string, max chars=50

The unique ID of the customer for which this payment_intent should be created. If not provided, a new customer is created and its ID is autogenerated.

amount
required, in cents, min=0
Amount(in cents) to be authorized for 3DS flow.
currency_code
required, string, max chars=3
The currency code (ISO 4217 format) of the amount used in transaction.
gateway_account_id
optional, string, max chars=50
The gateway account used for performing the 3DS flow.
reference_id
optional, string, max chars=200
Reference for payment method at gateway. Only applicable when the PaymentIntent is created for cards stored in the gateway.
payment_method_type
optional, enumerated string, default=card
The payment method of this intent.
Possible values are
cardcardidealidealsofortsofortbancontactbancontact
google_paygoogle_paydotpaydotpaygiropaygiropayapple_payapple_payupiupinetbanking_emandatesnetbanking_emandatespaypal_express_checkoutpaypal_express_checkoutdirect_debitdirect_debit
Show all values[+]
success_url
optional, string, max chars=250
The URL the customer will be directed to once 3DS verification is successful. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
failure_url
optional, string, max chars=250
The URL the customer will be directed to when 3DS verification fails. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
always returned
Resource object representing payment_intent

Updating properties on a PaymentIntent object. All the subsequent 3DS transaction attempts will have the updated values.

Sample Request
curl  https://{site}.chargebee.com/api/v2/payment_intents/__test__KyVnHhSBWTR3ZCw__test__6AP6PXGBruIztRxpb4L0Si0Rihcur2fil \
     -u {site_api_key}:\
     -d amount=4000 \
     -d currency_code="USD"
copy
curl  https://{site}.chargebee.com/api/v2/payment_intents/__test__KyVnHhSBWTR3ZCw__test__6AP6PXGBruIztRxpb4L0Si0Rihcur2fil \
     -u {site_api_key}:\
     -d amount=4000 \
     -d currency_code="USD"

Sample Response [ JSON ]

Show more...
{"payment_intent": { "amount": 4000, "created_at": 1517501515, "currency_code": "USD", "expires_at": 1517503315, "gateway": "chargebee", "gateway_account_id": "gw___test__KyVnGlSBWTQeudG", "id": "__test__KyVnHhSBWTR3ZCw__test__6AP6PXGBruIztRxpb4L0Si0Rihcur2fil", "modified_at": 1517501515, "object": "payment_intent", "payment_method_type": "card", "status": "inited" }}

URL Format POST

https://{site}.chargebee.com/api/v2/payment_intents/{payment_intent_id}
amount
optional, in cents, min=0
Amount(in cents) to be authorized for 3DS flow.
currency_code
optional, string, max chars=3
The currency code (ISO 4217 format) of the amount used in transaction.
gateway_account_id
optional, string, max chars=50
The gateway account used for performing the 3DS flow.
payment_method_type
optional, enumerated string
The payment method of this intent.
Possible values are
cardcardidealidealsofortsofortbancontactbancontact
google_paygoogle_paydotpaydotpaygiropaygiropayapple_payapple_payupiupinetbanking_emandatesnetbanking_emandatespaypal_express_checkoutpaypal_express_checkoutdirect_debitdirect_debit
Show all values[+]
success_url
optional, string, max chars=250
The URL the customer will be directed to once 3DS verification is successful. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
failure_url
optional, string, max chars=250
The URL the customer will be directed to when 3DS verification fails. Applicable only when payment_method_type is ideal, sofort, dotpay or giropay.
always returned
Resource object representing payment_intent

Retrieves the PaymentIntent resource.

Sample Request
curl  https://{site}.chargebee.com/api/v2/payment_intents/__test__KyVnHhSBWTR1HCv__test__5COaMLU3JrmJkDQKOFQqcdOocdusvy0UBl \
     -u {site_api_key}:
copy
curl  https://{site}.chargebee.com/api/v2/payment_intents/__test__KyVnHhSBWTR1HCv__test__5COaMLU3JrmJkDQKOFQqcdOocdusvy0UBl \
     -u {site_api_key}:

Sample Response [ JSON ]

Show more...
{"payment_intent": { "amount": 5000, "created_at": 1517501515, "currency_code": "USD", "expires_at": 1517503315, "gateway": "chargebee", "gateway_account_id": "gw___test__KyVnGlSBWTQeudG", "id": "__test__KyVnHhSBWTR1HCv__test__5COaMLU3JrmJkDQKOFQqcdOocdusvy0UBl", "modified_at": 1517501515, "object": "payment_intent", "payment_method_type": "card", "status": "inited" }}

URL Format GET

https://{site}.chargebee.com/api/v2/payment_intents/{payment_intent_id}
always returned
Resource object representing payment_intent