Testing and going live
Start with Developer quickstart if you have not already created a product, webhook endpoint, and API key. This page is about the final confidence pass:- prove your Hilt API handling in sandbox
- confirm the product, webhook, payout wallet, and live settings are ready
- prove the denied -> x402 HTTP 402 -> sandbox payment/proof -> entitlement check loop
- confirm Solana USDC settlement settings before real traffic
- verify receipt, entitlement, webhook, support context, and audit state after the first real buyer payment or optional live settlement check
30-second sandbox proof
If you only want to prove the testing surface exists before you do anything heavier, run:- a
200response - a
scenarioslist - the scenario ids you can use later in this page
- webhook consumers
- SDK and Postman workflows
- receipt and membership handling
- delivery recovery logic
- recurring access grace handling
- wallet UX
- real chain confirmation
- merchant payout routing
Hilt Pay API sandbox path
Use this when you are protecting an API, bot, dataset, private product, or software feature.has_access: true for the sandbox entitlement only. This does not create a live receipt and does not prove wallet settlement.
The TypeScript and Python SDKs expose the same route pair as createSandboxPaymentSession / confirmSandboxPaymentSession and create_sandbox_payment_session / confirm_sandbox_payment_session.
The recommended test sequence
Use this order every time:- create or choose one product
- create one webhook endpoint
- send one signed test event
- run one sandbox session
- confirm live readiness
- verify payment, membership, receipt, and delivery state after the first real buyer payment or optional live settlement check
Sandbox routes
Supported scenarios
Current public scenarios include:confirmed_accesspayment_faileddelivery_failedrenewal_grace
10-minute sandbox validation
1. List the scenarios
2. Create one confirmed-access session
3. Read the saved session back
- the fake ids
- the emitted timeline
- any webhook delivery results
livemode=falseon the simulated event trail
4. Verify your own system
After the sandbox session, your own application should be able to:- verify the webhook signature
- deduplicate the event id
- store the fake
payment_id - handle the fake membership and receipt ids without special-case code
What each scenario is for
| Scenario | Best use |
|---|---|
confirmed_access | clean-path payment, receipt, membership, and webhook handling |
payment_failed | failed-payment handling and buyer recovery logic |
delivery_failed | failed Telegram or Discord delivery plus support escalation |
renewal_grace | recurring access grace and expiry logic |
Keep the sandbox honest
Treat sandbox data as:- representative of the Hilt API
- safe for repeatable integration work
- useful for debugging your webhook and object handling
- proof that wallet UX is correct
- proof that chain confirmation is correct
- proof that merchant payout routing is correct
Optional live settlement check
After sandbox, some teams complete a low-value live settlement check before opening the product to buyers. This is useful when you want to verify:- wallet flow
- confirmation path
- payout routing
- access delivery
- dashboard alignment
What to verify after live settlement
Payment
Membership
Receipt proof
Webhook trail
Use the dashboard or the webhook APIs to confirm:- the real event was emitted
- the endpoint got the event
- the delivery log matches your own server logs
Go-live checklist
Before real traffic:- one product is proven
- Hilt Pay API products have setup readiness with no live blockers
payment_session_options.session_creatable_rails[]contains only the rails you intend to expose- one signed test event succeeded
- one sandbox scenario succeeded
- sandbox validation succeeded
- live settlement settings are ready
- payment, membership, receipt, and webhook trails all agree
Common questions
What does the Hilt sandbox prove?
The sandbox proves your Hilt API handling, webhook consumer behavior, object parsing, and recovery logic. It does not prove real wallet UX or settlement.Do I still need a live test?
Not for SDK or webhook development. Sandbox proves the API behavior. A low-value live settlement check is useful when the merchant wants to verify buyer wallet UX, chain confirmation, payout routing, access delivery, and receipt trail before real buyer traffic.Which sandbox scenario should I run first?
Start withconfirmed_access, then add payment_failed, delivery_failed, and renewal_grace when your application needs those recovery paths.

