package com.braintreegateway; public class PaymentMethodOptionsRequest extends Request { private Boolean makeDefault; private PaymentMethodRequest parent; private String verificationMerchantAccountId; private Boolean failOnDuplicatePaymentMethod; private Boolean verifyCard; private String verificationAmount; private String venmoSdkSession; private PaymentMethodOptionsPayPalRequest paymentMethodOptionsPayPalRequest; public PaymentMethodOptionsRequest() {} public PaymentMethodOptionsRequest(PaymentMethodRequest parent) { this.parent = parent; } public PaymentMethodRequest done() { return parent; } public Boolean getMakeDefault() { return makeDefault; } public PaymentMethodOptionsRequest makeDefault(Boolean makeDefault) { this.makeDefault = makeDefault; return this; } public PaymentMethodOptionsRequest verificationMerchantAccountId(String verificationMerchantAccountId) { this.verificationMerchantAccountId = verificationMerchantAccountId; return this; } public PaymentMethodOptionsRequest failOnDuplicatePaymentMethod(Boolean failOnDuplicatePaymentMethod) { this.failOnDuplicatePaymentMethod = failOnDuplicatePaymentMethod; return this; } public PaymentMethodOptionsRequest verifyCard(Boolean verifyCard) { this.verifyCard = verifyCard; return this; } public PaymentMethodOptionsRequest verificationAmount(String verificationAmount) { this.verificationAmount = verificationAmount; return this; } public PaymentMethodOptionsRequest venmoSdkSession(String venmoSdkSession) { this.venmoSdkSession = venmoSdkSession; return this; } public PaymentMethodOptionsPayPalRequest paypal() { paymentMethodOptionsPayPalRequest = new PaymentMethodOptionsPayPalRequest(this); return paymentMethodOptionsPayPalRequest; } @Override public String toXML() { return buildRequest("options").toXML(); } protected RequestBuilder buildRequest(String root) { RequestBuilder builder = new RequestBuilder(root); builder.addElement("failOnDuplicatePaymentMethod", failOnDuplicatePaymentMethod); builder.addElement("verifyCard", verifyCard); builder.addElement("verificationAmount", verificationAmount); builder.addElement("verificationMerchantAccountId", verificationMerchantAccountId); if (makeDefault != null && makeDefault.booleanValue()) { builder.addElement("makeDefault", makeDefault); } builder.addElement("venmoSdkSession", venmoSdkSession); builder.addElement("paypal", paymentMethodOptionsPayPalRequest); return builder; } }