Skip to content

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.json file 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:

bash
# 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_xxxxx

WARNING

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 success once 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:

  1. Update the environment variables (no need to rebuild the image)
  2. Soft-restart the service
  3. All new transactions go to the sandbox
  4. 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).

SOAMTAR Payment API Documentation.