Returns a string which contains all authorization and configuration information your client needs to initialize the client SDK to communicate with Braintree.

$clientToken = Braintree_ClientToken::generate();
'customerId' string

Only applies to the Drop-in UI; not needed when generating client tokens for custom integrations.

A string value representing an existing customer in your Vault. Displays the customer's saved payment methods in the Drop-in UI and automatically adds newly-entered credit cards to the customer in your Vault.

'merchantAccountId' string

Specify the merchant account ID that you want to use to generate the client token. If no merchant account ID is specified, we will use your default merchant account.

Depending on its settings, the merchant account you use will determine:

  • whether the PayPal button should be displayed
  • whether the 3D Secure authentication flow can be invoked
'failOnDuplicatePaymentMethod' bool

This option will not work with PayPal payment methods. If this option is passed and the payment method has already been added to the Vault, the request will fail. This can only be passed if a customer_id is passed as well. If the check fails, this option will stop the Drop-in from returning a payment_method_nonce.

'makeDefault' bool

This option makes the specified payment method the default for the customer. This can only be passed if a customer_id is passed as well.

'verifyCard' bool

If the payment method is a credit card, 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. This option can only be passed if a $customerId is passed as well. If the verification fails, this option will stop the Drop-in from returning a $paymentMethodNonce.

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.

If you want to verify all cards before they are stored in your Vault, you can turn on card verification for your entire Braintree account in the Control Panel.

'version' string

The version of the client token to generate. The default value is 2. Current supported versions are 1, 2, and 3. Please check your client-side SDKs in use before changing this value.


Specify a customer ID

The Drop-in UI supports presenting returning customers with their saved payment methods. To generate a token for a customer in your vault provide the customer's ID.

$clientToken = Braintree_ClientToken::generate([
    "customerId" => $aCustomerId

Still Have Questions?

If you can’t find an answer, give us a call at 877.434.2894 or contact our Support team