Developers

Payment gateway API for cards and crypto

Accept cards, Apple Pay, PayPal, Revolut and crypto through one REST API. JSON in, JSON out, signed webhooks, test keys — and an endpoint that works even without an account.

In short

The UTOPAY API creates a payment and returns a checkout_url for the buyer. Card and wallet payments are converted to USDC and sent to your wallet (4.5% all-in); crypto payments go straight to your wallet (1.5% + network fee). Every state change is delivered by a signed webhook. Base URL: https://api.utopay.app.

Style
REST + JSON
Auth
Bearer secret key
Without account
POST /v1/pay, /v1/crypto/pay
Webhooks
HMAC-SHA256 signed
Test mode
utopay_sk_test_…

Endpoints at a glance

EndpointAuthPurpose
POST /v1/paymentssecret keyCreate a card or wallet payment
POST /v1/pay—Create a payment without an account (with a payout wallet)
POST /v1/crypto/paymentssecret keyCreate a crypto payment
POST /v1/crypto/pay—Crypto payment without an account
GET /v1/payments/:idsecret keyPayment status
GET /v1/paymentssecret keyList payments
GET /v1/providers—Payment methods available for an amount and currency
GET /v1/crypto/coins—Coins, networks and minimums of the crypto gateway
GET /v1/currencies—Accepted fiat currencies

Full reference with every field, error and example: API documentation.

Create a payment

Send the amount and currency; optionally pin a method with provider (for example stripe for cards and Apple Pay, paypal, revolut or transak for UPI). Redirect the buyer to checkout_url.

curl -X POST https://api.utopay.app/v1/payments \
  -H "Authorization: Bearer utopay_sk_live_..." \
  -H "content-type: application/json" \
  -d '{ "amount": 49.90, "currency": "EUR", "description": "Order #1042",
        "success_url": "https://shop.example/thanks" }'

# → { "id": "ord_…", "status": "pending",
#     "checkout_url": "https://api.utopay.app/pay/ord_…" }

Confirm with webhooks

Register an endpoint in the dashboard. UTOPAY sends payment.succeeded, payment.underpaid, payment.expired and payment.failed with an x-utopay-signature header (HMAC-SHA256 over the timestamp and raw body). Retries run for about seven hours. Verification examples for Node.js, PHP and Python are in the webhook docs.

No-code and low-code options

  • Payment links — create a link in the dashboard and share it; no code at all. See payment links.
  • CMS plugins — WooCommerce, WHMCS, OpenCart, PrestaShop, MODX, Easy Digital Downloads, Paid Memberships Pro and Tilda. See plugins.
  • Test mode — test keys create orders that never touch real money, and you can simulate statuses from the dashboard.

Updated · UTOPAY team

FAQ

Payment gateway API — FAQ

Is there a free payment gateway API?

There are no setup or monthly fees: you pay only per successful payment — 4.5% for cards and wallets, 1.5% for crypto. API access, test mode and plugins are free.

Can I use the API without registering?

Yes. POST /v1/pay and POST /v1/crypto/pay accept a payout wallet address instead of an API key.

Which languages are supported?

Any language that can send HTTPS requests with JSON. The documentation has examples in cURL, Node.js, PHP and Python.

How do I receive the money?

Card payments are converted to USDC on Polygon and sent to your wallet; crypto payments are forwarded to your wallet in the same coin.

Keep reading

Make your first API payment today

Create payments without an account, or open a free account for API keys, payment links, webhooks and Telegram alerts.