Criando uma fatura
Solicitar
Parâmetros de consulta
| Nome | Tipo de parâmetro | Valor padrão | Definição |
|---|---|---|---|
| amount* | string | - | Montante a ser pago.Se houver centavos no valor, envie -os com um separador '.' Exemplo: 10.28 |
| currency* | string | - | Código da moeda |
| order_id* | stringmin: 1max: 100alpha_dash | - | 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. |
| network | string | null | Código de rede blockchain |
| url_return | stringmin: 6max: 255url | null | Antes de pagar, o usuário pode clicar no botão no formulário de pagamento e retornar à página da loja neste URL. |
| url_success | stringmin: 6max: 255url | null | Após o pagamento bem -sucedido, o usuário pode clicar no botão no formulário de pagamento e retornar a este URL. |
| url_callback | stringmin: 6max: 255url | null | URL para quais webhooks com status de pagamento serão enviados |
| is_payment_multiple | boolean | true | 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. |
| lifetime | integermin: 300max: 43200 | 3600 | A vida útil da fatura emitida (em segundos) |
| to_currency | string | - | 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 : BTCA 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. |
| subtract | integermin: 0max: 100 | 0 | 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. |
| accuracy_payment_percent | numericmin: 0max: 5 | 0 | 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 |
| additional_data | stringmax: 255 | null | Informações adicionais para você (não mostrado ao cliente) |
| currencies | array | A 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_currencies | array | null | Lista de moedas excluídas para pagamento Estrutura |
| from_referral_code | string | null | 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. |
| discount_percent | integermin: -99max: 90 | null | Números positivos: Permite definir um desconto. Para definir um desconto de 5% para o pagamento, você deve passar um valor: 5Nú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_refresh | boolean | false | 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. |
Tipo de parâmetro
stringDefinição
Montante a ser pago.Se houver centavos no valor, envie -os com um separador '.'
Exemplo: 10.28Tipo de parâmetro
stringDefinição
Código da moedaTipo de parâmetro
stringmin: 1max: 100alpha_dashDefiniçã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
stringValor padrão
nullDefinição
Código de rede blockchainTipo de parâmetro
stringmin: 6max: 255urlValor padrão
nullDefiniçã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: 255urlValor padrão
nullDefiniçã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: 255urlValor padrão
nullDefinição
URL para quais webhooks com status de pagamento serão enviadosTipo de parâmetro
booleanValor padrão
trueDefiniçã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: 43200Valor padrão
3600Definição
A vida útil da fatura emitida (em segundos)Tipo de parâmetro
stringDefiniçã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 : BTCA 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: 100Valor padrão
0Definiçã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: 5Valor padrão
0Definiçã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 saldoTipo de parâmetro
stringmax: 255Valor padrão
nullDefinição
Informações adicionais para você (não mostrado ao cliente)Tipo de parâmetro
arrayValor padrão
A 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.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. EstruturaTipo de parâmetro
stringValor padrão
nullDefiniçã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: 90Valor padrão
nullDefinição
Números positivos:
Permite definir um desconto.
Para definir um desconto de 5% para o pagamento, você deve passar um valor: 5Nú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
booleanValor padrão
falseDefiniçã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
| Nome | Definição |
|---|---|
| currency* | Código da moeda |
| network | Código de rede blockchain |
Definição
Código da moedaDefinição
Código de rede blockchain
* - parâmetro obrigatório
Estrutura de except_currencies
| Nome | Definição |
|---|---|
| currency* | Código da moeda |
| network | Código de rede blockchain |
Definição
Código da moedaDefinição
Código de rede blockchain
* - parâmetro obrigatório
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ópiaResposta
Parâmetros de resposta
| Nome | Tipo de parâmetro | Definição |
|---|---|---|
| uuid | string | Fatura uuid |
| order_id | string|null | Pedido ID em seu sistema |
| amount | string | A quantidade da fatura |
| payment_amount | string|null | Valor pago pelo cliente |
| payment_amount_usd | string|null | Valor realmente pago pelo cliente em USD |
| payer_amount | string|null | O valor em payer_currency que o cliente deve pagar, incluindo um desconto ou comissão adicional. |
| payer_amount_exchange_rate | string|null | A taxa de câmbio aplicada no momento da execução do pagamento. |
| discount_percent | integer|null | Porcentagem de desconto ou comissão adicional, que foi aprovada nos parâmetros de solicitação |
| discount | string | 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 |
| payer_currency | string|null | A moeda em que o cliente deve efetuar o pagamento. |
| currency | string | Código da moeda da fatura |
| comments | string|null | Comentário |
| merchant_amount | string|null | Montante em criptografia que será creditada ao seu saldo. Se a fatura Payer_currency não for especificada, o valor será nulo. |
| network | string|null | Código de rede blockchain |
| address | string|null | Endereço da carteira para pagamento |
| from | string|null | O endereço da carteira a partir do qual o pagamento foi feito |
| txid | string|null | Hash de transação |
| payment_status | string | Status do pagamento Todos os status de pagamento |
| url | string | Página de pagamento de URL |
| expired_at | integer|null | Timestamp de expiração da fatura |
| status | string | Status do pagamento Todos os status de pagamento |
| is_final | boolean | Se a fatura está finalizada.Quando a fatura é finalizada, é impossível pagar uma fatura (é paga ou expirada) |
| additional_data | string|null | Informações adicionais |
| created_at | string|null | Data da criação da fatura. O fuso horário é UTC+3 |
| updated_at | string|null | Última fatura Data atualizada. O fuso horário é UTC+3 |
| commission | string|null | Montante da Comissão Cryptomus |
| address_qr_code | string|null | Código QR do endereço |
| convert | Informações sobre a moeda para a qual o pagamento serão convertidas automaticamente. A conversão é realizada de pager_currency para USDTPresente se convert_currency_code for passado | |
| convert.to_currency | string | O código da moeda para o qual o pagamento será convertido |
| convert.commission | string | Taxa de conversão |
| convert.rate | string|null | Taxa de conversão |
| convert.amount | string|null | Valor da conversão em to_currency que foi adicionado ao saldo do comerciante, com todas as comissões subtraídas. |
| convert_from | Informações sobre a moeda utilizada para o pagamento incorreto.Apresente se o pagamento estiver incorreto. | |
| convert_from.from_currency | string | Da moeda |
| convert_from.from_amount | string|null | Quantia de |
| convert_from.from_network | string|null | Código de rede blockchain |
Tipo de parâmetro
stringDefinição
Fatura uuidTipo de parâmetro
string|nullDefinição
Pedido ID em seu sistemaTipo de parâmetro
stringDefinição
A quantidade da faturaTipo de parâmetro
string|nullDefinição
Valor pago pelo clienteTipo de parâmetro
string|nullDefinição
Valor realmente pago pelo cliente em USDTipo de parâmetro
string|nullDefinição
O valor em payer_currency que o cliente deve pagar, incluindo um desconto ou comissão adicional.Tipo de parâmetro
string|nullDefinição
A taxa de câmbio aplicada no momento da execução do pagamento.Tipo de parâmetro
integer|nullDefinição
Porcentagem de desconto ou comissão adicional, que foi aprovada nos parâmetros de solicitaçãoTipo de parâmetro
stringDefiniçã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_amountTipo de parâmetro
string|nullDefinição
A moeda em que o cliente deve efetuar o pagamento.Tipo de parâmetro
stringDefinição
Código da moeda da faturaTipo de parâmetro
string|nullDefinição
ComentárioTipo de parâmetro
string|nullDefinição
Montante em criptografia que será creditada ao seu saldo. Se a fatura Payer_currency não for especificada, o valor será nulo.Tipo de parâmetro
string|nullDefinição
Código de rede blockchainTipo de parâmetro
string|nullDefinição
Endereço da carteira para pagamentoTipo de parâmetro
string|nullDefinição
O endereço da carteira a partir do qual o pagamento foi feitoTipo de parâmetro
string|nullDefinição
Hash de transaçãoTipo de parâmetro
stringTipo de parâmetro
stringDefinição
Página de pagamento de URLTipo de parâmetro
integer|nullDefinição
Timestamp de expiração da faturaTipo de parâmetro
stringTipo de parâmetro
booleanDefinição
Se a fatura está finalizada.Quando a fatura é finalizada, é impossível pagar uma fatura (é paga ou expirada)Tipo de parâmetro
string|nullDefinição
Informações adicionaisTipo de parâmetro
string|nullDefinição
Data da criação da fatura. O fuso horário é UTC+3Tipo de parâmetro
string|nullDefinição
Última fatura Data atualizada. O fuso horário é UTC+3Tipo de parâmetro
string|nullDefinição
Montante da Comissão CryptomusTipo de parâmetro
string|nullDefinição
Código QR do endereçoDefinição
Informações sobre a moeda para a qual o pagamento serão convertidas automaticamente. A conversão é realizada de pager_currency para USDTPresente se convert_currency_code for passadoTipo de parâmetro
stringDefinição
O código da moeda para o qual o pagamento será convertidoTipo de parâmetro
stringDefinição
Taxa de conversãoTipo de parâmetro
string|nullDefinição
Taxa de conversãoTipo de parâmetro
string|nullDefinição
Valor da conversão em to_currency que foi adicionado ao saldo do comerciante, com todas as comissões subtraídas.Definição
Informações sobre a moeda utilizada para o pagamento incorreto.Apresente se o pagamento estiver incorreto.Tipo de parâmetro
stringDefinição
Da moedaTipo de parâmetro
string|nullDefinição
Quantia deTipo de parâmetro
string|nullDefinição
Código de rede blockchain
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 "payment_amount_usd": null,
9 "payer_amount": null,
10 "payer_amount_exchange_rate": null,
11 "discount_percent": null,
12 "discount": "0.00000000",
13 "payer_currency": null,
14 "currency": "USD",
15 "comments": null,
16 "merchant_amount": null,
17 "network": null,
18 "address": null,
19 "from": null,
20 "txid": null,
21 "payment_status": "check",
22 "url": "https://pay.cryptomus.com/pay/26109ba0-b05b-4ee0-93d1-fd62c822ce95",
23 "expired_at": 1689098133,
24 "status": "check",
25 "is_final": false,
26 "additional_data": null,
27 "created_at": "2023-07-11T20:23:52+03:00",
28 "updated_at": "2023-07-11T21:24:17+03:00",
29 "commission": null,
30 "address_qr_code": null
31 }
32}CópiaMais 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ópiaSolicite 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ópiaSolicite 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ópiaSolicite 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ópiaSolicite 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ópiaSolicite 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ópiaPossíveis erros
Erros de validação
código : 422
exemplos 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ópiaSe você forneceu o código de rede que não é suportado
1{
2 "state": 1,
3 "message": "The network was not found"
4}CópiaSe 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ópiaSe 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ópiaSe 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ópiaSe acidentalmente acontecer, algo acontecer ao converter para to_currency :
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}CópiaSe 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ópiaSe 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ópiaSe 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ópiaSe 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
1{
2 "state": 1,
3 "message": "The terminal was not found"
4}Cópia
1{
2 "state": 1,
3 "message": "Server error"
4}CópiaErro do Servidor Interno
código : 500
exemplos de respostas:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}Cópia