Developer quickstart
This is the fastest reliable path from a new Hilt workspace to one working developer integration. By the end of this page, you should have:- one product created from code
- one webhook endpoint with a signed test delivery
- one sandbox session with fake payment, membership, and receipt objects
- one tiny live payment plan for final validation
30-second win
If you only want to prove the Hilt developer surface is alive before doing anything deeper, run these two reads first.1. Prove your API key works
- a
200response - a JSON array or product list payload from your workspace
2. Prove sandbox is available
- a
200response - a
scenarioslist that includesconfirmed_access,payment_failed,delivery_failed, andrenewal_grace
Before you start
Have these ready:- a Hilt workspace with Hilt Pay enabled
- one payout wallet you actually want to use
- one post-payment destination such as a redirect, download, Telegram flow, or Discord flow
- one API key from Dashboard -> Advanced
- one sandbox API key if you want to call the testing routes over API
- one dashboard session token if you want to manage webhook endpoints by API instead of the dashboard UI
1. Set your environment variables once
Use the live API base URL unless you are explicitly testing a non-production environment.HILT_API_KEY: merchant backend routesHILT_SANDBOX_KEY: sandbox testing routesHILT_BEARER_TOKEN: webhook endpoint management onlyHILT_MERCHANT_WALLET: the payout wallet used in the example product
- you can now run merchant API calls with
X-Hilt-Key - you can now create webhook endpoints with
Authorization: Bearer ...
Node .env.local
Python .env
2. Install one client surface
Use whichever surface matches how you work:TypeScript
Python
Postman
Use the public developer-assets repo:https://github.com/Hiltpay/hilt-developer-assets
postman/hilt-postman-collection.jsonpostman/hilt-postman-environment.json
3. Create one manual recurring product
Start with a simple product that gives you the full Hilt trail:- price
- checkout payload
- payment
- membership
- receipt
- renewal intelligence later
product.idproduct.slug
- the product appears in the dashboard
GET /v1/products/{product_id}returns the same commercial object
4. Create one webhook endpoint and send a signed test event
Webhook endpoint management uses a workspace session token, not an API key. If you do not want to create the endpoint over API, create it once in Dashboard -> Advanced and then continue with the test-event and sandbox steps.Create the endpoint
Send a signed test event
- the endpoint exists in Hilt
- your receiver gets a signed request
- the delivery log shows success or a concrete failure reason
Smallest possible webhook receiver: Node
If you want the shortest possible Node receiver that can go green on a signed test event, use this:Smallest possible webhook receiver: Python
- Hilt sends a signed test event
- your receiver logs the event id and type
- Hilt marks the delivery as successful
5. Run one sandbox session
Now validate your contract handling without using a real payment.- your webhook consumer receives
livemode=falseevents - your application can handle
payment.confirmed,receipt.created, andmembership.activated - you can inspect the fake ids later through the returned sandbox session
6. Finish with one tiny live payment
Sandbox proves your Hilt contract handling. It does not prove wallet UX, chain confirmation, or payout routing. Do one small live payment before real traffic:- open
https://www.hilt.so/p/YOUR_SLUG - complete one tiny real payment
- keep the
payment_idif your app started the session itself - keep the transaction signature if you need to compare API, dashboard, and receipt views
- you now have a real
payment_id - the buyer saw the real wallet flow
- Hilt can now be verified against live settlement, receipt creation, and membership state
7. Verify the Hilt trail after the live payment
Use Hilt as the source of truth after payment.Payment state
Membership state
Receipt proof
- payment is visible and reaches
CONFIRMED - membership exists if the flow should create access
- receipt exists and has a public proof URL
- webhook delivery log shows the real outbound event trail
Common first-launch mistakes
- using an API key for webhook endpoint management
- skipping the signed test event and only discovering signature problems on the first real payment
- treating sandbox as proof of wallet or payout correctness
- launching multiple products before one path is proven

