Back to Home

VolgaPay API Documentation

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.

How It Works

Standard Integration

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).

Create Wallet

This endpoint retrieves wallet control information by generating a temporary encrypted receiving wallet address.

GET https://api.volgapay.com/control/wallet.php

Request Parameters

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.

Example Request

curl
curl --location 'https://api.volgapay.com/control/wallet.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forders.php%3Fnumber%3D8271468415326'
Response 200 OK
json
{
  "address_in": "eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b...",
  "polygon_address_in": "0x756C4D5EAad2165b3841a543Cf851Eed6AAF211B",
  "callback_url": "https://www.example.com/orders.php?number=8271468415326",
  "ipn_token": "ZEE2cW8zb1N0N2otZEc3eHh3MDNUU1lTMEExYmVvcDBVNl..."
}

Response Fields

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.

Process Payment

This endpoint redirects the customer to the payment page. Treat this as the payment URL that your CMS should pass all required parameters to.

GET https://checkout.volgapay.com/process-payment.php

Request Parameters

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.

Example Request

curl
curl --location 'https://checkout.volgapay.com/process-payment.php?address=eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b1eeIJLTr9Lho64fJTIeOfgsnJNNc%2FarqtR1jw%3D%3D&amount=103.78&provider=moonpay&email=john%40example.com&currency=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.

Multi-provider Mode

This endpoint redirects the customer to a hosted page with multi-provider selection. Options are based on customer location, payment amount, and currency.

GET https://checkout.volgapay.com/pay.php

Required Parameters

Parameter Description
addressRequired Encrypted address_in from wallet creation.
amountRequired Order total amount.
emailRequired URL-encoded customer email.
currencyRequired Currency code (USD, EUR, CAD).

Optional Parameters (White-label)

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.

Example Request

curl
curl --location 'https://checkout.volgapay.com/pay.php?address=eE5A43DAkczRwxoW3IL7sGsRh6CiMx4kkTCccr6n%2FYMTGhy9b1eeIJLTr9Lho64fJTIeOfgsnJNNc%2FarqtR1jw%3D%3D&amount=103.78&email=john%40example.com&currency=USD'

List All Providers

Returns a full list of available payment providers with their minimum order values and status.

GET https://api.volgapay.com/control/provider-status

Example Request

curl
curl --location 'https://api.volgapay.com/control/provider-status'

Response Fields

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.

Available Providers

Wert.io
Min: $1 USD
Active
Stripe (USA)
Min: $2 USD
Active
ramp.network
Min: $4 USD
Active
Robinhood (USA)
Min: $5 USD
Active
Revolut (EU/EEA)
Min: 6 EUR
Active
MoonPay
Min: $20 USD
Active
Transak
Min: $15 USD
Active
Binance Connect
Min: $15 USD
Active
Simplex
Min: $50 USD
Active
Banxa
Min: $20 USD
Active
UPI/IMPS
Min: 1600 INR
Active
Interac
Min: $100 CAD
Active

Affiliate System

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.

Use Cases

Instant approval and instant payouts for all. Generated receiving wallets automatically distribute payouts per the set commission percentage.

Affiliate Create Wallet

Use this endpoint to white-label the payment gateway and earn commission on every sale by passing your affiliate wallet as an extra parameter.

GET https://api.volgapay.com/control/affiliate.php

Request Parameters

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.

Example Request

curl
curl --location 'https://api.volgapay.com/control/affiliate.php?address=0xF977814e90dA44bFA03b6295A0616a897441aceC&callback=https%3A%2F%2Fwww.example.com%2Forder%3Fnumber%3D82176413628089&affiliate=0x3c783c21a0383057D128bae431894a5C19F9Cf06'

Custom Affiliate Commission

For advanced white-labeling with custom commission distribution between merchant and affiliate wallets.

GET https://api.volgapay.com/control/custom-affiliate.php

Request Parameters

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.

Example Request

curl
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'

Sub-Affiliate

For advanced setups with merchant, affiliate, and sub-affiliate commission distribution.

GET https://api.volgapay.com/control/custom-sub-affiliate.php

Request Parameters

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%).

Example Request

curl
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

Mass Payout

Split payouts across up to 19 wallets. Useful for multiple wallet mass payouts, advanced rebrand, and variable fees per merchant.

POST https://api.volgapay.com/control/mass-payout.php

Request Body (JSON)

json
{
  "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.

Example Request

curl
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

Currency Conversion

Some providers (wert, Stripe, Transfi, rampnetwork) support USD only. Use this endpoint to convert amounts to USD.

GET https://api.volgapay.com/control/convert.php

Request Parameters

Parameter Description
fromRequired Currency code to convert from (e.g., EUR, SEK).
valueRequired Amount to convert.

Example Request

curl
curl --location 'https://api.volgapay.com/control/convert.php?from=EUR&value=1258.31'
Response 200 OK
json
{
  "status": "success",
  "value_coin": "1351.76",
  "exchange_rate": "1.07427"
}

Callback Event

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.

Callback Parameters

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.

Example Callback

url
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

Check Payment Status

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.

GET https://api.volgapay.com/control/payment-status.php

Request Parameters

Parameter Description
ipn_tokenRequired The IPN token received from the wallet creation step.

Example Request

curl
curl --location 'https://api.volgapay.com/control/payment-status.php?ipn_token=YOUR_IPN_TOKEN'
Response 200 OK
json
{
  "status": "paid",
  "value_coin": "117.59",
  "txid_out": "0xe85ed56174785b0bb9fcb522655f961675ad236...",
  "coin": "polygon_usdc"
}

Response Fields

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).