Creando una factura
Pedido
Parámetros de consulta
Nombre | Tipo de parámetro | Valor por defecto | Definición |
---|---|---|---|
amount* | string | El monto a pagar.Si hay centavos en la cantidad, envíelos con un separador '. Ejemplo: 10.28 | |
currency* | string | Código de moneda | |
order_id* | stringmin: 1max: 128alpha_dash | 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. | |
network | string | null | Código de red blockchain |
url_return | stringmin: 6max: 255url | null | 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. |
url_success | stringmin: 6max: 255url | null | 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. |
url_callback | stringmin: 6max: 255url | null | URL a la que se enviarán los webhooks con estado de pago |
is_payment_multiple | boolean | true | 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. |
lifetime | integermin: 300max: 43200 | 3600 | La vida útil de la factura emitida (en segundos) |
to_currency | string | 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 : btcLa 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. | |
subtract | integermin: 0max: 100 | 0 | 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. |
accuracy_payment_percent | numericmin: 0max: 5 | 0 | 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 |
additional_data | stringmax: 255 | null | Información adicional para usted (no se muestra al cliente) |
currencies | array | Se 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_currencies | array | null | Lista de monedas excluidas para el pago Estructura |
course_source | stringmin: 4max: 20Valores disponibles• Binance• BinanceP2P• Exmo• Kucoin | Si 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_code | string | null | 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. |
discount_percent | integermin: -99max: 100 | null | Números positivos: le permite establecer un descuento. Para establecer un descuento del 5% para el pago, debe aprobar un valor: 5Nú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_refresh | boolean | false | 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. |
Tipo de parámetro
stringDefinición
El monto a pagar.Si hay centavos en la cantidad, envíelos con un separador '.
Ejemplo: 10.28Tipo de parámetro
stringDefinición
Código de monedaTipo de parámetro
stringmin: 1max: 128alpha_dashDefinició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
stringDefinición
Código de red blockchainTipo de parámetro
stringmin: 6max: 255urlDefinició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: 255urlDefinició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: 255urlDefinición
URL a la que se enviarán los webhooks con estado de pagoTipo de parámetro
booleanDefinició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: 43200Definición
La vida útil de la factura emitida (en segundos)Tipo de parámetro
stringDefinició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 : btcLa 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: 100Definició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: 5Definició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 saldoTipo de parámetro
stringmax: 255Definición
Información adicional para usted (no se muestra al cliente)Tipo de parámetro
arrayDefinició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. EstructuraTipo de parámetro
arrayDefinición
Lista de monedas excluidas para el pago EstructuraTipo de parámetro
stringmin: 4max: 20
Valores disponibles- Binance- BinanceP2P- Exmo- KucoinDefinición
El servicio del que se toman los tipos de cambio para la conversión en la factura.Tipo de parámetro
stringDefinició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: 100Definición
Números positivos:
le permite establecer un descuento.
Para establecer un descuento del 5% para el pago, debe aprobar un valor: 5Nú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
booleanDefinició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
Nombre | Definición |
---|---|
currency* | Código de moneda |
network | Código de red blockchain |
Definición
Código de monedaDefinición
Código de red blockchain
* - parámetro obligatorio
Estructura de except_currencies
Nombre | Definición |
---|---|
currency* | Código de moneda |
network | Código de red blockchain |
Definición
Código de monedaDefinición
Código de red blockchain
* - parámetro obligatorio
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"
}'
COPIARRespuesta
Parámetros de respuesta
Nombre | Definición |
---|---|
uuid | Factura uuid |
order_id | ID de pedido en su sistema |
amount | La cantidad de la factura |
payment_amount | Monto pagado por el cliente |
payer_amount | El monto en payer_currency que el cliente debe pagar, incluido un descuento o una comisión adicional. |
discount_percent | Porcentaje de descuento o comisión adicional, que se aprobó en los parámetros de solicitud |
discount | 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 |
payer_currency | La moneda en la que el cliente debe realizar el pago. |
currency | Código de moneda de factura |
merchant_amount | Cantidad en Crypto que se acreditará a su saldo. Si no se especifica la factura payer_currency, el valor será nulo. |
network | Código de red blockchain |
address | Dirección de billetera para el pago |
from | La dirección de la billetera de la que se realizó el pago |
txid | Hachís |
payment_status | Estado de pago Todos los estados de pago |
url | Página de pago de URL |
expired_at | Marca de tiempo de vencimiento de la factura |
is_final | Si la factura está finalizada.Cuando se finaliza la factura, es imposible pagar una factura (se paga o vence) |
additional_data | Información adicional |
created_at | Fecha 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 uuidDefinición
ID de pedido en su sistemaDefinición
La cantidad de la facturaDefinición
Monto pagado por el clienteDefinició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 solicitudDefinició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_amountDefinición
La moneda en la que el cliente debe realizar el pago.Definición
Código de moneda de facturaDefinició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 blockchainDefinición
Dirección de billetera para el pagoDefinición
La dirección de la billetera de la que se realizó el pagoDefinición
HachísDefinición
Estado de pago Todos los estados de pagoDefinición
Página de pago de URLDefinición
Marca de tiempo de vencimiento de la facturaDefinición
Si la factura está finalizada.Cuando se finaliza la factura, es imposible pagar una factura (se paga o vence)Definición
Información adicionalDefinición
Fecha de creación de la factura. La zona horaria es UTC+3Definició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}
COPIARMá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}
COPIARSolicite 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}
COPIARSolicite 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}
COPIARSolicite 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}
COPIARSolicite 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}
COPIARSolicite 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}
COPIARPosibles 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}
COPIARSi proporcionó el código de red que no es compatible
1{
2 "state": 1,
3 "message": "The network was not found"
4}
COPIARSi 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}
COPIARSi sus pagos están bloqueados. En este caso, debe comunicarse con el soporte.
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
COPIARSi 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}
COPIARSi accidentalmente sucede algo al convertir a to_currency :
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
COPIARSi 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}
COPIARSi 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}
COPIARSi no tendrá una billetera comercial activa con una criptomoneda del pago, recibirá este error:
1{
2 "state": 1,
3 "message": "Wallet not found"
4}
COPIARSi 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}
COPIARError Interno del Servidor
código : 500
Respuestas de ejemplo:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
COPIAR