For brands
Test sales and test networks
On the live network, a program can go live only after one signed event has arrived from your event API integration or your Stripe webhook. The console's "Send test sale" button runs the whole pipeline with a sale that never becomes payable. A separate test network lets you try everything, including payouts, with test money.
The go-live check
The setup's Test sale step listens for your first event. Any event signed with your program's own secret, or sent by its own Stripe webhook, counts, even if it matches no partner and even while the program is a draft: it proves your signature and address are right.
BODY='{"id":"evt_test_1","type":"sale","order_id":"test_order_1","amount_cents":10000,"currency":"USD","ref_code":"your-handle"}'
TS=$(date +%s)
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$VP_SIGNING_SECRET" -hex | sed 's/^.* //')
curl -X POST https://viralpayouts.com/api/v1/events \
-H "content-type: application/json" \
-H "x-vp-program: <program id>" \
-H "x-vp-timestamp: $TS" \
-H "x-vp-signature: $SIG" \
-d "$BODY"The timestamp must be within 5 minutes of our clock. The answer says whether the sale was processed, a duplicate or unmatched, and which signing secret matched. Full field list: Event API.
The console test sale
"Send test sale" credits a partner of your choice with a test sale. It runs the real pipeline, but the sale is flagged as a test: it never becomes payable, carries no fee, sends no postback and does not count for the go-live check.
Test networks
ViralPayouts also runs as testnet (a long-lived sandbox) and devnet (thrown away after each QA run). Every page there shows a banner. The code is the same, with its own database, and no real money can move: a live Whop key is refused.
| On a test network you can | How |
|---|---|
| Pay partners in seconds | Holds can be 0 days and the minimum payout $0 |
| Simulate a sale or a refund | Console test tools |
| Simulate the brand paying in | Console test tools |
| Jump forward in time | Move the clock on by days, to pass holds and payout dates |
| Connect a payout account | Simulated: one click, no bank details asked |
Something here does not match what you see in the product? Email max@viralpayouts.com.