Two-call REST API

Wire it in 5 minutes.

Drop a plugin onto your store or call our compact API directly. Everything is JSON, nothing is rate-limited at the door, and no API key is required.

Drop-in plugins

Click the platform you use. Install, paste your wallet, done.

๐Ÿ›’

WooCommerce

Adds a payment method to WooCommerce checkout. Supports classic checkout and Block-based checkout.

Download .zip โ†’

๐Ÿงฑ

PrestaShop

Native module. Drag-and-drop install through the back office.

Download .zip โ†’

๐Ÿงพ

WHMCS

Standard gateway module. Drop into /modules/gateways and activate from the admin panel.

Download .zip โ†’

API endpoints

Base URL: https://payforiptv.com/api. All responses are JSON with a status envelope.

GET /api/payment_options

Price-check available rails for a given amount and currency.

curl "https://payforiptv.com/api/payment_options?fiat_amount=50&fiat_currency=USD"
POST /api/checkout

Create a pending order. Returns a transaction_code and a checkout_url you can redirect your customer to.

curl -X POST "https://payforiptv.com/api/checkout" \
  -H "Content-Type: application/json" \
  -d '{
    "fiat_amount":        49.99,
    "fiat_currency":      "USD",
    "external_reference": "ORDER-1011",
    "webhook_url":        "https://yourshop.com/wp-json/wc/v3/...",
    "success_url":        "https://yourshop.com/checkout/thanks?o=1011",
    "cancel_url":         "https://yourshop.com/checkout/cancel?o=1011",
    "customer": {
      "wallet_address":          "0xYourMerchantWallet",
      "crypto_currency":         "USDC",
      "crypto_currency_network": "POLYGON"
    }
  }'

Response:

{
  "status": "success",
  "data": {
    "transaction_code": "a1b2c3d4-e5f6-4789-9abc-deadbeefcafe",
    "amount_in_usd":    49.99,
    "checkout_url":     "https://payforiptv.com/pay/a1b2c3d4-โ€ฆ",
    "payment_options":  [ ... ]
  }
}
GET /api/payment_link

Given a transaction code and a chosen rail slug, returns the JSON instructions needed to render the payment yourself (crypto rails return address+amount; fiat rails return redirect_url).

curl "https://payforiptv.com/api/payment_link?transaction_code=a1b2c3d4-โ€ฆ&payment_method=bitcoin"
GET /api/transaction

Look up the live status of an order. Use this to reconcile from your thank-you page when polling.

curl "https://payforiptv.com/api/transaction?transaction_code=a1b2c3d4-โ€ฆ"
๐Ÿ’ก The hosted checkout page lives at https://payforiptv.com/pay/<transaction_code> and is branded with your domain. Redirect your customers there after creating an order.

Webhooks

If you set webhook_url on a checkout call, we POST a JSON body when the payment lands. Reply 2xx within 8 seconds.

{
  "event":              "transaction.settled",
  "transaction_code":   "a1b2c3d4-โ€ฆ",
  "external_reference": "ORDER-1011",
  "fiat_amount":        49.99,
  "fiat_currency":      "USD",
  "received_usd":       49.99,
  "wallet_address":     "0xYourMerchantWallet",
  "wallet_currency":    "USDC",
  "wallet_network":     "POLYGON",
  "payout_dispatched":  true,
  "timestamp":          1736000000
}

Webhooks are fire-and-forget โ€” there is no retry. If your endpoint is offline, poll /api/transaction from your thank-you page to reconcile.