Apple Pay

Server-Side Implementationanchor

Click here to view the server-side implementation using GraphQL.

Creating transactionsanchor

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 device_data_from_the_client in the transaction.

  1. Ruby
result =
  :amount => "10.00",
  :payment_method_nonce => nonce_from_the_client,
  :device_data => device_data_from_the_client,
  :options => {
    :submit_for_settlement => true
  :billing => {
    :postal_code => postal_code_from_the_client

The amount you specify in your client-side payment request object should reflect the actual amount you authorize and submit for settlement; transactions will still process in cases where the amount changes during order fulfillment.

If you've already integrated our SDKs to handle payment method nonces for other payment methods, you should reuse your existing implementation. The example above will work with a payment method nonce associated with any new payment methods that you choose to accept in the future.


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 Payanchor

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:

Next Page: Testing and Go Live