Payment Methodsanchor

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.

Createanchor

Use Payment Method: Create to create a payment method for an existing customer using a payment method nonce received from the client :

  1. Java
PaymentMethodRequest request = new PaymentMethodRequest()
  .customerId("131866")
  .paymentMethodNonce(nonceFromTheClient);

Result<? extends PaymentMethod> result = gateway.paymentMethod().create(request);

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

Once 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.

Updateanchor

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

Make defaultanchor

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

  1. Java
PaymentMethodRequest updateRequest = new PaymentMethodRequest()
  .options()
    .makeDefault(true)
    .done();

Result<? extends PaymentMethod> result = gateway.paymentMethod().update("the_token", updateRequest);

Billing addressanchor

Update the billing address:

  1. Java
PaymentMethodRequest updateRequest = new PaymentMethodRequest()
  .billingAddress()
    .streetAddress("100 Maple Lane")
    .options()
      .updateExisting(true)
      .done()
    .done();

Result<? extends PaymentMethod> result = gateway.paymentMethod().update("the_token", updateRequest);

You can also omit the updateExisting option to create a new billing address for just this 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.

Findanchor

Use Payment Method: Find to find a payment method:

  1. Java
PaymentMethod paymentMethod = gateway.paymentMethod().find("token");

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

Deleteanchor

Use Payment Method: Delete to delete a payment method:

  1. Java
Result<? extends PaymentMethod> result = gateway.paymentMethod().delete("the_token");

result.isSuccess();
// true

See also