How a Venmo payment works
Venmo is an app-based payment method. The customer approves in Venmo before you call Payrails:- The customer selects Venmo at checkout.
- The Braintree client SDK sends the customer to the Venmo app on mobile, or shows a QR code to scan on desktop.
- The customer approves the payment in the Venmo app.
- The Braintree client SDK returns a single-use payment method nonce to your checkout.
- You send the nonce to Payrails in the authorize request, and Payrails charges it through Braintree.
Supported currencies and countries
Venmo supports USD (United States dollar) as its presentment currency. Payrails sends the currency you provide to Braintree without checking it first.Supported workflows
Before you begin
Complete these steps before you send your first Venmo payment through Braintree:- Set up a Braintree integration in your workspace. Follow the Braintree integration setup guide if you don’t have one yet.
- Make sure you registered your Braintree gateway account in the United States, and ask Braintree to enable Venmo on it. Braintree sets the account country at signup, and Venmo isn’t available on accounts registered elsewhere.
- Set up a Venmo merchant profile in Braintree with the name and logo the customer sees in the Venmo app.
- In the Payrails Portal, go to Settings → Integrations, open your Braintree integration, select Venmo under Payment methods, and save.
- Add Venmo as a payment option in your workflow.
- Add the Braintree client SDK with Venmo to your checkout, so it can return a Venmo nonce.
Request fields for Braintree
Send these fields in the authorize request, in addition to the standard authorize fields. Payrails checks Required fields and returns an error when one is missing. Fields required by the PSP pass the Payrails checks but the PSP can decline the payment without them.Authorize a Venmo payment
Call authorize a payment withvenmo as the paymentMethodCode. Put the nonce from the Braintree client SDK in paymentInstrumentData.paymentToken.
Authorize request
storeInstrument for a one-off payment.
The authorize response carries the result of the Braintree transaction. Confirm the final status through webhook notifications or the execution status before you fulfill the order.
How Braintree handles Venmo
- Each nonce works for one transaction only. Get a new nonce from the Braintree client SDK for every customer-initiated payment.
- With delayed capture, Payrails authorizes the payment, and you capture it later. Braintree accepts partial captures and several captures against one Venmo authorization.
- To save the Venmo account, set
storeInstrumenttotrue. Braintree stores the account after a successful transaction, and Payrails keeps the reusable Braintree token on the instrument. Payrails charges later merchant-initiated transactions (MIT) against that token, with no customer present. - A zero-amount authorize saves the Venmo account without charging the customer.