Going live
Test your integration, then switch to the live environment.
Test your integration
The test environment has the same endpoints as the live environment. It does not move real money. Use the test base URL and a test API key to run the complete flow.
- Quote, create an order, and read it back until it reaches
completed. - Drive an order to
failedandexpiredwith a reserved value, and confirm your handler branches on each. See Testing. - Create the same order twice with one
reference, and confirm you get one order. See Errors and retries. - Send a request you know is wrong, and branch on the
coderather than the message. See Errors and retries. - For an offramp, resolve the account first and handle
account_verification_failed.
Advance a test order
In the live environment, an order leaves awaiting_payment after customer payment.
The test environment advances the order without real payment. A reserved value
selects another outcome. See Testing.
Switch to the live environment
Change the base URL
Point your client at the live base URL.
Test https://engine-api.pilot.pulseshiga.io
Live https://engine-api.pulseshiga.ioUse your live API key
Replace the test key with the live key. Keep the key on your server, never in a browser or a mobile app. Rotate it if it ever leaks.
Confirm before you ship
One dry run
Complete this list in the live environment with a small amount. Then open the flow to your users.
- Your
referenceis unique for every order, and stored before each create. See Errors and retries. - You repeat timeouts,
503, and500with the samereference, and never with a changed body. - You read
statusfirst, then branch on thecodewhen a request fails. - Every live webhook endpoint is registered in the Dashboard. Each endpoint has received a live event before launch.
- Every live webhook endpoint verifies
X-Pulse-Signatureagainst the raw request body. See Webhooks. - Your webhook handler stores event IDs durably, acknowledges duplicates, and does not depend on delivery order.
- You handle every terminal status:
completed,expired, andfailed, and stop reading once an order is terminal. See Order status. - You read amounts as decimal strings, never as numbers.
- Your logs exclude API keys, signing secrets, NINs, BVNs, and full bank account numbers.
Confirm the delivered amount
Late funding can change the order's rate and destination.amount. Your integration
must reconcile the delivered amount against amount in order.completed.