Server-Side Implementation
Important
Your integration may be impacted by upcoming certificate changes. Visit our
best practices guide
to learn more.
NoteGraphQLClick here to view the server-side
implementation using GraphQL.
Creating transactions
Like all Braintree SDK integrations, you will receive a payment method nonce when your user
successfully authorizes payment. Pass this nonce to your server, and create a transaction.Collect device data
from the client and include the deviceDataFromTheClient in the
transaction.
- Java
TransactionRequest request = new TransactionRequest()
.amount(new BigDecimal("10.00"))
.paymentMethodNonce(nonceFromTheClient)
.deviceData(deviceDataFromTheClient)
.options()
.submitForSettlement(true)
.done()
.billingAddress()
.postalCode(postalCodeFromTheClient)
.done();
Result<transaction> result = gateway.transaction().sale(request);
Note
For certain account setups, it is recommended that merchants collect and pass billing address
information when storing payment methods and/or creating transactions. Passing billing address
details (postal code at minimum) can help increase the likelihood of a successful authorization.
To learn more about your specific account setup,
contact us.
Vaulting Apple Pay
Apple Pay cards can only be
saved to your Vault for specific use
cases;
see the support article for details. If your use case is supported, you can store a customer's Apple Pay card in your Vault in a few
different ways:- In a separate Payment Method: Create request
- In a separate Customer: Create or Customer: Update request
- In your Transaction: Sale request by using options.storeInVault or options.storeInVaultOnSuccess