See also the CreditCard response object.

important

Typically requires PCI SAQ D compliance

We recommend using paymentMethod functions to avoid any PCI concerns with raw credit card data being present on your server.

note

If you have card verification enabled, any updates made to credit cards are subject to those rules.

C♯
var creditCardUpdateRequest = new CreditCardRequest
{
    CardholderName = "New Holder",
    Number = "4111111111111111",
    ExpirationDate = "06/22",
    CVV = "456",
    BillingAddress = new CreditCardAddressRequest
    {
        Region = "IL",
    },
    Options = new CreditCardOptionsRequest
    {
        VerifyCard = true
    }
};

CreditCard creditCard = gateway.CreditCard.Update(originalCreditCard.Token, creditCardUpdateRequest).Target;
Arguments
Token required, string

An alphanumeric value that references a specific payment method stored in your Vault. Must be less than or equal to 36 characters. If using a custom integration, you can specify what you want the token to be. If not specified, the gateway will generate one that can be accessed on the result. If using our Drop-in UI with a customer ID to vault payment methods, you can't specify your own token. Length and format of gateway-generated tokens and IDs may change at any time.

Additional Parameters
BillingAddress

A billing address associated with a specific customer ID. It can be further associated with a specific payment method. The maximum number of addresses per customer is 50.

Company string

Company name. 255 character maximum.

CountryCodeAlpha2 string

The ISO 3166-1 alpha-2 country code specified in an address. The gateway only accepts specific alpha-2 values.

CountryCodeAlpha3 string

The ISO 3166-1 alpha-3 country code specified in an address. The gateway only accepts specific alpha-3 values.

CountryCodeNumeric string

The ISO 3166-1 numeric country code specified in an address. The gateway only accepts specific numeric values.

CountryName string

The country name specified in an address. We only accept specific country names.

ExtendedAddress string

The extended address information—such as apartment or suite number. 255 character maximum.

FirstName string

The first name. 255 character maximum.

LastName string

The last name. 255 character maximum.

Locality string

The locality/city. 255 character maximum.

Options

Optional values that can be passed with a request.

UpdateExisting bool

Update the billing address associated with the payment method token specified. Other payment methods associated with the same billing address will have their addresses updated, as well.

PostalCode string

The postal code. Postal code must be a string of 4-9 alphanumeric characters, optionally separated by a dash or a space. Spaces and hyphens are ignored.

Region string

The state or province. 255 character maximum.

StreetAddress string

The credit card billing street address. 255 character maximum. Required when performing card verification and AVS rules are configured to require street address.

CardholderName string

The cardholder name associated with the credit card. 175 character maximum.

Cvv string

A 3 or 4 digit card verification value assigned to credit cards. The CVV will never be stored in the gateway, but it can be provided with one-time requests to verify the card.

ExpirationDate string

The expiration date, formatted MM/YY or MM/YYYY. May be used instead of ExpirationMonth and ExpirationYear.

ExpirationMonth string

The expiration month of a credit card, formatted MM. May be used with ExpirationYear, and instead of ExpirationDate.

ExpirationYear string

The two or four digit year associated with a credit card, formatted YYYY or YY. May be used with ExpirationMonth, and instead of ExpirationDate.

Number string

The 12-19 digit value consisting of a bank identification number (BIN) and primary account number (PAN). Passing the number directly (rather than passing a nonce) should only be done in a PCI compliant environment. If in doubt, use PaymentMethodNonce with PaymentMethod.Update()

Options

Optional values that can be passed with a request.

MakeDefault bool

This option makes the specified payment method the default for the customer.

VerificationAmount string

Specify a non-negative amount that you want to use to verify a card. If you do not pass this option, the gateway will automatically use a verification amount of $0 or $1, depending on the processor and/or card type.

VerificationMerchantAccountId string

Specify the merchant account ID that you want to use to verify a card. See the MerchantAccountId on Transaction.Sale() to learn more. The merchant account can't be a marketplace sub-merchant account. See the Braintree Marketplace Guide to learn more.

VerifyCard bool

This option prompts the gateway to verify the card's number and expiration date. It also verifies the AVS and CVV information if you've enabled AVS and CVV rules.

note

Braintree strongly recommends verifying all cards before they are stored in your Vault by enabling card verification for your entire account in the Control Panel.

In some cases, cardholders may see a temporary authorization on their account after their card has been verified. The authorization will fall off the cardholder's account within a few days and will never settle.

Only returns a CreditCardVerification result if verification runs and is unsuccessful.

Payment method nonces vs. raw card data

While it is possible to pass both raw card data and a payment method nonce in the same call, we recommend passing only a payment method nonce.

Passing both will result in a payment method that has a mix of their attributes, with precedence given to the fields individually, then to the attributes of the payment method nonce. For example, if you pass both a card number and a payment method nonce, the payment method will have the number you passed explicitly, but the rest of the attributes will be obtained through the nonce.