Crypto payment gateway — accept BTC, ETH, USDC, EURC and more.
X-API-Key: <your-key>.Base URLs: https://crypay.com/api (mainnet), https://dev.crypay.com/api (testnet).
Create a new payment. Returns a link to redirect the customer to.
curl -X POST https://dev.crypay.com/api/payments \
-H 'Content-Type: application/json' \
-H 'X-API-Key: pk_xxx' \
-d '{
"amount": 9.99,
"currency": "EUR",
"reference": "ORDER-1234"
}'
# Response
{ "id": "5abvy58xgcg2", "link": "https://dev.crypay.com/payment/5abvy58xgcg2" }
amount — number, > 0. Payment amount in currency.currency — string. Fiat (EUR, USD, CZK, GBP, HUF) or crypto code (BTC, ETH, USDC, EURC, …).reference — string, optional. Your internal order reference.List payments for your merchant account. Supports query parameters: limit, offset, state.
curl https://dev.crypay.com/api/payments?limit=10 \
-H 'X-API-Key: pk_xxx'
List available payment options (BTC, ETH, USDC, EURC, …) for a payment.
Cancel a payment that hasn't been confirmed yet.
Crypay POSTs the following payload to your configured webhook URL when a payment changes state:
{
"id": "5abvy58xgcg2",
"reference": "ORDER-1234",
"state": "SUCCESS", // or "FAILED", "CANCELLED"
"amount": 9.99,
"currency": "EUR",
"transactionId": "0xabc..."
}
Verify the X-Crypay-Signature header — HMAC-SHA256 of the raw body using your webhook secret.
Issues / questions: crypay.com/contact