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

Name
Type
Example
Description

Authorization*

string

Token eyJ0eXAiOiJK<...>4npi1ksS8tSY

Project API key

Request Body

Key parameters

Name
Type
Example
Description

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

email

string

Payer’s email address

Optional parameters

add_fields — an object for passing additional data

Name
Type
Example
Description

add_fields

dict

{time_to_pay: {

"hours": 24, "minutes": 0

},

}

Additional parametres

circle-exclamation
Name
Type
Example
Description

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:

Name
Type
Example
Description

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?