Configuration
Environments & Testing
DGS-Pay operates two isolated environments. The sandbox mimics production exactly but uses simulated money — no real funds move. When you are ready to go live, simply swap the base URL. Credentials are environment-specific and must not be mixed.
Sandbox / Test
https://test.pay.digitalservicescenter.rw/generation/v2
Production / Live
https://pay.digitalservicescenter.rw/generation/v2
Merchant Portal
Access your dashboard at
https://pay.digitalservicescenter.rw/smart-merchant/ — the same portal serves both environments via environment tabs.
Simulating Scenarios with scenario_key
In sandbox, you can force specific outcomes by including a scenario_key field in your request body. This saves you from needing real cards, phones, or network responses to test your integration logic.
| Scenario Type | Allowed Values | What it simulates |
|---|---|---|
| Card Authorization | scenario:auth_pinscenario:auth_pin_3dsscenario:auth_3dsscenario:auth_avs |
Forces the charge response to require PIN, 3DS, AVS, or combined auth. |
| Issuer Responses | issuer:approvedissuer:insufficient_fundsissuer:incorrect_pinissuer:expired_cardissuer:invalid_cvvissuer:do_not_honorissuer:system_error |
Simulates the card bank's response after you authorize. |
| Mobile Money | scenario:auth_pinscenario:auth_redirect |
auth_pin = payment auto-approved. auth_redirect = redirect flow triggered. |
| Transfers / Disbursements | scenario:successfulscenario:insufficient_balancescenario:invalid_currency |
Simulates outcomes of wallet disbursements. |
Example — Approved Card in Sandbox
JSON — Request Body (append to normal card payload)
{
"scenario_key": "scenario:auth_pin&issuer:approved",
}