package com.braintreegateway; public class PaymentMethodGrantRequest extends Request { private String sharedPaymentMethodToken; private boolean allowVaulting; private boolean includeBillingPostalCode; private String revokeAfter; public PaymentMethodGrantRequest() { } protected PaymentMethodGrantRequest sharedPaymentMethodToken(String sharedPaymentMethodToken) { this.sharedPaymentMethodToken = sharedPaymentMethodToken; return this; } public PaymentMethodGrantRequest allowVaulting(boolean allowVaulting) { this.allowVaulting = allowVaulting; return this; } public PaymentMethodGrantRequest includeBillingPostalCode(boolean includeBillingPostalCode) { this.includeBillingPostalCode = includeBillingPostalCode; return this; } public PaymentMethodGrantRequest revokeAfter(String revokeAfter) { this.revokeAfter = revokeAfter; return this; } @Override public String toXML() { return buildRequest("payment-method").toXML(); } protected RequestBuilder buildRequest(String root) { RequestBuilder builder = new RequestBuilder(root). addElement("shared-payment-method-token", sharedPaymentMethodToken). addElement("allow-vaulting", allowVaulting). addElement("include-billing-postal-code", includeBillingPostalCode). addElement("revoke-after", revokeAfter); return builder; } }