Venmo Payment Integration
Venmo is a mobile payment application for iOS and Android that supports convenient mobile purchasing. This guide explains how to accept Venmo payments from customers using the Netvalve Payment Gateway.
Venmo is available only for United States-based business entities. Support from outside the US is not currently available.
High-level flow
Refer to the Netvalve Hosted Payment Page guide for the full flow diagram.
How to offer Venmo
Contact the Netvalve team to enable the Venmo payment option on your Netvalve Hosted Payment Page before going live.
Step 1 — Create the order
Send a POST request to the Create Order endpoint. Set paymentOption to "apm_venmo" to enable Venmo on the hosted page.
{
"amount": 44.99,
"currency": "USD",
"siteId": "f76fb7ed-3312-4791-a216-45918f899271",
"clientOrderId": "{{clientOrderId}}",
"orderDesc": "Order for Apple 14 Pro",
"successUrl": "https://merchantsite.com/success.html",
"cancelUrl": "https://merchantsite.com/cancel.html",
"failedUrl": "https://merchantsite.com/failed.html",
"pendingUrl": "https://merchantsite.com/pending.html",
"paymentOption": "apm_venmo",
"customerDetails": {
"customerAddress": "123 Main Street",
"customerCity": "New York",
"customerCountryCode": "US",
"customerEmail": "customer@example.com",
"customerIp": "123.123.123.123",
"customerName": "John",
"customerLastName": "Doe",
"customerPhone": "800-1234567",
"customerState": "NY",
"customerZipCode": "10001"
}
}
paymentOption accepts a comma-separated list. For example, "card,apm_venmo" will display both card and Venmo on the hosted page.
Step 2 — Redirect the customer
On a successful order creation the response contains a redirectUrl. Send the customer there to complete payment on the Netvalve hosted page.
{
"traceID": "98e151b7-fca4-4e2a-8597-ab58512f2d41",
"responseTimestamp": "2025-09-09T06:54:38.626+00:00",
"orderId": 123445,
"transactionID": "txn-98e151b7",
"responseCode": "GTW_1000",
"responseMessage": "Transaction Approved / Request Successful.",
"orderState": "CREATED",
"redirectUrl": "https://checkout.uat.sandbox-netvalve.com?paymentToken=eyJ...",
"midId": "mid-4521",
"netvalveMidId": "f76fb7ed-3312-4791-a216-45918f899271"
}
- Verify
responseCode === "GTW_1000"before redirecting — any other value means the order was not created successfully. - The customer will see all enabled payment options and can select Venmo. Netvalve then redirects them to Venmo to log in and complete the payment.
Step 3 — Handle the redirect outcome
After the customer completes (or abandons) the payment, Netvalve redirects them to one of the URLs provided in the order:
| Outcome | Redirect target |
|---|---|
| Payment succeeded | successUrl |
| Customer cancelled | cancelUrl |
| Payment failed | failedUrl |
| Payment pending | pendingUrl |
Step 4 — Receive a webhook (optional)
Netvalve can notify your server via a server-to-server POST when the payment status changes.
Webhook endpoint configuration is managed by the Netvalve team. See the Webhook Message guide for the full payload schema.
Exception handling
If your server does not receive a redirect or you need to independently verify a transaction status, use the Inquiry API.
{
"traceID": "965c2c75-b29d-41fc-aa3a-6d40b9f3fbb0",
"responseTimestamp": "2024-04-25T13:48:49.959+00:00",
"transactionID": 22,
"responseCode": "GTW_1002",
"responseMessage": "Transaction status is Pending.",
"responseCodeType": "PENDING"
}
If the status is PENDING, wait briefly and re-poll the Inquiry API.
Supported app versions
The following minimum Venmo app versions are required for payments to work correctly.
| Platform | Minimum version |
|---|---|
| iOS app | 9.1.0 or later |
| Android app | 9.13.0 or later |
| iOS / Android mobile web browser | 7.5.0 or later |
| Desktop web browser | 8.12.0 or later |
The Venmo app version can be found at the bottom of the Settings page in the user's Venmo app.
Minimum OS requirements
| OS | Minimum version |
|---|---|
| Android | 6.0 or later |
| iOS | 12.0 or later |
Related resources
| Resource | Link |
|---|---|
| Netvalve Hosted Payment Page guide | Hosted Payment Page |
| Swagger API reference | API Reference |
| Webhook Message guide | Webhook Message |
| Error Codes reference | Error Codes |