Skip to main content

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.

US only

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.

POST /order — request body
{
"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"
}
}
tip

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.

POST /order — success response
{
"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"
}
Additional instructions
  1. Verify responseCode === "GTW_1000" before redirecting — any other value means the order was not created successfully.
  2. 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:

OutcomeRedirect target
Payment succeededsuccessUrl
Customer cancelledcancelUrl
Payment failedfailedUrl
Payment pendingpendingUrl

Step 4 — Receive a webhook (optional)

Netvalve can notify your server via a server-to-server POST when the payment status changes.

note

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.

Inquiry API — pending response example
{
"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.

PlatformMinimum version
iOS app9.1.0 or later
Android app9.13.0 or later
iOS / Android mobile web browser7.5.0 or later
Desktop web browser8.12.0 or later
Finding the app version

The Venmo app version can be found at the bottom of the Settings page in the user's Venmo app.

Minimum OS requirements

OSMinimum version
Android6.0 or later
iOS12.0 or later

ResourceLink
Netvalve Hosted Payment Page guideHosted Payment Page
Swagger API referenceAPI Reference
Webhook Message guideWebhook Message
Error Codes referenceError Codes