Invoice-based crypto payment processing with plugins for WooCommerce, OpenCart and WHMCS.
Overview
The Merchant API lets you sell products and accept crypto payments without complex code. Create an invoice, redirect your customer to pay, and get notified by email and/or callback once the payment is confirmed.
- Payments are forwarded according to your vendor settings
- Crypto rates are valid for 30 minutes
- A small fee is deducted before forwarding, including a network fee
- Minimum transaction size: 1 unit of your fiat currency
Plugin Installation
- Download the plugin from the checkout plugins page for your CMS
- Register for a merchant account if you haven't already
- Follow the installation guide for your platform:
With plugins, the invoice creation and customer redirect is handled automatically.
Supported Fiat Currencies
USD, EUR, GBP, AUD, CHF, CAD and others. Rates are updated every 5 minutes.
Generating Invoices
Setup
- Register for a merchant account
- Go to the Vendor page and create your Vendor ID
- Fill in all required fields - you'll receive your Vendor ID and Secret Key by email
Need help incorporating the Merchant API into your system? Contact us or reach out on Discord.
API Request
To create an invoice, send a POST request:
URL: https://litepay.ch/p/
Method: POST
| Parameter | Required | Description |
|---|---|---|
| vendor | Yes | Your Vendor ID |
| invoice | Yes | Invoice number you generated |
| secret | Yes | Secret Key to confirm your identity |
| price | Yes | Invoice price |
| callbackUrl | Yes | URL to receive payment notifications (URL-encoded) |
| returnUrl | Yes | URL to redirect the customer after payment (URL-encoded) |
| currency | No | Invoice currency (defaults to USD) |
| No | Buyer's email address | |
| redirect | No | Set to true to redirect directly to the invoice page instead of returning a JSON response |
API Response
Success:
{
"status": "success",
"url": "https://litepay.ch/v2/i/a101432f-5f33-5f37-9537-a7b69992dae2"
}
Redirect your customer to the returned url to complete payment. Alternatively, pass redirect=true in your request and the API will redirect to the invoice page automatically - no need to handle the response.
Error:
{
"status": "error",
"message": "You did not send the vendor / invoice / secret / price / callbackUrl / returnUrl, try again."
}
Order IDs
Our system generates a unique order ID for every invoice created, so you can reuse the same invoice number for testing and each request will produce a new order.
Email Notifications
Once an invoice is paid, you receive an email confirmation:
Example email
Subject: [LitePay.ch] Merchant | Invoice has been paid!
Invoice #00000
Payment information:
Service used: LTC
Address: ltc1qfwgkfdfyts3s6ezw35qx6jtw4xluc641341
Amount: 0.21366320 LTC / 7.00 EUR
Rate: 47.99 EUR/LTC
Payment time: 2026-01-06 04:26:20
Callback
The callback is sent once the payment has been received and has the necessary number of confirmations.
Cloudflare & Firewall
If you use Cloudflare or a firewall, make sure our GET requests are allowed. Whitelist our IPs: 185.66.143.156 and 185.66.142.132
Address Expiration
Crypto addresses expire once the invoice has been paid. Unpaid invoices expire 30 days after creation.
Incomplete Payments
If a customer sends less than the required amount and doesn't follow up, you can contact us at info@litepay.ch with your payment details and we will process a refund within 30 days.
Note
Incomplete payments not claimed within 30 days are considered donations.