provider: sandbox.
Calling app sends POST /api/initiate.php with provider: "sandbox". Returns status: pending.
Transaction shows up in the Pending table above with all its details and the callback URL.
Click Approve to simulate customer confirming on their phone. Click Decline to simulate cancellation.
CironetPay immediately fires POST to the node's webhook URL — identical to a real MTN/Airtel callback.
Calling app receives {ref, amount, status} signed with HMAC-SHA256 and activates the service.
Sample initiate.php request
POST /api/initiate.php
X-CironetPay-Key: YOUR_NODE_KEY
{
"amount": 50000,
"currency": "UGX",
"provider": "sandbox",
"external_id": "REG-1234567",
"payer_data": { "phone": "256700000000" }
}