API v1
Merchant Login Get API Keys

Testing & Sandbox

Test payouts in the demo environment — no real money is transferred.

Demo Credentials

Merchant Loginmerchant@demo.com / merchant123
Wallet Balance₹50,000 (pre-loaded)
OTP123456
Test IP127.0.0.1

Test a Payout

Use your saved beneficiary's details; a new beneficiary must complete the configured validation flow before a payout is accepted.

curl -X POST 'https://paygo.sanvexo.in/api/v1/payout/create' -H 'X-API-Key: YOUR_KEY' -H 'X-Secret-Key: YOUR_SECRET' -H 'Content-Type: application/json' -d '{
"reference_id": "TEST-001",
"amount": 100,
"payout_mode": "imps",
"beneficiary_name": "Test User",
"beneficiary_account": "012345678901",
"beneficiary_ifsc": "HDFC0001234",
"beneficiary_bank": "HDFC Bank",
"beneficiary_mobile": "9876543210",
"account_type": "saving",
"remark": "Merchant payout"
}'
$payload = json_decode('{
"reference_id": "TEST-001",
"amount": 100,
"payout_mode": "imps",
"beneficiary_name": "Test User",
"beneficiary_account": "012345678901",
"beneficiary_ifsc": "HDFC0001234",
"beneficiary_bank": "HDFC Bank",
"beneficiary_mobile": "9876543210",
"account_type": "saving",
"remark": "Merchant payout"
}', true);
$ch = curl_init('https://paygo.sanvexo.in/api/v1/payout/create');
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Content-Type: application/json", "X-API-Key: YOUR_KEY", "X-Secret-Key: YOUR_SECRET"],
CURLOPT_POSTFIELDS => json_encode($payload)]);
$response = curl_exec($ch);
const response = await fetch("https://paygo.sanvexo.in/api/v1/payout/create", {
method: "POST", headers: {"Content-Type": "application/json",
"X-API-Key": process.env.PAYGO_API_KEY, "X-Secret-Key": process.env.PAYGO_SECRET_KEY},
body: JSON.stringify({
"reference_id": "TEST-001",
"amount": 100,
"payout_mode": "imps",
"beneficiary_name": "Test User",
"beneficiary_account": "012345678901",
"beneficiary_ifsc": "HDFC0001234",
"beneficiary_bank": "HDFC Bank",
"beneficiary_mobile": "9876543210",
"account_type": "saving",
"remark": "Merchant payout"
})
});
const result = await response.json();
{
"reference_id": "TEST-001",
"amount": 100,
"payout_mode": "imps",
"beneficiary_name": "Test User",
"beneficiary_account": "012345678901",
"beneficiary_ifsc": "HDFC0001234",
"beneficiary_bank": "HDFC Bank",
"beneficiary_mobile": "9876543210",
"account_type": "saving",
"remark": "Merchant payout"
}

Simulate Payout Result

  1. Note payout_id from the create response
  2. Open https://paygo.sanvexo.in/payout/simulate/{payout_id}
  3. Click Simulate Success or Simulate Failure
  4. Webhook fires to your configured URL

Test Scenarios

ScenarioExpected
Successful payoutStatus success, webhook payout.success
Failed payoutStatus failed, wallet refunded, webhook payout.failed
Insufficient balanceHTTP 402
Duplicate reference_idHTTP 409