Test → Production
How to switch to production safely.
Prerequisites
- KYC approved at level 3
- Integration checklist fully ticked
- At least 48 hours of sandbox testing without application errors
Requesting production access
Dashboard → Account → Production request
You provide:
- The URL of your production website or app
- Expected monthly volume (number of transactions and amount in SLE)
- Business category (e-commerce, marketplace, SaaS, other)
- A
.soamtar-self-audit.jsonfile listing the checklist items you have ticked
Answer within 24 business hours. We may ask for extra documents (terms of sale, legal notice, settlement bank account details).
Technical switch
Step 1: create sk_live_… keys
Dashboard → Developers → API keys → New key
Select Live. The key is shown only once: copy it into your secret manager.
Step 2: configure the live webhook
Dashboard → Webhooks → Add endpoint
URL = your production endpoint, which may differ from the test endpoint. Copy the secret immediately.
Step 3: update your configuration
Environment variables:
# Before
SOAMTAR_SECRET_KEY=sk_test_xxxxx
SOAMTAR_WEBHOOK_SECRET=whsec_test_xxxxx
# After
SOAMTAR_SECRET_KEY=sk_live_xxxxx
SOAMTAR_WEBHOOK_SECRET=whsec_live_xxxxxWARNING
Never deploy code with a hard-coded key. Always read it with getenv() or equivalent.
Step 4: verification
First live payment: send Le 50.00 to an internal number (yours or your team's Orange Money number). Check that:
- [ ] The transaction appears in the dashboard with
livemode: true - [ ] The webhook reaches your production server
- [ ] The status moves to
successonce the customer confirms with their Orange Money PIN - [ ] Your app marks the order as paid
Step 5: communication
- Tell your internal support team: "SOAMTAR live since [date]"
- Update your runbook with the contacts given during onboarding
Running test and live side by side
You can keep both in parallel:
- Production uses
sk_live_… - Staging / pre-production keeps
sk_test_… - Local development:
sk_test_…as well
The two environments are strictly isolated: a test object is not visible with a live key, and vice versa.
Rollback
If something goes wrong in production, switch back to sk_test_… in 5 minutes:
- Update the environment variables (no need to rebuild the image)
- Soft-restart the service
- All new transactions go to the sandbox
- Notify
support@so-amtar.com
Transactions already sent live are processed normally (a rollback does not cancel history).
First hours in production
- Watch the first 5 transactions one by one
- Watch the error rate during the first hour
- Watch volumes during the first week
Any anomaly: email support@so-amtar.com with the internal_ref and the exact time (Freetown time, GMT).