创建发票

post
https://api.cryptomus.com/v1/payment
复制

要求

查询参数

姓名参数类型默认值定义
amount*string该付的钱。如果金额中有便士,请与分离器一起发送。
示例:10.28
currency*string货币代码
order_id*stringmin: 1max: 128alpha_dash在您的系统中订购ID该参数应是由字母字符,数字,下划线和破折号组成的字符串。它不应包含任何空间或特殊字符。 order_id 必须在商人发票/静态钱包/复发付款中是唯一的当我们找到具有 order_id 的现有发票时,我们返回其详细信息,将不会创建新的发票。
networkstringnull区块链网络代码
url_returnstringmin: 6max: 255urlnull在付款之前,用户可以单击付款表上的按钮,然后在此URL上返回商店页面。
url_successstringmin: 6max: 255urlnull成功付款后,用户可以单击付款表上的按钮并返回此URL。
url_callbackstringmin: 6max: 255urlnull将发送具有付款状态的Webhooks的URL
is_payment_multiplebooleantrue是否允许用户支付剩余金额。当用户没有为一笔交易支付全部发票金额时,这很有用,您希望让他全额支付。如果禁用此功能,则发票将在收到第一个付款后最终确定,您将获得余额的资金。
lifetimeintegermin: 300max: 432003600发行发票的寿命(以秒为单位)
to_currencystring该参数用于指定转换发票金额的目标货币。创建发票时,您会提供金额和货币,而API将将该金额转换为to_currency中的等效值。例如,在比特币中创建20美元的发票:
amount:20
currency:usd
to_currency :BTC
API将根据当前汇率将20美元的金额转换为BTC中的同等金额,用户将在BTC中付款 to_currency 应始终是加密货币代码,而不是法定货币代码。
subtractintegermin: 0max: 1000向客户收取的付款委员会的百分比如果您的税率为1%,那么如果您创建了100美元的发票= 100(客户支付100%的佣金),则客户将不得不支付101 USDT。
accuracy_payment_percentnumericmin: 0max: 50可接受的付款不准确。例如,如果您通过值5,即使客户仅支付了95%的金额,发票也将被标记为已支付。实际付款金额将记入余额
additional_datastringmax: 255null给您的其他信息(未显示给客户)
currenciesarray使用商家设置中可用货币的数组(如果未设置参数,则默认使用所有受支持的加密货币)。可用的货币设置在商户设置部分。允许付款的货币清单。如果您想限制客户可以用来支付发票的硬币列表,这将很有用。 结构
except_currenciesarraynull付款的排除货币清单 结构
course_sourcestringmin: 4max: 20可用值BinanceBinanceP2PExmoKucoin如果未通过,则使用加密汇率。从发票中采取汇率进行转换的服务。
from_referral_codestringnull提出该请求的商人通过代码连接到推荐人。例如,您是一个通过Cryptomus API生成发票的应用程序,而您的客户是其他商店。
他们在您的应用程序中输入其API密钥和商户ID,然后您以其凭据发送请求并传递您的推荐代码。
因此,您的客户成为Cryptomus帐户上的推荐,您将从他们的营业额中获得收入。
discount_percentintegermin: -99max: 100null正数:
允许您设置折扣。
要设定付款5%的折扣,您应该通过一个值:5
负数:
允许您设置自定义额外佣金。
要设定额外的付款佣金,您应该通过一个值:-10仅当发票具有特定的加密货币时,创建发票时的折扣百分比才会考虑到。
is_refreshbooleanfalse使用此参数,您可以更新寿命,并在寿命过期时获得发票的新地址。为此,您需要传递所有必需的参数,并且带有通过订单的发票将刷新。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 :BTC
API将根据当前汇率将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区块链网络代码

定义

货币代码

定义

区块链网络代码

* - 强制性参数

发票仅在创建时才具有特定的加密货币和地址,仅当货币或to_currency参数是加密货币时,并且传递了网络参数(或传递网络参数(或者一个加密货币,例如一个网络,例如BTC)。

请求示例

以下是一个示例示例,其参数数量最小。在这种情况下,将使用法定货币美元创建发票。在付款页面上,用户将能够选择加密货币和网络来支付此账单。


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.75amount + discount = payer_amount
payer_currency客户必须付款的货币。
currency发票货币代码
merchant_amount加密货币的金额将归功于您的余额。如果未指定发票付费付费,则该值将为null。
network区块链网络代码
address付款钱包地址
from付款的钱包的地址
txid交易哈希
payment_status支付状态 所有付款状态
urlURL付款页面
expired_at发票到期的时间戳
is_final发票是否最终确定。确定发票时,不可能支付发票(已支付或过期)
additional_data附加信息
created_at发票的创建日期。时区是UTC+3
updated_at上次发票更新日期。时区是UTC+3

定义

发票UUID

定义

在您的系统中订购ID

定义

发票的金额

定义

客户支付的金额

定义

客户必须支付的 payer_currency 金额,包括折扣或额外的佣金。

定义

折扣百分比或额外的佣金,是根据请求参数通过的

定义

加密货币中的实际折扣金额或额外的佣金。例如,如果发票金额为15 USDT,并且discount_percent为-5,则折扣价值为-0.75amount + 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}
复制