Invoice Creation
The method allows you to create an invoice for a customer using a POST request.
In order to create an invoice, you need to send a POST request.
What the method allows you to do
Creates a unique invoice
Returns a payment link or payment details
Allows you to pass additional data
Endpoint
POST https://api.cryptocloud.plus/v2/invoice/create
Headers
Authorization*
string
Token eyJ0eXAiOiJK<...>4npi1ksS8tSY
Project API key
Request Body
Key parameters
shop_id*
string
NGpD44<...>KXRdQ
Unique identifier of the store from personal account
amount*
float
100
Payment amount in USD
currency
string
USD
Available conversion currencies:
USD, UZS, KGS, KZT, AMD, AZN, BYN, AUD, TRY, AED, CAD, CNY, HKD, IDR, INR, JPY, PHP, SGD, THB, VND, MYR, RUB, UAH, EUR, GBP.
The default currency is USD.
order_id
string
ORDER_93223
Custom invoice number in the external system
Optional parameters
add_fields — an object for passing additional data
add_fields
dict
{time_to_pay: {
"hours": 24, "minutes": 0
},
}
Additional parametres
Optional parameters must be passed within the add_fields object.
time_to_pay
dict
{ "hours": 24, "minutes": 0 }
Invoice lifetime
available_currencies
list[string]
[ "USDT_TRC20", "ETH", "BTC" ]
Available payment currencies:
BTC, LTC, TRX, SOL, TON, BNB, ETH, ETH_ARB, ETH_BASE, ETH_OPT, USDT_ARB, USDT_BSC, USDT_ERC20, USDT_OPT, USDT_SOL, USDT_TON, USDT_TRC20, USDC_ARB, USDC_BASE, USDC_BSC, USDC_ERC20, USDC_OPT, USDC_SOL, DAI_ARB, DAI_BASE, DAI_BSC, DAI_ERC20, DAI_OPT, USDD_TRC20, PYUSD_ERC20, PYUSD_SOL, XAUT_ERC20, XAUT_TON, ARB_ARB, OP_OPT, PEPE_BSC, PEPE_ERC20, SHIB_BSC, SHIB_ERC20, TRUMP_SOL
cryptocurrency
string
ETH
Selecting the payment currency on behalf of the user.
If a currency is specified, the payment page will display the payment details without a currency selection option.
The address and amount will also be returned in the API response.
Request examples
These examples show how to send a request to create an invoice. Note that you must provide your API key in the Authorization header to successfully authorize the request.
Response examples
A successful request returns a response with the status success and a result object.
Response parameters
The result object contains:
uuid
string
INV-89UX09KA
Unique invoice identifier with the INV prefix
created
string
2026-01-01 12:00:00.000000
Invoice creation time in UTC+0 format: YYYY-MM-DD HH:MI:SS.FFFFFF
address
string
0xb07427<...>E93D3846ee58B63
Payment address
Will be prefilled only if a cryptocurrency for payment is selected.
To select the currency on behalf of the customer, specify a project-supported currency in add_fields.cryptocurrency.
expiry_date
string
2026-01-02 12:00:00.000000
Invoice expiration date in UTC+0 format: YYYY-MM-DD HH:MI:SS.FFFFFF.
After the expiration time, the invoice status will change to canceled if payment has not been received.
side_commission
string
client
Transfer fee payer
side_commission_cc
string
client
Service fee payer
amount
float
0.033366
Invoice amount in the selected cryptocurrency
amount_usd
float
100.0
Invoice amount in USD
amount_in_fiat
float
100.0
Invoice amount in the creation currency (depends on the currency parameter)
fee
float
4.500000159168849e-06
Invoice transfer fee
fee_usd
float
0.01
Invoice transfer fee in USD
service_fee
float
0.000634
Service fee
service_fee_usd
float
1.9
Service fee in USD
fiat_currency
string
USD
Fiat currency code in which the invoice was created
status
string
created
Invoice status
When a create-invoice request is sent, the status is always created.
Other possible statuses: paid (paid), partial (partially paid), overpaid (overpaid), and canceled (canceled).
is_email_required
bool
false
Parameter for requiring the payer’s email in the invoice
link
string
pay.cryptocloud.plus/89UX09KA
Link to the invoice page
currency
dict
"currency": {
"id": 3,
"code": "ETH",
"fullcode": "ETH",
"network": {
"code": "ERC20",
"id": 3,
"icon": "https://cdn.cryptocloud.plus/img/network/ERC.svg",
"fullname": "Ethereum"
},
"name": "Ethereum",
"is_email_required": false,
"stablecoin": false,
"icon_base": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",
"icon_network": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",
"icon_qr": "https://cdn.cryptocloud.plus/img/stroke/ETH_STROKE.svg",
"order": 9
}
Object of the selected cryptocurrency in the invoice.
Also contains the network object — information about the selected currency network.
project
dict
"project": {
"id": 0,
"name": "MyShop",
"fail": "https://test.com/failed-payment",
"success": "https://test.com/successful-payment",
"logo": "https://static.cryptocloud.plus/logo/logo.jpg"
}v
Object containing project information
test_mode
bool
false
Test invoice sign
Last updated
Was this helpful?