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
Description

time_to_pay

dict

{ "hours": 24, "minutes": 0 }

Invoice lifetime

Invoice due time

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

Payment currencies

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.

Select the payment currency for the user. The details will be displayed on the payment page when specifying the currency. The address will be given in response to the request.

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?