Go-Live Checklist
Run through every item below before production.
Credentials & Configuration
- Production
endpoint_id,merchant_login, andmerchant_control_keyreceived from Centiwise - All credentials stored in environment variables or a secrets manager — not in source code
- Sandbox credentials removed from the production environment
-
.envfile added to.gitignore
Authentication
- OAuth RSA-SHA256 signing implemented and tested against the live endpoint
- Control hash generation verified: correct field order, no separators, hex output
- Control hash tested for all currencies your integration uses
- No hard-coded
Authorizationheaders or control values - KEY PAIRS , The Private AND Public keys are created
Payin Integration
- Payin request tested for every target country with the correct
purposevalue - Rwanda
account_namefield included on all RW Payin requests - South Africa Payin sent without a
purposefield -
redirect_urlconfigured and tested — customer lands on the correct page after payment -
client_orderidis unique per transaction (use a UUID or prefixed sequence)
Payout Integration
- Payout request tested for every target country with the correct
purposevalue - Rwanda
account_namefield included on all RW Payout requests - South Africa Payout sent without a
purposefield - Cash menthod for EGP
Webhooks
-
server_callback_urlis publicly accessible over HTTPS - Callback endpoint returns HTTP
200within 10 seconds - Callback processing is asynchronous (acknowledge first, process in background)
- Idempotency implemented — duplicate
client_orderidcallbacks handled gracefully - Callback tested end-to-end: payment triggers callback, order status updates correctly
Error Handling
-
DECLINEDhandled without auto-retry; customer is notified -
PROCESSINGhandled — system awaits the webhook for the final status -
INVALID_CONTROL_CODEsurfaces an alert to your engineering team -
INVALID_REQUESTsurfaces an alert with the problematic field identified -
REQUEST_CANCELEDFor Terminated transactions -
TIMEOUTNetwork timeouts handled with a retry strategy using exponential backoff
Security
- All API calls use HTTPS
- Connect timeout set (≤ 30 s) and read timeout set (≤ 60 s)
- Sensitive fields (keys, signatures) excluded from logs
- Centiwise callback IPs allowlisted at the firewall level
- PCI DSS scope reviewed with your compliance team
Final Sign-Off
- End-to-end test run in production with a real low-value transaction
- Monitoring and alerting set up for failed callbacks and API errors
- Runbook or on-call procedure documented for payment failures
- Centiwise account manager notified that you are going live
- Share securely the PUBLIC KEY for Payout to be configured by Centiwise team on the Endpoints
Updated 5 months ago
Did this page help you?
