Updates a payment profile.
In the event that you are using the Authorize.net, Stripe, Cybersource, Forte or Braintree Blue payment gateways, you can update just the billing and contact information for a payment method. Note the lack of credit-card related data contained in the JSON payload.
In this case, the following JSON is acceptable:
{ "payment_profile": { "first_name": "Kelly", "last_name": "Test", "billing_address": "789 Juniper Court", "billing_city": "Boulder", "billing_state": "CO", "billing_zip": "80302", "billing_country": "US", "billing_address_2": null }}The result will be that you have updated the billing information for the card, yet retained the original card number data.
Merchants with Authorize.net, Cybersource, Forte, Braintree Blue or Stripe as their payment gateway can update their Customer’s credit cards without passing in the full credit card number and CVV.
If you are using Authorize.net, Cybersource, Forte, Braintree Blue or Stripe, Advanced Billing will ignore the credit card number and CVV when processing an update via the API, and attempt a partial update instead. If you wish to change the card number on a payment profile, you will need to create a new payment profile for the given customer.
A Payment Profile cannot be updated with the attributes of another type of Payment Profile. For example, if the payment profile you are attempting to update is a credit card, you cannot pass in bank account attributes (like bank_account_number), and vice versa.
Updating a payment profile directly will not trigger an attempt to capture a past-due balance. If this is the intent, update the card details via the Subscription instead.
If you are using Authorize.net or Stripe, you may elect to manually trigger a retry for a past due subscription after a partial update.
The username is a Maxio Chargify API key and the password is x. Basic authentication works only with the US and EU environments, which connect to chargify.com directly. The Maxio API Gateway environment does not accept Basic authentication.
In: header
The Chargify id of the payment profile
application/json
TypeScript Definitions
Use the request body type in TypeScript.
application/json
application/json
curl -X PUT \ --url 'https://subdomain.chargify.com/payment_profiles/1.json' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ --data-raw '{ "payment_profile": { "first_name": "Graham", "last_name": "Test", "billing_address": "456 Juniper Court", "billing_city": "Boulder", "billing_state": "CO", "billing_zip": "80302", "billing_country": "US", "billing_address_2": null }}'