Skip to content

/create-payment

This endpoint immediately generates payment details and starts the verification process. Unlike /create, it allows specifying the cryptocurrency and network, and the API returns the exact payment details (address, amount, etc.) that the customer can pay instantly.

You can also provide optional merchant data (payload) and a webhook URL to receive payment status updates automatically. All required fields are validated, and the payment can start immediately after the request.

To check whether the payment has been paid, you can either:

  1. Send a request to the /info endpoint to retrieve the current status of the payment, or
  2. Specify a webhook URL when creating the payment and wait for the API to send status updates automatically.

  • Method: POST
  • URL: https://api.cru.cash/v1/invoice/create-payment
  • Headers: Authorization: Bearer YOUR_API_KEY_HERE
FieldJSON NameTypeRequiredDescription / Validation
Lifetime *lifetimeinttrueLifetime in minutes. Minimum 3, maximum 1440.
Crypto *cryptostringtrueCryptocurrency to receive. Examples: TON, USDT
Network *networkstringtrueNetwork for the chosen crypto. Examples: TON, TRC20
Currency *currencystringtrueFiat currency in which the payment amount is specified. Allowed values: RUB, USD, EUR.
Amount *amountstringtruePayment amount in fiat. Minimum: 100 RUB, 1 USD, 1 EUR. Maximum: 10,000,000.
PayloadpayloadstringfalseMerchant-provided data attached to the payment. Optional. Length: 5–16384 characters.
WebhookwebhookstringfalseWebhook URL for notifications. Optional. Must use HTTPS. Length: 10–2048 characters.
FieldJSON NameTypeDescription
Invoice IDinvoice_idstringUnique ID of the created payment.
Payment Addresspayment.addressstringCryptocurrency address where the customer should send the payment.
QR Code URLpayment.qr_codestringURL to a QR code
Amount to Paypayment.amount_to_paystringAmount in cryptocurrency that the customer must pay.
Crypto Currencypayment.cryptostringCryptocurrency selected for the payment.
Networkpayment.networkstringNetwork used for the selected cryptocurrency.
Expires Atpayment.expires_atintUnix timestamp when this payment expires.
Testing Modetest_modebooleanIndicates whether the payment was created in test mode.
HeaderValueDescription
AuthorizationBearer YOUR_API_KEY_HEREYour API key for authentication
{
"lifetime": 30,
"amount": "100",
"currency": "USD",
"webhook": "https://test-webhook.com",
"crypto": "TON",
"network": "TON",
"payload": "{\"product\":\"vpn_pro\",\"period\":30,\"user_id\":\"u_987654\",\"note\":\"Invoice for monthly VPN subscription\"}"
}
{
"invoice_id": "912f953a-ad8d-4b69-9d4f-0b8248b43f15",
"payment": {
"address": "UQCN6vbcgz-f4UVvCvfYUOe3h7pln7yTiJNCVxIgIzcoenQg",
"qr_code": "https://api.cru.cash/v1/payment/qr-code/912f953a-ad8d-4b69-9d4f-0b8248b43f15",
"amount_to_pay": "75.253",
"crypto": "TON",
"network": "TON",
"expires_at": 1770917295
},
"test_mode": false
}