Sandbox Overview

The VoPay sandbox is a full working copy of VoPay where nothing is real and nothing can break. Send payouts, collect funds, onboard accounts and receive webhooks using the same API and Portal you'll use in production, with test money. You also decide how every transaction ends, just by choosing its cents value.

Your first 15 minutes

Submit a sandbox access request. VoPay will review your request and create your account with API access, Portal access, or both, based on your testing needs. Request Sandbox Access

Check your signature. Call auth/ping. If it succeeds, your authentication is set up correctly.

Connect a test bank account. In production, VoPay does this for you during onboarding. In sandbox, you connect the fictitious VoPay Testing Bank yourself.

Fund your account with $100.00. Using account/fund-my-account or Fund My Account in the Portal.

Watch it move. Statuses update about once a minute, in the Portal and in your webhooks.

Now make one fail. Send $100.25 and watch it succeed, then fail. That's how you test returns.

If you are new to payments and would like to get started using our online portal experience, our sales team will be happy to schedule a demonstration. You can contact our sales team here.


Sandbox Transaction Processing

Since we are in a testing environment, we cannot process the transactions in the same way that production does. For that reason, we have created a simple way for you to follow the whole lifecycle of the transaction.

Every minute each transaction will change its status until they reach one of the following statuses: failed, cancelled, or successful; depending on the transaction amount. These rules apply to all funding, withdrawal, bulk payout and money request transactions.

Choose the outcome with the cents

Amount ends inWhat happensUse it to testTry
.60 – .99Succeeds.The happy path.$100.00
.01– .09Fails immediately, before processing.Rejected requests and error handling.$100.05
.10 – .19Fails after going In Progress.Failures mid-flight.$100.15
.20 – .29Fails after being marked Successful.Returns and reversals after you've already reconciled.$100.25
.30 – .39Cancelled.Cancellation handling.$100.35
.40 – .49Bulk payouts: cancelled after going In Progress. In-progress payouts with an FI Reference Number move to Cancellation Requested. EFT and money requests: cancelled, same as .30–.39.Late cancellations.$100.45
.50 – .59Nothing. The transaction stays where it is.Holding a status still while you test a screen or edge case. Support can move it to a specific status on request.$100.55

Where these rules apply

Funding, withdrawals, bulk payouts and money requests. Credit and debit cards use test card numbers instead, and Apple Pay and Google Pay have their own amount tables, available from your implementation contact.


What a test looks like

A withdrawal of $250.25, minute by minute:

~MinuteStatusWebhook sent
0Created.✓
1In Progress.✓
2Successful.✓
3Failed.✓

If your system marked the payment as complete at minute 2, this is the scenario that shows whether it recovers.



Simulate account onboarding

New accounts and sub-accounts activate instantly by default. To walk through the real onboarding workflow instead, end the account name with a suffix when you create the account or sub-account

Name ends inResultUse it to test
no suffixActive immediately.Getting straight to payments.
-WF0Approved at every stage.The full happy-path onboarding flow.
-WF1Approved at every stage except Application Pending.Accounts waiting on the applicant.
-WF2Rejected at Compliance Review.Declined accounts.

Example: Bruce Wayne-WF2 goes through onboarding and is then rejected.

For accounts created through /partner/account, add the suffix to the end of the Name parameter. It does not need to be added to the legal name.



Scheduled Transactions

These run on the date you set, just like in production. Once a scheduled transaction is created, its outcome follows the cents rules above. Scheduling guide



Webhooks

You receive a webhook for every status change, so expect roughly one per minute per transaction until it reaches a final state.

🚧 Your endpoint must be publicly reachable

VoPay expects an HTTP 200 response. A failed delivery is retried every 15 minutes, up to three attempts in total. localhost won't receive anything, so use a tunnel or a public test URL.



Sandbox vs production

FeatureSandboxProduction
MoneySimulated.Real.
OutcomesSet by the cents valueSet by the bank and payment network
Two-factor authenticationOffRequired
Bank connectionFictitious VoPay Testing BankReal institutions
Bank and routing numbersNot validatedValidated
New accountsAuto-activated (unless suffixed)Full regulatory and compliance review
Interac Money RequestSimulated experienceLive Interac
Interac Bulk PayoutNo payee experienceFull payee experience


Ready to go live?

Before launch, VoPay's integration team reviews your requests, responses and user experience. Production uses separate credentials, so nothing carries over from sandbox. Your Implementation Specialist will walk you through it. Integration timeline →



What's next

API Overview: : authentication, idempotency, input validation

Recipes: complete flows for payables, receivables, onboarding and more

Sandbox FAQ: Answers to common questions about sandbox access, payments, and testing through the VoPay API or Portal.



What’s Next

Start exploring our API functionality.

Did this page help you?