Creando una factura

post
https://api.cryptomus.com/v1/payment
COPIAR

Pedido

Parámetros de consulta

NombreTipo de parámetroValor por defectoDefinición
amount*stringEl monto a pagar.Si hay centavos en la cantidad, envíelos con un separador '.
Ejemplo: 10.28
currency*stringCódigo de moneda
order_id*stringmin: 1max: 128alpha_dashID de pedido en su sistemaEl parámetro debe ser una cadena que consiste en caracteres alfabéticos, números, subrayadores y guiones. No debe contener espacios o caracteres especiales.El Order_id debe ser único dentro de las facturas comerciales/billeteras estáticas/pagos de recurrenciaCuando encontramos una factura existente con order_id , devolvemos sus detalles, no se creará una nueva factura.
networkstringnullCódigo de red blockchain
url_returnstringmin: 6max: 255urlnullAntes de pagar, el usuario puede hacer clic en el botón en el formulario de pago y regresar a la página de la tienda en esta URL.
url_successstringmin: 6max: 255urlnullDespués de un pago exitoso, el usuario puede hacer clic en el botón en el formulario de pago y regresar a esta URL.
url_callbackstringmin: 6max: 255urlnullURL a la que se enviarán los webhooks con estado de pago
is_payment_multiplebooleantrueSi el usuario puede pagar el monto restante. Esto es útil cuando el usuario no ha pagado el monto total de la factura por una transacción, y desea permitirle pagar hasta el monto total. Si deshabilita esta función, la factura finalizará después de recibir el primer pago y recibirá fondos para su saldo.
lifetimeintegermin: 300max: 432003600La vida útil de la factura emitida (en segundos)
to_currencystringEl parámetro se utiliza para especificar la moneda de destino para convertir la cantidad de factura. Al crear una factura, proporciona una cantidad y moneda, y la API convertirá esa cantidad al valor equivalente en la to_currency.Por ejemplo, para crear una factura para 20 USD en bitcoin:
amount: 20
currency: USD
to_currency : btc
La API convertirá el monto de 20 USD a su equivalente en BTC en función del tipo de cambio actual y el usuario pagará en BTCEl to_currency siempre debe ser el código de criptomoneda, no un código de moneda fiduciaria.
subtractintegermin: 0max: 1000Porcentaje de la comisión de pago cobrada al clienteSi tiene una tarifa del 1%, si crea una factura para 100 USDT con SUXTROT = 100 (el cliente paga el 100% de la comisión), el cliente tendrá que pagar 101 USDT.
accuracy_payment_percentnumericmin: 0max: 50Inexactitud aceptable en el pago.Por ejemplo, si pasa el valor 5, la factura se marcará como pagada incluso si el cliente ha pagado solo el 95% del monto.El monto del pago real se acreditará al saldo
additional_datastringmax: 255nullInformación adicional para usted (no se muestra al cliente)
currenciesarraySe utiliza la variedad de monedas disponibles desde la configuración de su comerciante (si el parámetro no está configurado, todas las criptomonedas compatibles se utilizan por defecto).Las monedas disponibles se establecen en la sección Configuración del comerciante.Lista de monedas permitidas para el pago. Esto es útil si desea limitar la lista de monedas que sus clientes pueden usar para pagar facturas. Estructura
except_currenciesarraynullLista de monedas excluidas para el pago Estructura
course_sourcestringmin: 4max: 20Valores disponiblesBinanceBinanceP2PExmoKucoinSi no se pasa, se utilizan los tipos de cambio de Cryptomus.El servicio del que se toman los tipos de cambio para la conversión en la factura.
from_referral_codestringnullEl comerciante que hace la solicitud se conecta a un referente por código.Por ejemplo, usted es una aplicación que genera facturas a través de la API de Cryptomus y sus clientes son otras tiendas.
Ingresan su clave API e ID de comerciante en su solicitud, y usted envía solicitudes con sus credenciales y aprobando su código de referencia.
Por lo tanto, sus clientes se convierten en referencias en su cuenta de Cryptomus y recibirá ingresos de su facturación.
discount_percentintegermin: -99max: 100nullNúmeros positivos:
le permite establecer un descuento.
Para establecer un descuento del 5% para el pago, debe aprobar un valor: 5
Números negativos:
le permite establecer una comisión adicional personalizada.
Para establecer una comisión adicional del 10% para el pago, debe aprobar un valor: -10El porcentaje de descuento al crear una factura se tiene en cuenta solo si la factura tiene una criptomoneda específica.
is_refreshbooleanfalseUsando este parámetro, puede actualizar la vida útil y obtener una nueva dirección para la factura si la vida útil ha expirado.Para hacer eso, debe pasar todos los parámetros requeridos, y la factura con Order_ID pasada se actualizará.Solo address, payment_status y expired_at se cambian. No se cambian otros campos, independientemente de los parámetros aprobados.

Tipo de parámetro

string

Definición

El monto a pagar.Si hay centavos en la cantidad, envíelos con un separador '.
Ejemplo: 10.28

Tipo de parámetro

string

Definición

Código de moneda

Tipo de parámetro

stringmin: 1max: 128alpha_dash

Definición

ID de pedido en su sistemaEl parámetro debe ser una cadena que consiste en caracteres alfabéticos, números, subrayadores y guiones. No debe contener espacios o caracteres especiales.El Order_id debe ser único dentro de las facturas comerciales/billeteras estáticas/pagos de recurrenciaCuando encontramos una factura existente con order_id , devolvemos sus detalles, no se creará una nueva factura.

Tipo de parámetro

string

Definición

Código de red blockchain

Tipo de parámetro

stringmin: 6max: 255url

Definición

Antes de pagar, el usuario puede hacer clic en el botón en el formulario de pago y regresar a la página de la tienda en esta URL.

Tipo de parámetro

stringmin: 6max: 255url

Definición

Después de un pago exitoso, el usuario puede hacer clic en el botón en el formulario de pago y regresar a esta URL.

Tipo de parámetro

stringmin: 6max: 255url

Definición

URL a la que se enviarán los webhooks con estado de pago

Tipo de parámetro

boolean

Definición

Si el usuario puede pagar el monto restante. Esto es útil cuando el usuario no ha pagado el monto total de la factura por una transacción, y desea permitirle pagar hasta el monto total. Si deshabilita esta función, la factura finalizará después de recibir el primer pago y recibirá fondos para su saldo.

Tipo de parámetro

integermin: 300max: 43200

Definición

La vida útil de la factura emitida (en segundos)

Tipo de parámetro

string

Definición

El parámetro se utiliza para especificar la moneda de destino para convertir la cantidad de factura. Al crear una factura, proporciona una cantidad y moneda, y la API convertirá esa cantidad al valor equivalente en la to_currency.Por ejemplo, para crear una factura para 20 USD en bitcoin:
amount: 20
currency: USD
to_currency : btc
La API convertirá el monto de 20 USD a su equivalente en BTC en función del tipo de cambio actual y el usuario pagará en BTCEl to_currency siempre debe ser el código de criptomoneda, no un código de moneda fiduciaria.

Tipo de parámetro

integermin: 0max: 100

Definición

Porcentaje de la comisión de pago cobrada al clienteSi tiene una tarifa del 1%, si crea una factura para 100 USDT con SUXTROT = 100 (el cliente paga el 100% de la comisión), el cliente tendrá que pagar 101 USDT.

Tipo de parámetro

numericmin: 0max: 5

Definición

Inexactitud aceptable en el pago.Por ejemplo, si pasa el valor 5, la factura se marcará como pagada incluso si el cliente ha pagado solo el 95% del monto.El monto del pago real se acreditará al saldo

Tipo de parámetro

stringmax: 255

Definición

Información adicional para usted (no se muestra al cliente)

Tipo de parámetro

array

Definición

Lista de monedas permitidas para el pago. Esto es útil si desea limitar la lista de monedas que sus clientes pueden usar para pagar facturas. Estructura

Tipo de parámetro

array

Definición

Lista de monedas excluidas para el pago Estructura

Tipo de parámetro

stringmin: 4max: 20
Valores disponibles
- Binance- BinanceP2P- Exmo- Kucoin

Definición

El servicio del que se toman los tipos de cambio para la conversión en la factura.

Tipo de parámetro

string

Definición

El comerciante que hace la solicitud se conecta a un referente por código.Por ejemplo, usted es una aplicación que genera facturas a través de la API de Cryptomus y sus clientes son otras tiendas.
Ingresan su clave API e ID de comerciante en su solicitud, y usted envía solicitudes con sus credenciales y aprobando su código de referencia.
Por lo tanto, sus clientes se convierten en referencias en su cuenta de Cryptomus y recibirá ingresos de su facturación.

Tipo de parámetro

integermin: -99max: 100

Definición

Números positivos:
le permite establecer un descuento.
Para establecer un descuento del 5% para el pago, debe aprobar un valor: 5
Números negativos:
le permite establecer una comisión adicional personalizada.
Para establecer una comisión adicional del 10% para el pago, debe aprobar un valor: -10El porcentaje de descuento al crear una factura se tiene en cuenta solo si la factura tiene una criptomoneda específica.

Tipo de parámetro

boolean

Definición

Usando este parámetro, puede actualizar la vida útil y obtener una nueva dirección para la factura si la vida útil ha expirado.Para hacer eso, debe pasar todos los parámetros requeridos, y la factura con Order_ID pasada se actualizará.Solo address, payment_status y expired_at se cambian. No se cambian otros campos, independientemente de los parámetros aprobados.

* - parámetro obligatorio

Estructura de Monedas

NombreDefinición
currency*Código de moneda
networkCódigo de red blockchain

Definición

Código de moneda

Definición

Código de red blockchain

* - parámetro obligatorio

Estructura de except_currencies

NombreDefinición
currency*Código de moneda
networkCódigo de red blockchain

Definición

Código de moneda

Definición

Código de red blockchain

* - parámetro obligatorio

La factura tendrá una criptomoneda y dirección específicas en el momento de la creación solo si el parámetro de moneda o to_currency es una criptomoneda y el parámetro de red se pasa (o una criptomoneda tiene solo una red, por ejemplo BTC).

Ejemplo de solicitud

A continuación se muestra un ejemplo de muestra con el número mínimo requerido de parámetros. En este caso, se creará una factura con la moneda Fiat USD. En la página de pago, el usuario podrá seleccionar la criptomoneda y la red para pagar esta factura.


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"
}'
COPIAR

Respuesta

Parámetros de respuesta

NombreDefinición
uuidFactura uuid
order_idID de pedido en su sistema
amountLa cantidad de la factura
payment_amountMonto pagado por el cliente
payer_amountEl monto en payer_currency que el cliente debe pagar, incluido un descuento o una comisión adicional.
discount_percentPorcentaje de descuento o comisión adicional, que se aprobó en los parámetros de solicitud
discountCantidad real de descuento o comisión adicional en criptomonedas.Por ejemplo, si el monto de la factura es de 15 USDT y descuento_percent es -5, el valor de descuento será -0.75es decir, la amount + discount = payer_amount
payer_currencyLa moneda en la que el cliente debe realizar el pago.
currencyCódigo de moneda de factura
merchant_amountCantidad en Crypto que se acreditará a su saldo. Si no se especifica la factura payer_currency, el valor será nulo.
networkCódigo de red blockchain
addressDirección de billetera para el pago
fromLa dirección de la billetera de la que se realizó el pago
txidHachís
payment_statusEstado de pago Todos los estados de pago
urlPágina de pago de URL
expired_atMarca de tiempo de vencimiento de la factura
is_finalSi la factura está finalizada.Cuando se finaliza la factura, es imposible pagar una factura (se paga o vence)
additional_dataInformación adicional
created_atFecha de creación de la factura. La zona horaria es UTC+3
updated_atÚltima fecha de actualización actualizada. La zona horaria es UTC+3

Definición

Factura uuid

Definición

ID de pedido en su sistema

Definición

La cantidad de la factura

Definición

Monto pagado por el cliente

Definición

El monto en payer_currency que el cliente debe pagar, incluido un descuento o una comisión adicional.

Definición

Porcentaje de descuento o comisión adicional, que se aprobó en los parámetros de solicitud

Definición

Cantidad real de descuento o comisión adicional en criptomonedas.Por ejemplo, si el monto de la factura es de 15 USDT y descuento_percent es -5, el valor de descuento será -0.75es decir, la amount + discount = payer_amount

Definición

La moneda en la que el cliente debe realizar el pago.

Definición

Código de moneda de factura

Definición

Cantidad en Crypto que se acreditará a su saldo. Si no se especifica la factura payer_currency, el valor será nulo.

Definición

Código de red blockchain

Definición

Dirección de billetera para el pago

Definición

La dirección de la billetera de la que se realizó el pago

Definición

Hachís

Definición

Estado de pago Todos los estados de pago

Definición

Página de pago de URL

Definición

Marca de tiempo de vencimiento de la factura

Definición

Si la factura está finalizada.Cuando se finaliza la factura, es imposible pagar una factura (se paga o vence)

Definición

Información adicional

Definición

Fecha de creación de la factura. La zona horaria es UTC+3

Definición

Última fecha de actualización actualizada. La zona horaria es UTC+3

Ejemplo de respuesta


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}
COPIAR

Más ejemplos

Solicite datos para crear una factura para 20 USDT en la red Tron. La factura tendrá una dirección en el momento de la creación.


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1",
5	"network": "tron"
6}
COPIAR

Solicite datos para crear una factura para 25 USD y permita a los clientes pagar solo por USDT en cualquier red.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT"
6}
COPIAR

Solicite datos para crear una factura para 25 USD y permita a los clientes pagar solo por USDT en Tron Network. La factura tendrá una dirección en el momento de la creación.


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

Solicite datos para crear una factura para 20 USDT y permitir a los clientes pagar en todas las redes disponibles


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1"
5}
COPIAR

Solicite datos para crear una factura para 20 USD y permita a los clientes pagar solo en bitcoin. La factura tendrá una dirección en el momento de la creación.


1{
2	"amount": "20",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "BTC"
6}
COPIAR

Solicite datos para crear una factura para 0.5 BTC y permita a los clientes pagar solo en bitcoin. La factura tendrá una dirección en el momento de la creación.


1{
2	"amount": "0.5",
3	"currency": "BTC",
4	"order_id": "1"
5}
COPIAR

Posibles errores

Errores de validación

código : 422

Respuestas de ejemplo:

Si se requiere algún parámetro y no se pasa:


1{
2	"state": 1,
3	"errors": {
4		"amount": ["validation.required"]
5	}
6}
COPIAR

Si proporcionó el código de red que no es compatible


1{
2    "state": 1,
3    "message": "The network was not found"
4}
COPIAR

Si no admitimos el código de divisas que proporcionó en el parámetro moneda :


1{
2    "state": 1,
3    "message": "The currency was not found"
4}
COPIAR

Si sus pagos están bloqueados. En este caso, debe comunicarse con el soporte.


1{
2    "state": 1,
3    "message": "You are forbidden"
4}
COPIAR

Si no encontramos el servicio de pago de la moneda que se pasó en to_currency parámetro:


1{
2    "state": 1,
3    "message": "Not found service to_currency"
4}
COPIAR

Si accidentalmente sucede algo al convertir a to_currency :


1{
2    "state": 1,
3    "message": "Error convert to_currency"
4}
COPIAR

Si el monto del pago es menor que el monto mínimo compatible con la criptomoneda, recibirá este mensaje de error:


1{
2    "state": 1,
3    "message": "Minimum amount 0.5 USDT"
4}
COPIAR

Si el monto del pago es mayor que el monto máximo compatible para la criptomoneda, recibirá este mensaje de error:


1{
2    "state": 1,
3    "message": "Maximum amount 10000000 USDT"
4}
COPIAR

Si no tendrá una billetera comercial activa con una criptomoneda del pago, recibirá este error:


1{
2    "state": 1,
3    "message": "Wallet not found"
4}
COPIAR

Si se produce un trabajo técnico y el pago no está disponible temporalmente, puede recibir estos mensajes de error:


1{
2    "state": 1,
3    "message": "Gateway error"
4}
COPIAR


1{
2    "state": 1,
3    "message": "The terminal was not found"
4}
COPIAR


1{
2    "state": 1,
3    "message": "Server error"
4}
COPIAR

Error Interno del Servidor

código : 500

Respuestas de ejemplo:


1{
2	"message": "Server error, #1",
3	"code": 500,
4	"error": null
5}
COPIAR