Braintree Auth is in closed beta. To request access, email auth@braintreepayments.com.

The Shared Vault feature allows you, as the platform owner, to store all credit cards and customer data in your own Braintree Vault. You can then use that data to create a transaction for a connected merchant. This Shared Vault model delivers a network benefit to all your connected merchants, helping boost checkout conversion.

Creating a transaction with a shared payment method

Payment method sharing is what enables the Shared Vault feature, specifically the shared_vault_transactions right. A payment method sharing call resembles a typical transaction create call, but with slightly different parameters. The calls look like this:

Click to copy
gateway = Braintree::Gateway.new(
  :access_token => use_access_token_for_merchant

result = gateway.transaction.sale(
  :shared_payment_method_token => your_payment_method_token,
  :amount => "100.00"

Payment methods shared this way can never be updated by the merchant, and they can't be stored in the merchant’s Vault.


In addition to payment methods, you can also share a customer’s billing addresses and shipping addresses. The full list of parameters that can be used when creating a transaction with payment method sharing is:

Name Description
shared_payment_method_token The payment method token of a card stored in the Partner's Vault that will be charged. Required for payment method sharing.
shared_customer_id The ID of a customer stored in the Partner's Vault. Will populate the customer_details of the transaction.
shared_billing_address_id The ID of an address in the Partner's Vault. Will populate the billing_address_details of the transaction.
shared_shipping_address_id The ID of an address in the Partner's Vault. Will populate the shipping_address_details of the transaction.

Next: Testing and Go Live →

Still have questions?

If you can’t find an answer, contact our Support team.