Use this checklist to build your TalusPay integration from your first sandbox call to going live. Work through the steps in order: each one links to the guide with the details.
- Get your sandbox credentials. You receive an account ID (
account_…) and a secret key once your ISV account is set up. Every call authenticates with them as HTTP Basic auth. See Authentication. - Keep secrets on your server. Your account secret key and webhook signing secrets must never reach a browser or a mobile app.
- Check your onboarding experience. Make sure your branding, default pricing and hardware catalog are configured, so new merchants inherit them. Ask TalusPay to change anything that is missing.
- Create a webhook. Subscribe an HTTPS endpoint to the
merchantscope withPOST /v1/webhooks, and store the signingsecretit returns. See Webhooks. - Verify every delivery. Check
X-Talus-Webhook-Signatureagainst the raw request body and reject old timestamps. See Webhook Signatures. - Handle duplicates. Use the event
idto process each event only once. - Respond quickly. Return a 2xx status within 8 seconds and do slow work afterwards. Failed deliveries are not retried, so read the merchant from the API whenever you are unsure of its state.
- Create merchants. Create each merchant with
POST /v1/merchants, and prefill the application with what you already know. See Merchant Onboarding Guide. - Send the merchant to onboarding. Create an onboarding link, sign the merchant in to your app first, then redirect them to the link. See Create an Onboarding Link.
- Handle the return. Confirm the merchant's status with the API when they come back, instead of trusting the redirect.
- Re-engage merchants who stop. Find merchants still
IN_PROGRESSorREADY_TO_SIGNand send them back with the latest unexpired link, or create one if needed. Creating a link replaces all earlier links for that merchant. See Monitor and Re-engage. - Handle every KYC outcome. Approved, declined, on hold and pended merchants each need their own message. Send merchants who must act to
status_review_url; show a waiting message while submitted information is under review. See merchant experience flows. - Track payment setup separately from approval. Use
merchant.payments_onboardedto mark setup complete, and confirmpayment_onboarding_statusfrom the API if the event is missed. Gateway credentials are not returned by the public API or merchant webhooks.
The payments API (taking payments, refunds and charges) is in progress. This checklist will cover it once it is published.
- Test your webhook endpoint. Send each merchant event to your endpoint with
POST /v1/events/test. Test deliveries have event IDs starting withevt_00000000000000. - Test onboarding end to end. Approve, decline and deactivate sandbox merchants with
POST /v1/events/trigger, and check that your app reacts to each one. See Testing. - Test failures. Check that your app copes with API errors, a webhook signature that doesn't match, and a webhook that never arrives.
- Give merchants their statements. List a merchant's monthly statements with
GET /v1/statements/{merchant_id}and download them as PDF.
When every step above works in sandbox:
- Switch to
https://api.taluspay.comand your live credentials. - Create your webhooks again in production. Sandbox webhooks and secrets don't carry over.
- Remove approve and decline calls to
POST /v1/events/trigger: they change nothing in production but still returnsuccess: true. Deactivate works in production. - Follow the status page to hear about incidents.
Next: test the merchant experience or look up endpoints in the API reference.