POST /customers/{customer-id}/credit_card
Deprecated
The Payment Sources API, with its additional options and improvements, obsoletes the Cards APIs. This operation is obsoleted by the following:
- Create using temporary token
- Create using permanent token
- Create a card payment source
Adds or replaces card details of a customer. Updating card details replaces the present payment method.
Passing credit card details to this API involves PCI liability at your end as sensitive card info passes through your servers. If you wish to avoid that, you can use one of the following integration methodologies if applicable
- If you are using Stripe gateway, you can use Stripe.js with your card update form.
- If you are using Braintree gateway, you can use Braintree.js with your card update form.
- If you are using Authorize.Net gateway, you use Accept.js with your card update form.
- In case you are using the Adyen gateway, you will have to use the Adyen's Client Side Encryption to encrypt sensitive cardholder data. Once the cardholder data is encrypted, pass the value in adyen.encrypted.data as temp token in this API.
- You can also use our Hosted Pages based integration. Use our Hosted Page - Update Card API to generate a 'Update Card' Hosted Page link.
Legacy behavior:
- For sites created before March 1st, 2014: On making this request, the
billing_address
andvat_number
of the customer are deleted and replaced by the values passed with this request. Ensure that you pass the billing address parameters and thevat_number
parameters each time you make this request, to avoid losing the same information at the customer-level. - For sites created on or after March 1st, 2014: This request does not alter the
billing_address
andvat_number
of the customer.
Servers
- {protocol}://{site}.{environment}:{port}/api/v2
- {protocol}://{site}-test.{environment}:{port}/api/v2
Path parameters
Name | Type | Required | Description |
---|---|---|---|
customer-id |
String | Yes |
Request headers
Name | Type | Required | Description |
---|---|---|---|
chargebee-request-origin-device |
String | No |
The device from which the customer has made the request |
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/x-www-form-urlencoded" |
chargebee-event-webhook |
String | No |
skip only webhooks Possible values:
|
chargebee-business-entity-id |
String | No |
If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation. |
chargebee-event-actions |
String | No |
skip all actions to be done on the events Possible values:
|
chargebee-request-origin-user |
String | No |
The email address of your customer/user. Use this when the email address has only ASCII characters. |
chargebee-request-origin-ip |
String | No |
The IP address of the customer where the request originated |
chargebee-request-origin-user-encoded |
String | No |
The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header |
chargebee-event-email |
String | No |
skip only emails Possible values:
|
Request body fields
Name | Type | Required | Description |
---|---|---|---|
billing_addr2 |
String | No |
Address line 2, as available in card billing address. |
billing_addr1 |
String | No |
Address line 1, as available in card billing address. |
number |
String | Yes |
The credit card number without any format. If you are using Braintree.js, you can specify the Braintree encrypted card number here. |
first_name |
String | No |
Cardholder's first name. |
tmp_token |
String | No |
The single-use card token returned by vaults like Stripe/Braintree which act as a substitute for your card details. Before calling this API, you should have submitted your card details to the gateway and gotten this token in return. |
expiry_month |
Integer | Yes |
Card expiry month. |
last_name |
String | No |
Cardholder's last name. |
gateway_account_id |
String | No |
The gateway account in which this payment source is stored. |
billing_state_code |
String | No |
The ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set |
billing_zip |
String | No |
Postal or Zip code, as available in card billing address. |
expiry_year |
Integer | Yes |
Card expiry year. |
cvv |
String | No |
The card verification value (CVV). If you are using Braintree.js, you can specify the Braintree encrypted CVV here. |
billing_city |
String | No |
City, as available in card billing address. |
billing_state |
String | No |
The state/province name. Is set by Chargebee automatically for US, Canada and India If |
preferred_scheme |
String | No |
null Possible values:
|
billing_country |
String | No |
The billing address country of the customer. Must be one of ISO 3166 alpha-2 country code. Note : If you enter an invalid country code, the system will return an error. Brexit If you have enabled EU VAT in 2021 or later, or have manually enable the Brexit configuration, then |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.