This publicly available API provided by VolgaPay allows you to generate payment links anonymously without KYC. You can accept Credit/debit cards (including MasterCard, Visa, and Maestro), Apple Pay, Google Pay, SEPA or ACH local bank transfer.
You will receive instant payouts to your USDC (Polygon) wallet address once the customer pays using the link.
No signup required. No KYC. Instant approval and instant payouts.
Create a temporary encrypted wallet address by passing your unique callback URL and USDC (Polygon) payout wallet.
Redirect the customer to the payment page with the encrypted wallet address and payment details.
Standard integration is for merchants who want to use the VolgaPay credit card system directly. You only need a valid crypto EVM wallet to access the system - it should be a self-custodial wallet to avoid any possible payout issues.
The TrustWallet SWIFT option is recommended for beginners who don't understand how crypto works, as it provides a single wallet address to receive all coins.
You must use the API to create a unique encrypted wallet (address_in) for each customer. Avoid reusing the same link for multiple customers otherwise it will get blocked.
Creating a unique wallet requires passing a unique callback link with each request. Make sure links have a unique GET parameter value (e.g., a unique order number or invoice ID).
This endpoint retrieves wallet control information by generating a temporary encrypted receiving wallet address.
https://api.volgapay.com/control/wallet.php
| Parameter | Description |
|---|---|
| addressRequired | The wallet address to receive instant payouts. Must be a valid USDC (Polygon) address. |
| callbackRequired | URL-encoded callback URL where payment confirmation will be sent via GET request. Must include at least one unique GET parameter. |
curl --location 'https://api.volgapay.com/control/wallet.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forders.php%3Fnumber%3D8271468415326'
{
"address_in": "eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b...",
"polygon_address_in": "0x756C4D5EAad2165b3841a543Cf851Eed6AAF211B",
"callback_url": "https://www.example.com/orders.php?number=8271468415326",
"ipn_token": "ZEE2cW8zb1N0N2otZEc3eHh3MDNUU1lTMEExYmVvcDBVNl..."
}
| Field | Description |
|---|---|
| address_in | Encrypted wallet address to pass to the payment link generator in step 2. |
| polygon_address_in | Decrypted receiving address for payment tracking. Cannot be passed directly to step 2. |
| callback_url | Decoded callback URL for confirmation. |
| ipn_token | Token for support team to track payments and investigate failed callbacks. |
This endpoint redirects the customer to the payment page. Treat this as the payment URL that your CMS should pass all required parameters to.
https://checkout.volgapay.com/process-payment.php
| Parameter | Description |
|---|---|
| addressRequired | The encrypted address_in from the Create Wallet step. Passing your payout wallet directly will result in 400 error. |
| amountRequired | Amount for customer to pay (e.g., 105.78). This should be the order total. |
| providerRequired | Provider ID from the provider status endpoint (e.g., moonpay, stripe, wert). |
| emailRequired | URL-encoded customer email address. |
| currencyRequired | Currency code (e.g., USD, EUR, CAD). |
stripe, transfi, robinhood and bitnovo providers need values in USD only. upi is INR only. interac is CAD only.
curl --location 'https://checkout.volgapay.com/process-payment.php?address=eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b1eeIJLTr9Lho64fJTIeOfgsnJNNc%2FarqtR1jw%3D%3D&amount=103.78&provider=moonpay&email=john%40example.com¤cy=USD'
You are not allowed to use the payment link within an embedded iframe. Users must be redirected to the licensed payment provider page directly.
This endpoint redirects the customer to a hosted page with multi-provider selection. Options are based on customer location, payment amount, and currency.
https://checkout.volgapay.com/pay.php
| Parameter | Description |
|---|---|
| addressRequired | Encrypted address_in from wallet creation. |
| amountRequired | Order total amount. |
| emailRequired | URL-encoded customer email. |
| currencyRequired | Currency code (USD, EUR, CAD). |
| Parameter | Description |
|---|---|
| domainOptional | Custom domain for white-labeling (e.g., checkout.example.com). |
| logoOptional | URL-encoded image URL for brand logo on checkout page. |
| backgroundOptional | HEX color code or CSS color name for background. |
| themeOptional | HEX color code or CSS color name for theme. |
| buttonOptional | HEX color code or CSS color name for buttons. |
curl --location 'https://checkout.volgapay.com/pay.php?address=eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b1eeIJLTr9Lho64fJTIeOfgsnJNNc%2FarqtR1jw%3D%3D&amount=103.78&email=john%40example.com¤cy=USD'
Returns a full list of available payment providers with their minimum order values and status.
https://api.volgapay.com/control/provider-status
curl --location 'https://api.volgapay.com/control/provider-status'
| Field | Description |
|---|---|
| id | Provider ID for the &provider= parameter. |
| provider_name | Human-readable provider name. |
| status | Provider status (active, unstable, redirected). |
| minimum_currency | Currency of minimum order amount. |
| minimum_amount | Minimum order amount for this provider. |
The affiliate system works the same way as the standard integration but allows sending and distributing payouts to multiple wallets. This is controlled at the encrypted wallet creation step.
Instant approval and instant payouts for all. Generated receiving wallets automatically distribute payouts per the set commission percentage.
Use this endpoint to white-label the payment gateway and earn commission on every sale by passing your affiliate wallet as an extra parameter.
https://api.volgapay.com/control/affiliate.php
| Parameter | Description |
|---|---|
| addressRequired | Merchant's USDC (Polygon) wallet address. |
| callbackRequired | URL-encoded callback URL with unique parameter. |
| affiliateRequired | Affiliate's USDC (Polygon) wallet address. Must be different from merchant wallet. |
curl --location 'https://api.volgapay.com/control/affiliate.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forder%3Fnumber%3D82176413628089&affiliate=0x3c783c21a0383057D128bae431894a5C19F9Cf06'
For advanced white-labeling with custom commission distribution between merchant and affiliate wallets.
https://api.volgapay.com/control/custom-affiliate.php
| Parameter | Description |
|---|---|
| addressRequired | Merchant wallet address. |
| callbackRequired | URL-encoded callback URL. |
| affiliateRequired | Affiliate wallet address. |
| affiliate_feeRequired | Percentage for affiliate (e.g., 0.01 = 1%). |
| merchant_feeRequired | Percentage for merchant (e.g., 0.91 = 91%). |
The sum of affiliate_fee and merchant_fee must always be 0.92 (VolgaPay processing fee is 8%). If not 0.92, the request will fail.
curl --location 'https://api.volgapay.com/control/custom-affiliate.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forder%3Fnumber%3D82173313628090&affiliate=0x3c783c21a0383057D128bae431894a5C19F9Cf06&affiliate_fee=0.01&merchant_fee=0.91'
For advanced setups with merchant, affiliate, and sub-affiliate commission distribution.
https://api.volgapay.com/control/custom-sub-affiliate.php
| Parameter | Description |
|---|---|
| addressRequired | Merchant wallet address. |
| callbackRequired | URL-encoded callback URL. |
| affiliateRequired | Affiliate wallet address. |
| sub_affiliateRequired | Sub-affiliate wallet address. |
| affiliate_feeRequired | Percentage for affiliate. |
| sub_affiliate_feeRequired | Percentage for sub-affiliate. |
| merchant_feeRequired | Percentage for merchant. |
Sum of affiliate_fee + sub_affiliate_fee + merchant_fee must always be 0.92 (VolgaPay processing fee is 8%).
curl --location 'https://api.volgapay.com/control/custom-sub-affiliate.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forder%3Fnumber%3D82173313628090&affiliate=0x3c783c21a0383057D128bae431894a5C19F9Cf06&sub_affiliate=0x89630237D79B49Ba90c485AA7F8003D23F76c64b&affiliate_fee=0.02&sub_affiliate_fee=0.01&merchant_fee=0.89'
In this example: affiliate receives 2%, sub-affiliate receives 1%, merchant receives 89%. Total distributed: 0.02 + 0.01 + 0.89 = 0.92
Split payouts across up to 19 wallets. Useful for multiple wallet mass payouts, advanced rebrand, and variable fees per merchant.
https://api.volgapay.com/control/mass-payout.php
{
"callback": "https://www.example.com/order/?invoice=unique_invoice_id",
"fees": {
"0x89630237D79B49Ba90c485AA7F8003D23F76c64b": 0.01,
"0xa557CEC455324d3A665491cFE85F0e88030D8775": 0.04,
"0x026BEB2e88989beBC5e4Dabf957CAEC8999a2277": 0.06,
"0xc08A4D184A021385b787c7881eEd73B2d379e796": 0.30,
"0xF977814e90dA44bFA03b6295A0616a897441aceC": 0.51
}
}
Total fees for all wallets must always be 0.92 (representing 92% of payout, as VolgaPay processing fee is 8%).
Above example shows 5 wallets: 1% + 4% + 6% + 30% + 51% = 92%. You can split distributions any way you prefer as long as total equals 0.92.
curl --location 'https://api.volgapay.com/control/mass-payout.php' \
--header 'Content-Type: application/json' \
--data '{
"callback": "https://www.example.com/order/?invoice=unique123",
"fees": {
"0x89630237D79B49Ba90c485AA7F8003D23F76c64b": 0.01,
"0xF977814e90dA44bFA03b6295A0616a897441aceC": 0.91
}
}'
Simple 2-wallet example: affiliate receives 1%, merchant receives 91%. Total: 0.01 + 0.91 = 0.92
Some providers (wert, Stripe, Transfi, rampnetwork) support USD only. Use this endpoint to convert amounts to USD.
https://api.volgapay.com/control/convert.php
| Parameter | Description |
|---|---|
| fromRequired | Currency code to convert from (e.g., EUR, SEK). |
| valueRequired | Amount to convert. |
curl --location 'https://api.volgapay.com/control/convert.php?from=EUR&value=1258.31'
{
"status": "success",
"value_coin": "1351.76",
"exchange_rate": "1.07427"
}
When a payment is made, our bot will visit your callback URL using GET request method. All your original parameters will be included plus payment data.
| Parameter | Description |
|---|---|
| value_coin | Amount of USDC paid by the provider. |
| coin | Payout coin type (usually polygon_usdc or polygon_usdt). |
| txid_in | Polygon TXID of payment from provider to order wallet. |
| txid_out | Instant payout TXID from order wallet to your merchant wallet. |
| address_in | Should match the polygon_address_in from step 1. |
| value_forwarded_coin | Total amount forwarded to merchant and affiliates. |
https://www.example.com/orders.php?number=827746841326
&value_coin=105.6
&coin=polygon_usdc
&txid_in=0xa22a82b4aefbc55f6382e1b5c0b4f0e3c034a654...
&txid_out=0x94c2c3e84c2021e6bf377aebf8abf03b49570611...
&address_in=0x32e854bD1270670C832634CA87858fFd9F3e2c78
&value_forwarded_coin=104.016
Use this endpoint to check the payment status when needed.
This endpoint is for casual use only. Do not rely on it to change order status - use the Callback Event instead to avoid rate limiting.
https://api.volgapay.com/control/payment-status.php
| Parameter | Description |
|---|---|
| ipn_tokenRequired | The IPN token received from the wallet creation step. |
curl --location 'https://api.volgapay.com/control/payment-status.php?ipn_token=YOUR_IPN_TOKEN'
{
"status": "paid",
"value_coin": "117.59",
"txid_out": "0xe85ed56174785b0bb9fcb522655f961675ad236...",
"coin": "polygon_usdc"
}
| Field | Description |
|---|---|
| status | Payment status (paid or unpaid). |
| value_coin | Amount of crypto sent by provider. |
| txid_out | TXID of payout transaction on blockchain. |
| coin | Payout coin type (usually polygon_usdc). |