Criando uma fatura

post
https://api.cryptomus.com/v1/payment
CÓPIA DE

Solicitar

Parâmetros de consulta

NomeTipo de parâmetroValor padrãoDefinição
amount*stringMontante a ser pago.Se houver centavos no valor, envie -os com um separador '.'
Exemplo: 10.28
currency*stringCódigo da moeda
order_id*stringmin: 1max: 128alpha_dashPedido ID em seu sistemaO parâmetro deve ser uma sequência que consiste em caracteres alfabéticos, números, sublinhados e traços. Não deve conter espaços ou caracteres especiais.O order_id deve ser único nas faturas do comerciante/carteiras estáticas/pagamentos de recorrênciaQuando encontramos uma fatura existente com order_id , retornamos seus detalhes, uma nova fatura não será criada.
networkstringnullCódigo de rede blockchain
url_returnstringmin: 6max: 255urlnullAntes de pagar, o usuário pode clicar no botão no formulário de pagamento e retornar à página da loja neste URL.
url_successstringmin: 6max: 255urlnullApós o pagamento bem -sucedido, o usuário pode clicar no botão no formulário de pagamento e retornar a este URL.
url_callbackstringmin: 6max: 255urlnullURL para quais webhooks com status de pagamento serão enviados
is_payment_multiplebooleantrueSe o usuário tem permissão para pagar o valor restante. Isso é útil quando o usuário não pagou todo o valor da fatura por uma transação e você deseja permitir que ele pague até o valor total. Se você desativar esse recurso, a fatura finalizará depois de receber o primeiro pagamento e você receberá fundos para o seu saldo.
lifetimeintegermin: 300max: 432003600A vida útil da fatura emitida (em segundos)
to_currencystringO parâmetro é usado para especificar a moeda de destino para conversão do valor da fatura. Ao criar uma fatura, você fornece um valor e uma moeda, e a API converterá esse valor no valor equivalente em to_currency.Por exemplo, para criar uma fatura para 20 USD em bitcoin:
amount: 20
currency: USD
to_currency : BTC
A API converterá 20 valor de USD em seu equivalente no BTC com base na taxa de câmbio atual e o usuário pagará no BTCO to_currency deve sempre ser o código de criptomoeda, não um código de moeda fiduciário.
subtractintegermin: 0max: 1000Porcentagem da comissão de pagamento acusada do clienteSe você tiver uma taxa de 1%, se você criar uma fatura por 100 USDT com subtração = 100 (o cliente paga 100% da Comissão), o cliente terá que pagar 101 USDT.
accuracy_payment_percentnumericmin: 0max: 50Imprecisão aceitável no pagamento.Por exemplo, se você passar no valor 5, a fatura será marcada como paga, mesmo que o cliente tenha pago apenas 95% do valor.O valor do pagamento real será creditado ao saldo
additional_datastringmax: 255nullInformações adicionais para você (não mostrado ao cliente)
currenciesarrayA matriz de moedas disponíveis das configurações do seu comerciante é usada (se o parâmetro não estiver definido, todas as criptomoedas suportadas serão usadas por padrão).As moedas disponíveis estão definidas na seção Configurações do comerciante.Lista de moedas permitidas para pagamento. Isso é útil se você deseja limitar a lista de moedas que seus clientes podem usar para pagar faturas. Estrutura
except_currenciesarraynullLista de moedas excluídas para pagamento Estrutura
course_sourcestringmin: 4max: 20Valores disponíveisBinanceBinanceP2PExmoKucoinSe não foram aprovados, as taxas de câmbio do Cryptomus são usadas.O serviço a partir do qual as taxas de câmbio são tomadas para conversão na fatura.
from_referral_codestringnullO comerciante que faz a solicitação se conecta a um referenciador por código.Por exemplo, você é um aplicativo que gera faturas através da API Cryptomus e seus clientes são outras lojas.
Eles inserem sua chave da API e ID do comerciante em seu aplicativo e você envia solicitações com suas credenciais e passando seu código de referência.
Assim, seus clientes se tornam referências na sua conta Cryptomus e você receberá renda de sua rotatividade.
discount_percentintegermin: -99max: 100nullNúmeros positivos:
Permite definir um desconto.
Para definir um desconto de 5% para o pagamento, você deve passar um valor: 5
Números negativos:
Permite definir comissão adicional personalizada.
Para definir uma comissão adicional de 10% para o pagamento, você deve aprovar um valor: -10A porcentagem de desconto ao criar uma fatura é levada em consideração apenas se a fatura tiver uma criptomoeda específica.
is_refreshbooleanfalseUsando este parâmetro, você pode atualizar a vida útil e obter um novo endereço para a fatura se a vida útil expirar.Para fazer isso, você precisa passar por todos os parâmetros necessários, e a fatura com ordem aprovada será atualizada.Somente address , payment_status e expired_at são alterados. Nenhum outro campo é alterado, independentemente dos parâmetros aprovados.

Tipo de parâmetro

string

Definição

Montante a ser pago.Se houver centavos no valor, envie -os com um separador '.'
Exemplo: 10.28

Tipo de parâmetro

string

Definição

Código da moeda

Tipo de parâmetro

stringmin: 1max: 128alpha_dash

Definição

Pedido ID em seu sistemaO parâmetro deve ser uma sequência que consiste em caracteres alfabéticos, números, sublinhados e traços. Não deve conter espaços ou caracteres especiais.O order_id deve ser único nas faturas do comerciante/carteiras estáticas/pagamentos de recorrênciaQuando encontramos uma fatura existente com order_id , retornamos seus detalhes, uma nova fatura não será criada.

Tipo de parâmetro

string

Definição

Código de rede blockchain

Tipo de parâmetro

stringmin: 6max: 255url

Definição

Antes de pagar, o usuário pode clicar no botão no formulário de pagamento e retornar à página da loja neste URL.

Tipo de parâmetro

stringmin: 6max: 255url

Definição

Após o pagamento bem -sucedido, o usuário pode clicar no botão no formulário de pagamento e retornar a este URL.

Tipo de parâmetro

stringmin: 6max: 255url

Definição

URL para quais webhooks com status de pagamento serão enviados

Tipo de parâmetro

boolean

Definição

Se o usuário tem permissão para pagar o valor restante. Isso é útil quando o usuário não pagou todo o valor da fatura por uma transação e você deseja permitir que ele pague até o valor total. Se você desativar esse recurso, a fatura finalizará depois de receber o primeiro pagamento e você receberá fundos para o seu saldo.

Tipo de parâmetro

integermin: 300max: 43200

Definição

A vida útil da fatura emitida (em segundos)

Tipo de parâmetro

string

Definição

O parâmetro é usado para especificar a moeda de destino para conversão do valor da fatura. Ao criar uma fatura, você fornece um valor e uma moeda, e a API converterá esse valor no valor equivalente em to_currency.Por exemplo, para criar uma fatura para 20 USD em bitcoin:
amount: 20
currency: USD
to_currency : BTC
A API converterá 20 valor de USD em seu equivalente no BTC com base na taxa de câmbio atual e o usuário pagará no BTCO to_currency deve sempre ser o código de criptomoeda, não um código de moeda fiduciário.

Tipo de parâmetro

integermin: 0max: 100

Definição

Porcentagem da comissão de pagamento acusada do clienteSe você tiver uma taxa de 1%, se você criar uma fatura por 100 USDT com subtração = 100 (o cliente paga 100% da Comissão), o cliente terá que pagar 101 USDT.

Tipo de parâmetro

numericmin: 0max: 5

Definição

Imprecisão aceitável no pagamento.Por exemplo, se você passar no valor 5, a fatura será marcada como paga, mesmo que o cliente tenha pago apenas 95% do valor.O valor do pagamento real será creditado ao saldo

Tipo de parâmetro

stringmax: 255

Definição

Informações adicionais para você (não mostrado ao cliente)

Tipo de parâmetro

array

Definição

Lista de moedas permitidas para pagamento. Isso é útil se você deseja limitar a lista de moedas que seus clientes podem usar para pagar faturas. Estrutura

Tipo de parâmetro

array

Definição

Lista de moedas excluídas para pagamento Estrutura

Tipo de parâmetro

stringmin: 4max: 20
Valores disponíveis
- Binance- BinanceP2P- Exmo- Kucoin

Definição

O serviço a partir do qual as taxas de câmbio são tomadas para conversão na fatura.

Tipo de parâmetro

string

Definição

O comerciante que faz a solicitação se conecta a um referenciador por código.Por exemplo, você é um aplicativo que gera faturas através da API Cryptomus e seus clientes são outras lojas.
Eles inserem sua chave da API e ID do comerciante em seu aplicativo e você envia solicitações com suas credenciais e passando seu código de referência.
Assim, seus clientes se tornam referências na sua conta Cryptomus e você receberá renda de sua rotatividade.

Tipo de parâmetro

integermin: -99max: 100

Definição

Números positivos:
Permite definir um desconto.
Para definir um desconto de 5% para o pagamento, você deve passar um valor: 5
Números negativos:
Permite definir comissão adicional personalizada.
Para definir uma comissão adicional de 10% para o pagamento, você deve aprovar um valor: -10A porcentagem de desconto ao criar uma fatura é levada em consideração apenas se a fatura tiver uma criptomoeda específica.

Tipo de parâmetro

boolean

Definição

Usando este parâmetro, você pode atualizar a vida útil e obter um novo endereço para a fatura se a vida útil expirar.Para fazer isso, você precisa passar por todos os parâmetros necessários, e a fatura com ordem aprovada será atualizada.Somente address , payment_status e expired_at são alterados. Nenhum outro campo é alterado, independentemente dos parâmetros aprovados.

* - parâmetro obrigatório

Estrutura de Moedas

NomeDefinição
currency*Código da moeda
networkCódigo de rede blockchain

Definição

Código da moeda

Definição

Código de rede blockchain

* - parâmetro obrigatório

Estrutura de except_currencies

NomeDefinição
currency*Código da moeda
networkCódigo de rede blockchain

Definição

Código da moeda

Definição

Código de rede blockchain

* - parâmetro obrigatório

A fatura terá uma criptomoeda e endereço específicos no momento da criação somente se o parâmetro moeda ou to_currency for uma criptomoeda e o parâmetro de rede for passado (ou uma criptomoeda tiver apenas uma rede, por exemplo BTC).

Exemplo de solicitação

Abaixo está um exemplo de amostra com o número mínimo necessário de parâmetros. Nesse caso, uma fatura será criada com o USD da moeda fiduciária. Na página de pagamento, o usuário poderá selecionar a criptomoeda e a rede para pagar esta conta.


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"
}'
CÓPIA DE

Resposta

Parâmetros de resposta

NomeDefinição
uuidFatura uuid
order_idPedido ID em seu sistema
amountA quantidade da fatura
payment_amountValor pago pelo cliente
payer_amountO valor em payer_currency que o cliente deve pagar, incluindo um desconto ou comissão adicional.
discount_percentPorcentagem de desconto ou comissão adicional, que foi aprovada nos parâmetros de solicitação
discountQuantidade real de desconto ou comissão adicional em criptomoeda.Por exemplo, se o valor da fatura for 15 USDT e desconto_percent for -5, o valor do desconto será -0,75isto é, amount + discount = payer_amount
payer_currencyA moeda em que o cliente deve efetuar o pagamento.
currencyCódigo da moeda da fatura
merchant_amountMontante em criptografia que será creditada ao seu saldo. Se a fatura Payer_currency não for especificada, o valor será nulo.
networkCódigo de rede blockchain
addressEndereço da carteira para pagamento
fromO endereço da carteira a partir do qual o pagamento foi feito
txidHash de transação
payment_statusStatus do pagamento Todos os status de pagamento
urlPágina de pagamento de URL
expired_atTimestamp de expiração da fatura
is_finalSe a fatura está finalizada.Quando a fatura é finalizada, é impossível pagar uma fatura (é paga ou expirada)
additional_dataInformações adicionais
created_atData da criação da fatura. O fuso horário é UTC+3
updated_atÚltima fatura Data atualizada. O fuso horário é UTC+3

Definição

Fatura uuid

Definição

Pedido ID em seu sistema

Definição

A quantidade da fatura

Definição

Valor pago pelo cliente

Definição

O valor em payer_currency que o cliente deve pagar, incluindo um desconto ou comissão adicional.

Definição

Porcentagem de desconto ou comissão adicional, que foi aprovada nos parâmetros de solicitação

Definição

Quantidade real de desconto ou comissão adicional em criptomoeda.Por exemplo, se o valor da fatura for 15 USDT e desconto_percent for -5, o valor do desconto será -0,75isto é, amount + discount = payer_amount

Definição

A moeda em que o cliente deve efetuar o pagamento.

Definição

Código da moeda da fatura

Definição

Montante em criptografia que será creditada ao seu saldo. Se a fatura Payer_currency não for especificada, o valor será nulo.

Definição

Código de rede blockchain

Definição

Endereço da carteira para pagamento

Definição

O endereço da carteira a partir do qual o pagamento foi feito

Definição

Hash de transação

Definição

Status do pagamento Todos os status de pagamento

Definição

Página de pagamento de URL

Definição

Timestamp de expiração da fatura

Definição

Se a fatura está finalizada.Quando a fatura é finalizada, é impossível pagar uma fatura (é paga ou expirada)

Definição

Informações adicionais

Definição

Data da criação da fatura. O fuso horário é UTC+3

Definição

Última fatura Data atualizada. O fuso horário é UTC+3

Exemplo de resposta


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}
CÓPIA DE

Mais exemplos

Solicite dados para criar uma fatura para 20 USDT na rede Tron. A fatura terá um endereço no momento da criação.


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1",
5	"network": "tron"
6}
CÓPIA DE

Solicite dados para criar uma fatura para 25 dólares e permitir que os clientes paguem apenas pelo USDT em qualquer rede.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT"
6}
CÓPIA DE

Solicite dados para criar uma fatura para 25 dólares e permitir que os clientes paguem apenas pelo USDT na rede Tron. A fatura terá um endereço no momento da criação.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT",
6	"network": "tron"
7}
CÓPIA DE

Solicite dados para criar uma fatura para 20 USDT e permitir que os clientes paguem em todas as redes disponíveis


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1"
5}
CÓPIA DE

Solicite dados para criar uma fatura para 20 dólares e permitir que os clientes paguem apenas no Bitcoin. A fatura terá um endereço no momento da criação.


1{
2	"amount": "20",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "BTC"
6}
CÓPIA DE

Solicite dados para criar uma fatura para 0,5 BTC e permitir que os clientes paguem apenas no Bitcoin. A fatura terá um endereço no momento da criação.


1{
2	"amount": "0.5",
3	"currency": "BTC",
4	"order_id": "1"
5}
CÓPIA DE

Possíveis erros

Erros de validação

código : 422

Exemplo de respostas:

Se algum parâmetro for necessário e não for passado:


1{
2	"state": 1,
3	"errors": {
4		"amount": ["validation.required"]
5	}
6}
CÓPIA DE

Se você forneceu o código de rede que não é suportado


1{
2    "state": 1,
3    "message": "The network was not found"
4}
CÓPIA DE

Se não suportarmos o código da moeda que você forneceu no parâmetro currency:


1{
2    "state": 1,
3    "message": "The currency was not found"
4}
CÓPIA DE

Se seus pagamentos estiverem bloqueados. Nesse caso, você precisa entrar em contato com o suporte.


1{
2    "state": 1,
3    "message": "You are forbidden"
4}
CÓPIA DE

Se não encontrarmos o serviço de pagamento da moeda que foi aprovada no parâmetro to_currency :


1{
2    "state": 1,
3    "message": "Not found service to_currency"
4}
CÓPIA DE

Se acidentalmente acontecer, algo acontecer ao converter para to_currency :


1{
2    "state": 1,
3    "message": "Error convert to_currency"
4}
CÓPIA DE

Se o valor do pagamento for menor que o valor mínimo suportado para criptomoeda, você receberá esta mensagem de erro:


1{
2    "state": 1,
3    "message": "Minimum amount 0.5 USDT"
4}
CÓPIA DE

Se o valor do pagamento for maior que o valor máximo suportado para criptomoeda, você receberá esta mensagem de erro:


1{
2    "state": 1,
3    "message": "Maximum amount 10000000 USDT"
4}
CÓPIA DE

Se você não tiver uma carteira de comerciante ativa com uma criptomoeda do pagamento, receberá este erro:


1{
2    "state": 1,
3    "message": "Wallet not found"
4}
CÓPIA DE

Se ocorrer um trabalho técnico e o pagamento estiver temporariamente indisponível, você poderá receber essas mensagens de erro:


1{
2    "state": 1,
3    "message": "Gateway error"
4}
CÓPIA DE


1{
2    "state": 1,
3    "message": "The terminal was not found"
4}
CÓPIA DE


1{
2    "state": 1,
3    "message": "Server error"
4}
CÓPIA DE

Erro do Servidor Interno

código : 500

Exemplo de respostas:


1{
2	"message": "Server error, #1",
3	"code": 500,
4	"error": null
5}
CÓPIA DE