Payment Method
There are multiple types of payment methods. For the attributes of a specific type of payment method response, see one of the following response objects:
Payment method objects included in other responses (such as Customer
) may be
any of these types. For example:
- Java
Customer customer = gateway.customer().find("the_customer_id");
customer.getPaymentMethods(); // array of PaymentMethod instances
Server-side response object returned directly or within a successful result object from the following requests:
Attributes
getToken()
stringAn alphanumeric value that references a specific payment method stored in your Vault.
Examples
Default
To determine if a payment method is the default for its customer:
- Java
paymentMethod.isDefault();
Determine payment method type
To determine the type of payment method (e.g. credit card, PayPal), you need to inspect the class of the payment method object.
- Java
PaymentMethod paymentMethod = gateway.paymentMethod().find("credit-card-token");
paymentMethod.getClass();
// com.braintree.CreditCard
PaymentMethod paymentMethod = gateway.paymentMethod().find("paypal-account-token");
paymentMethod.getClass();
// com.braintree.PayPalAccount
PaymentMethod paymentMethod = gateway.paymentMethod().find("apple-pay-token");
paymentMethod.getClass();
// com.braintree.ApplePayCard
PaymentMethod paymentMethod = gateway.paymentMethod().find("android-pay-token");
paymentMethod.getClass();
// com.braintree.AndroidPayCard
Cast payment method to its concrete class
Once you've extracted the payment method from the result object, you need to
cast the PaymentMethod
object to its concrete class in order to access its
attributes.
- Java
Result<? extends PaymentMethod> result = gateway.paymentMethod().update(paymentMethodRequest);
PaymentMethod paymentMethod = result.getTarget();
paymentMethod.getClass(); // com.braintree.CreditCard
CreditCard card = (CreditCard) paymentMethod;
card.getLast4(); // 1234