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

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":"1234567890","beneficiary_ifsc":"HDFC0001234"}'
$payload = [
"reference_id" => "TEST-001",
"amount" => 100,
"payout_mode" => "imps",
"beneficiary_name" => "Test User",
"beneficiary_account" => "1234567890",
"beneficiary_ifsc" => "HDFC0001234",
];

$ch = curl_init("https://paygo.sanvexo.in/api/v1/payout/create");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: YOUR_KEY",
"X-Secret-Key: YOUR_SECRET",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
const response = await fetch("https://paygo.sanvexo.in/api/v1/payout/create", {
method: "POST",
headers: {
"X-API-Key": process.env.PAYGATE_API_KEY,
"X-Secret-Key": process.env.PAYGATE_SECRET_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
reference_id: "TEST-001",
amount: 100,
payout_mode: "imps",
beneficiary_name: "Test User",
beneficiary_account: "1234567890",
beneficiary_ifsc: "HDFC0001234",
}),
});
const data = await response.json();
import java.net.*;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"reference_id\":\"" . $referenceId . "\",\"amount\":" . $amount . ",\"payout_mode\":\"imps\",\"beneficiary_name\":\"" . $beneficiaryName . "\",\"beneficiary_account\":\"1234567890\",\"beneficiary_ifsc\":\"HDFC0001234\"" . $beneficiaryIdJava . "}";

HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://paygo.sanvexo.in/api/v1/payout/create"))
.header("X-API-Key", "YOUR_KEY")
.header("X-Secret-Key", "YOUR_SECRET")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();

HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString()
);

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