Payment Methods

Important

Your integration may be impacted by upcoming certificate changes. Visit our best practices guide to learn more.

A payment method represents transactable payment information such as credit card details or a customer's authorization to charge a PayPal or Venmo account. Payment methods belong to a customer, are securely stored in the Braintree Vault, and have a paymentMethodToken attribute that you can store on your servers with reduced PCI compliance burden and later use to create transactions.

CreateAnchorIcon

Use Payment Method: Create to create a payment method for an existing customer using a payment method single-object token received from the client :

  1. PHP
$result = $gateway->paymentMethod()->create([
    'customerId' => '12345',
    'paymentMethodNonce' => nonceFromTheClient
]);

Alternatively, you can create a new customer with a payment method using Customer: Create with the paymentMethodNonce parameter.

After the payment method is successfully created, you can use Transaction: Sale with the paymentMethodToken parameter to create a transaction.

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.

UpdateAnchorIcon

Use Payment Method: Update to update an existing payment method.

Make defaultAnchorIcon

Use the makeDefault option to set a payment method as the default for its customer:

  1. PHP
$updateResult = $gateway->paymentMethod()->update(
    'the_token',
    [
        'options' => [
            'makeDefault' => true
        ]
    ]
);

Billing addressAnchorIcon

Update the billing address:

  1. PHP
$result = $gateway->paymentMethod()->update(
    'the_token',
    [
        'billingAddress' => [
            'streetAddress' => '100 Maple Lane',
            'options' => [
                'updateExisting' => true
            ]
        ]
    ]
);

You can also omit the updateExisting option to create a new billing address for the payment method.

See the reference and more examples of updating a payment method . If you want to update both payment method and customer information together, use Customer: Update.

FindAnchorIcon

Use Payment Method: Find to find a payment method:

  1. PHP
$paymentMethod = $gateway->paymentMethod()->find('token');

The return value of the Payment Method: Find call will be a paymentMethod response object.

DeleteAnchorIcon

Use Payment Method: Delete to delete a payment method:

  1. PHP
$result = $gateway->paymentMethod()->delete('the_token')
$result->success #=> true

See also