创建发票
要求
查询参数
姓名 | 参数类型 | 默认值 | 定义 |
---|---|---|---|
amount* | string | 该付的钱。如果金额中有便士,请与分离器一起发送。 示例:10.28 | |
currency* | string | 货币代码 | |
order_id* | stringmin: 1max: 128alpha_dash | 在您的系统中订购ID该参数应是由字母字符,数字,下划线和破折号组成的字符串。它不应包含任何空间或特殊字符。 order_id 必须在商人发票/静态钱包/复发付款中是唯一的当我们找到具有 order_id 的现有发票时,我们返回其详细信息,将不会创建新的发票。 | |
network | string | null | 区块链网络代码 |
url_return | stringmin: 6max: 255url | null | 在付款之前,用户可以单击付款表上的按钮,然后在此URL上返回商店页面。 |
url_success | stringmin: 6max: 255url | null | 成功付款后,用户可以单击付款表上的按钮并返回此URL。 |
url_callback | stringmin: 6max: 255url | null | 将发送具有付款状态的Webhooks的URL |
is_payment_multiple | boolean | true | 是否允许用户支付剩余金额。当用户没有为一笔交易支付全部发票金额时,这很有用,您希望让他全额支付。如果禁用此功能,则发票将在收到第一个付款后最终确定,您将获得余额的资金。 |
lifetime | integermin: 300max: 43200 | 3600 | 发行发票的寿命(以秒为单位) |
to_currency | string | 该参数用于指定转换发票金额的目标货币。创建发票时,您会提供金额和货币,而API将将该金额转换为to_currency中的等效值。例如,在比特币中创建20美元的发票: amount:20 currency:usd to_currency :BTCAPI将根据当前汇率将20美元的金额转换为BTC中的同等金额,用户将在BTC中付款 to_currency 应始终是加密货币代码,而不是法定货币代码。 | |
subtract | integermin: 0max: 100 | 0 | 向客户收取的付款委员会的百分比如果您的税率为1%,那么如果您创建了100美元的发票= 100(客户支付100%的佣金),则客户将不得不支付101 USDT。 |
accuracy_payment_percent | numericmin: 0max: 5 | 0 | 可接受的付款不准确。例如,如果您通过值5,即使客户仅支付了95%的金额,发票也将被标记为已支付。实际付款金额将记入余额 |
additional_data | stringmax: 255 | null | 给您的其他信息(未显示给客户) |
currencies | array | 使用商家设置中可用货币的数组(如果未设置参数,则默认使用所有受支持的加密货币)。可用的货币设置在商户设置部分。 | 允许付款的货币清单。如果您想限制客户可以用来支付发票的硬币列表,这将很有用。 结构 |
except_currencies | array | null | 付款的排除货币清单 结构 |
course_source | stringmin: 4max: 20可用值• Binance• BinanceP2P• Exmo• Kucoin | 如果未通过,则使用加密汇率。 | 从发票中采取汇率进行转换的服务。 |
from_referral_code | string | null | 提出该请求的商人通过代码连接到推荐人。例如,您是一个通过Cryptomus API生成发票的应用程序,而您的客户是其他商店。 他们在您的应用程序中输入其API密钥和商户ID,然后您以其凭据发送请求并传递您的推荐代码。因此,您的客户成为Cryptomus帐户上的推荐,您将从他们的营业额中获得收入。 |
discount_percent | integermin: -99max: 100 | null | 正数: 允许您设置折扣。 要设定付款5%的折扣,您应该通过一个值:5负数: 允许您设置自定义额外佣金。要设定额外的付款佣金,您应该通过一个值:-10仅当发票具有特定的加密货币时,创建发票时的折扣百分比才会考虑到。 |
is_refresh | boolean | false | 使用此参数,您可以更新寿命,并在寿命过期时获得发票的新地址。为此,您需要传递所有必需的参数,并且带有通过订单的发票将刷新。仅address, payment_status expired_at已更改Exect_at 。无论传递的参数如何,都没有其他字段会更改。 |
参数类型
string定义
该付的钱。如果金额中有便士,请与分离器一起发送。
示例:10.28参数类型
string定义
货币代码参数类型
stringmin: 1max: 128alpha_dash定义
在您的系统中订购ID该参数应是由字母字符,数字,下划线和破折号组成的字符串。它不应包含任何空间或特殊字符。 order_id 必须在商人发票/静态钱包/复发付款中是唯一的当我们找到具有 order_id 的现有发票时,我们返回其详细信息,将不会创建新的发票。参数类型
string定义
区块链网络代码参数类型
stringmin: 6max: 255url定义
在付款之前,用户可以单击付款表上的按钮,然后在此URL上返回商店页面。参数类型
stringmin: 6max: 255url定义
成功付款后,用户可以单击付款表上的按钮并返回此URL。参数类型
stringmin: 6max: 255url定义
将发送具有付款状态的Webhooks的URL参数类型
boolean定义
是否允许用户支付剩余金额。当用户没有为一笔交易支付全部发票金额时,这很有用,您希望让他全额支付。如果禁用此功能,则发票将在收到第一个付款后最终确定,您将获得余额的资金。参数类型
integermin: 300max: 43200定义
发行发票的寿命(以秒为单位)参数类型
string定义
该参数用于指定转换发票金额的目标货币。创建发票时,您会提供金额和货币,而API将将该金额转换为to_currency中的等效值。例如,在比特币中创建20美元的发票:
amount:20
currency:usd
to_currency :BTCAPI将根据当前汇率将20美元的金额转换为BTC中的同等金额,用户将在BTC中付款 to_currency 应始终是加密货币代码,而不是法定货币代码。参数类型
integermin: 0max: 100定义
向客户收取的付款委员会的百分比如果您的税率为1%,那么如果您创建了100美元的发票= 100(客户支付100%的佣金),则客户将不得不支付101 USDT。参数类型
numericmin: 0max: 5定义
可接受的付款不准确。例如,如果您通过值5,即使客户仅支付了95%的金额,发票也将被标记为已支付。实际付款金额将记入余额参数类型
stringmax: 255定义
给您的其他信息(未显示给客户)参数类型
array定义
允许付款的货币清单。如果您想限制客户可以用来支付发票的硬币列表,这将很有用。 结构参数类型
array定义
付款的排除货币清单 结构参数类型
stringmin: 4max: 20
可用值- Binance- BinanceP2P- Exmo- Kucoin定义
从发票中采取汇率进行转换的服务。参数类型
string定义
提出该请求的商人通过代码连接到推荐人。例如,您是一个通过Cryptomus API生成发票的应用程序,而您的客户是其他商店。
他们在您的应用程序中输入其API密钥和商户ID,然后您以其凭据发送请求并传递您的推荐代码。因此,您的客户成为Cryptomus帐户上的推荐,您将从他们的营业额中获得收入。参数类型
integermin: -99max: 100定义
正数:
允许您设置折扣。
要设定付款5%的折扣,您应该通过一个值:5负数:
允许您设置自定义额外佣金。要设定额外的付款佣金,您应该通过一个值:-10仅当发票具有特定的加密货币时,创建发票时的折扣百分比才会考虑到。参数类型
boolean定义
使用此参数,您可以更新寿命,并在寿命过期时获得发票的新地址。为此,您需要传递所有必需的参数,并且带有通过订单的发票将刷新。仅address, payment_status expired_at已更改Exect_at 。无论传递的参数如何,都没有其他字段会更改。
* - 强制性参数
结构 货币
姓名 | 定义 |
---|---|
currency* | 货币代码 |
network | 区块链网络代码 |
定义
货币代码定义
区块链网络代码
* - 强制性参数
结构 except_currencies
姓名 | 定义 |
---|---|
currency* | 货币代码 |
network | 区块链网络代码 |
定义
货币代码定义
区块链网络代码
* - 强制性参数
请求示例
以下是一个示例示例,其参数数量最小。在这种情况下,将使用法定货币美元创建发票。在付款页面上,用户将能够选择加密货币和网络来支付此账单。
curl https://api.cryptomus.com/v1/payment \
-X POST \
-H 'merchant: 8b03432e-385b-4670-8d06-064591096795' \
-H 'sign: fe99035f86fa436181717b302b95bacff1' \
-H 'Content-Type: application/json' \
-d '{
"amount": "15",
"currency": "USD",
"order_id": "1"
}'
复制回复
响应参数
姓名 | 定义 |
---|---|
uuid | 发票UUID |
order_id | 在您的系统中订购ID |
amount | 发票的金额 |
payment_amount | 客户支付的金额 |
payer_amount | 客户必须支付的 payer_currency 金额,包括折扣或额外的佣金。 |
discount_percent | 折扣百分比或额外的佣金,是根据请求参数通过的 |
discount | 加密货币中的实际折扣金额或额外的佣金。例如,如果发票金额为15 USDT,并且discount_percent为-5,则折扣价值为-0.75即amount + discount = payer_amount |
payer_currency | 客户必须付款的货币。 |
currency | 发票货币代码 |
merchant_amount | 加密货币的金额将归功于您的余额。如果未指定发票付费付费,则该值将为null。 |
network | 区块链网络代码 |
address | 付款钱包地址 |
from | 付款的钱包的地址 |
txid | 交易哈希 |
payment_status | 支付状态 所有付款状态 |
url | URL付款页面 |
expired_at | 发票到期的时间戳 |
is_final | 发票是否最终确定。确定发票时,不可能支付发票(已支付或过期) |
additional_data | 附加信息 |
created_at | 发票的创建日期。时区是UTC+3 |
updated_at | 上次发票更新日期。时区是UTC+3 |
定义
发票UUID定义
在您的系统中订购ID定义
发票的金额定义
客户支付的金额定义
客户必须支付的 payer_currency 金额,包括折扣或额外的佣金。定义
折扣百分比或额外的佣金,是根据请求参数通过的定义
加密货币中的实际折扣金额或额外的佣金。例如,如果发票金额为15 USDT,并且discount_percent为-5,则折扣价值为-0.75即amount + discount = payer_amount定义
客户必须付款的货币。定义
发票货币代码定义
加密货币的金额将归功于您的余额。如果未指定发票付费付费,则该值将为null。定义
区块链网络代码定义
付款钱包地址定义
付款的钱包的地址定义
交易哈希定义
支付状态 所有付款状态定义
URL付款页面定义
发票到期的时间戳定义
发票是否最终确定。确定发票时,不可能支付发票(已支付或过期)定义
附加信息定义
发票的创建日期。时区是UTC+3定义
上次发票更新日期。时区是UTC+3
响应示例
1{
2 "state": 0,
3 "result": {
4 "uuid": "26109ba0-b05b-4ee0-93d1-fd62c822ce95",
5 "order_id": "1",
6 "amount": "15.00",
7 "payment_amount": null,
8 "payer_amount": null,
9 "discount_percent": null,
10 "discount": "0.00000000",
11 "payer_currency": null,
12 "currency": "USD",
13 "merchant_amount": null,
14 "network": null,
15 "address": null,
16 "from": null,
17 "txid": null,
18 "payment_status": "check",
19 "url": "https://pay.cryptomus.com/pay/26109ba0-b05b-4ee0-93d1-fd62c822ce95",
20 "expired_at": 1689098133,
21 "status": "check",
22 "is_final": false,
23 "additional_data": null,
24 "created_at": "2023-07-11T20:23:52+03:00",
25 "updated_at": "2023-07-11T21:24:17+03:00"
26 }
27}
复制更多例子
请求数据在TRON网络中创建20美元的发票。发票在创建时将有一个地址。
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1",
5 "network": "tron"
6}
复制请求数据为25美元创建发票,并允许客户仅在任何网络中由USDT付款。
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT"
6}
复制请求数据以创建25美元的发票,并允许客户仅在TRON网络中付款。发票在创建时将有一个地址。
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT",
6 "network": "tron"
7}
复制请求数据以创建20美元的发票,并允许客户在所有可用网络中付款
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1"
5}
复制请求数据以创建20美元的发票,并允许客户仅以比特币付款。发票在创建时将有一个地址。
1{
2 "amount": "20",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "BTC"
6}
复制请求数据为0.5 BTC创建发票,并允许客户仅以比特币付款。发票在创建时将有一个地址。
1{
2 "amount": "0.5",
3 "currency": "BTC",
4 "order_id": "1"
5}
复制可能的错误
验证错误
代码 : 422
示例响应:
如果需要一些参数并且不传递:
1{
2 "state": 1,
3 "errors": {
4 "amount": ["validation.required"]
5 }
6}
复制如果您提供了不支持的网络代码
1{
2 "state": 1,
3 "message": "The network was not found"
4}
复制Payments.If we don’t support the currency code you provided in currency parameter
1{
2 "state": 1,
3 "message": "The currency was not found"
4}
复制如果您的付款被阻止。在这种情况下,您需要联系支持。
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
复制如果我们找不到 to_currency 参数的货币的付款服务:
1{
2 "state": 1,
3 "message": "Not found service to_currency"
4}
复制如果转换为 to_currency 时发生了什么事。
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
复制如果付款金额少于加密货币的最低支持金额,您将收到此错误消息:
1{
2 "state": 1,
3 "message": "Minimum amount 0.5 USDT"
4}
复制如果付款金额大于加密货币的最大支持金额,您将收到此错误消息:
1{
2 "state": 1,
3 "message": "Maximum amount 10000000 USDT"
4}
复制如果您没有带有加密货币的活跃商店钱包,您将收到此错误:
1{
2 "state": 1,
3 "message": "Wallet not found"
4}
复制如果发生技术工作并且付款暂时不可用,则可以收到此错误消息:
1{
2 "state": 1,
3 "message": "Gateway error"
4}
复制
1{
2 "state": 1,
3 "message": "The terminal was not found"
4}
复制
1{
2 "state": 1,
3 "message": "Server error"
4}
复制内部服务器错误
代码 : 500
示例响应:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
复制