Créer une facture

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

Demande

Paramètres de requête

NomType de paramètreValeur par défautDéfinition
amount*stringMontant à payer.S'il y a des sous dans le montant, envoyez-les avec un séparateur '.'
Exemple: 10.28
currency*stringCode de devise
order_id*stringmin: 1max: 128alpha_dashCommandez ID dans votre systèmeLe paramètre doit être une chaîne composée de caractères alphabétiques, de nombres, de soulignements et de tirets. Il ne doit contenir aucun espace ou caractères spéciaux.Le order_id doit être unique dans les factures marchands / portefeuilles statiques / paiements de récidiveLorsque nous trouvons une facture existante avec order_id , nous retournons ses détails, une nouvelle facture ne sera pas créée.
networkstringnullCode réseau blockchain
url_returnstringmin: 6max: 255urlnullAvant de payer, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à la page Store à cette URL.
url_successstringmin: 6max: 255urlnullAprès un paiement réussi, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à cette URL.
url_callbackstringmin: 6max: 255urlnullURL à laquelle les webhooks avec l'état de paiement seront envoyés
is_payment_multiplebooleantrueSi l'utilisateur est autorisé à payer le montant restant. Ceci est utile lorsque l'utilisateur n'a pas payé le montant total de la facture pour une transaction, et vous souhaitez lui permettre de payer le montant complet. Si vous désactivez cette fonctionnalité, la facture finalisera après avoir reçu le premier paiement et vous recevrez des fonds à votre solde.
lifetimeintegermin: 300max: 432003600La durée de vie de la facture émise (en quelques secondes)
to_currencystringLe paramètre permet de préciser la devise cible de conversion du montant de la facture. Lors de la création d'une facture, vous fournissez un montant et une devise, et l'API convertira ce montant en la valeur équivalente dans to_currency.Par exemple, pour créer une facture pour 20 USD dans Bitcoin:
amount: 20
currency : USD
to_currency : btc
L'API convertira 20 USD à son équivalent en BTC en fonction du taux de change actuel et l'utilisateur paiera en BTCLe to_currency doit toujours être le code de crypto-monnaie, pas un code de monnaie fiduciaire.
subtractintegermin: 0max: 1000Pourcentage de la commission de paiement facturée au clientSi vous avez un taux de 1%, alors si vous créez une facture pour 100 USDT avec Soustraire = 100 (le client paie 100%), le client devra payer 101 USDT.
accuracy_payment_percentnumericmin: 0max: 50Inégation acceptable en paiement.Par exemple, si vous passez la valeur 5, la facture sera marquée comme payée même si le client n'a payé que 95% du montant.Le montant de paiement réel sera crédité au solde
additional_datastringmax: 255nullInformations supplémentaires pour vous (non montrée au client)
currenciesarrayLe tableau des devises disponibles à partir des paramètres de votre marchand est utilisé (si le paramètre n'est pas défini, toutes les crypto-monnaies prises en charge sont utilisées par défaut).Les devises disponibles sont définies dans la section Paramètres marchands.Liste des devises autorisées pour le paiement. Ceci est utile si vous souhaitez limiter la liste des pièces que vos clients peuvent utiliser pour payer les factures. Structure
except_currenciesarraynullListe des devises exclues pour le paiement Structure
course_sourcestringmin: 4max: 20Valeurs disponiblesBinanceBinanceP2PExmoKucoinS'il n'est pas adopté, des taux de change Cryptomus sont utilisés.Le service à partir duquel les taux de change sont pris pour la conversion dans la facture.
from_referral_codestringnullLe marchand qui fait la demande se connecte à un référent par code.Par exemple, vous êtes une application qui génère des factures via l'API Cryptomus et vos clients sont d'autres magasins.
Ils entrent dans leur clé API et leur identifiant de marchand dans votre demande, et vous envoyez des demandes avec leurs informations d'identification et passant votre code de référence.
Ainsi, vos clients deviennent des références sur votre compte Cryptomus et vous recevrez des revenus de leur chiffre d'affaires.
discount_percentintegermin: -99max: 100nullNombres positifs:
Vous permet de définir une remise.
Pour fixer une réduction de 5% pour le paiement, vous devez passer une valeur: 5
Nombres négatifs:
Vous permet de définir une commission supplémentaire personnalisée.
Pour définir une commission supplémentaire de 10% pour le paiement, vous devez passer une valeur: -10Le pourcentage de remise lors de la création d'une facture n'est pris en compte que si la facture a une crypto-monnaie spécifique.
is_refreshbooleanfalseEn utilisant ce paramètre, vous pouvez mettre à jour la durée de vie et obtenir une nouvelle adresse pour la facture si la durée de vie a expiré.Pour ce faire, vous devez transmettre tous les paramètres requis, et la facture avec Order order_id est rafraîchie.Seule address , payment_status et expired_at sont modifiées. Aucun autre champ n'est modifié, quels que soient les paramètres passés.

Type de paramètre

string

Définition

Montant à payer.S'il y a des sous dans le montant, envoyez-les avec un séparateur '.'
Exemple: 10.28

Type de paramètre

string

Définition

Code de devise

Type de paramètre

stringmin: 1max: 128alpha_dash

Définition

Commandez ID dans votre systèmeLe paramètre doit être une chaîne composée de caractères alphabétiques, de nombres, de soulignements et de tirets. Il ne doit contenir aucun espace ou caractères spéciaux.Le order_id doit être unique dans les factures marchands / portefeuilles statiques / paiements de récidiveLorsque nous trouvons une facture existante avec order_id , nous retournons ses détails, une nouvelle facture ne sera pas créée.

Type de paramètre

string

Définition

Code réseau blockchain

Type de paramètre

stringmin: 6max: 255url

Définition

Avant de payer, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à la page Store à cette URL.

Type de paramètre

stringmin: 6max: 255url

Définition

Après un paiement réussi, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à cette URL.

Type de paramètre

stringmin: 6max: 255url

Définition

URL à laquelle les webhooks avec l'état de paiement seront envoyés

Type de paramètre

boolean

Définition

Si l'utilisateur est autorisé à payer le montant restant. Ceci est utile lorsque l'utilisateur n'a pas payé le montant total de la facture pour une transaction, et vous souhaitez lui permettre de payer le montant complet. Si vous désactivez cette fonctionnalité, la facture finalisera après avoir reçu le premier paiement et vous recevrez des fonds à votre solde.

Type de paramètre

integermin: 300max: 43200

Définition

La durée de vie de la facture émise (en quelques secondes)

Type de paramètre

string

Définition

Le paramètre permet de préciser la devise cible de conversion du montant de la facture. Lors de la création d'une facture, vous fournissez un montant et une devise, et l'API convertira ce montant en la valeur équivalente dans to_currency.Par exemple, pour créer une facture pour 20 USD dans Bitcoin:
amount: 20
currency : USD
to_currency : btc
L'API convertira 20 USD à son équivalent en BTC en fonction du taux de change actuel et l'utilisateur paiera en BTCLe to_currency doit toujours être le code de crypto-monnaie, pas un code de monnaie fiduciaire.

Type de paramètre

integermin: 0max: 100

Définition

Pourcentage de la commission de paiement facturée au clientSi vous avez un taux de 1%, alors si vous créez une facture pour 100 USDT avec Soustraire = 100 (le client paie 100%), le client devra payer 101 USDT.

Type de paramètre

numericmin: 0max: 5

Définition

Inégation acceptable en paiement.Par exemple, si vous passez la valeur 5, la facture sera marquée comme payée même si le client n'a payé que 95% du montant.Le montant de paiement réel sera crédité au solde

Type de paramètre

stringmax: 255

Définition

Informations supplémentaires pour vous (non montrée au client)

Type de paramètre

array

Définition

Liste des devises autorisées pour le paiement. Ceci est utile si vous souhaitez limiter la liste des pièces que vos clients peuvent utiliser pour payer les factures. Structure

Type de paramètre

array

Définition

Liste des devises exclues pour le paiement Structure

Type de paramètre

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

Définition

Le service à partir duquel les taux de change sont pris pour la conversion dans la facture.

Type de paramètre

string

Définition

Le marchand qui fait la demande se connecte à un référent par code.Par exemple, vous êtes une application qui génère des factures via l'API Cryptomus et vos clients sont d'autres magasins.
Ils entrent dans leur clé API et leur identifiant de marchand dans votre demande, et vous envoyez des demandes avec leurs informations d'identification et passant votre code de référence.
Ainsi, vos clients deviennent des références sur votre compte Cryptomus et vous recevrez des revenus de leur chiffre d'affaires.

Type de paramètre

integermin: -99max: 100

Définition

Nombres positifs:
Vous permet de définir une remise.
Pour fixer une réduction de 5% pour le paiement, vous devez passer une valeur: 5
Nombres négatifs:
Vous permet de définir une commission supplémentaire personnalisée.
Pour définir une commission supplémentaire de 10% pour le paiement, vous devez passer une valeur: -10Le pourcentage de remise lors de la création d'une facture n'est pris en compte que si la facture a une crypto-monnaie spécifique.

Type de paramètre

boolean

Définition

En utilisant ce paramètre, vous pouvez mettre à jour la durée de vie et obtenir une nouvelle adresse pour la facture si la durée de vie a expiré.Pour ce faire, vous devez transmettre tous les paramètres requis, et la facture avec Order order_id est rafraîchie.Seule address , payment_status et expired_at sont modifiées. Aucun autre champ n'est modifié, quels que soient les paramètres passés.

* - paramètre obligatoire

Structure de Devises

NomDéfinition
currency*Code de devise
networkCode réseau blockchain

Définition

Code de devise

Définition

Code réseau blockchain

* - paramètre obligatoire

Structure de except_currencies

NomDéfinition
currency*Code de devise
networkCode réseau blockchain

Définition

Code de devise

Définition

Code réseau blockchain

* - paramètre obligatoire

فاکتور در زمان ایجاد فقط در صورت ایجاد پارامتر ارز یا to_currency یک رمزنگاری رمزنگاری شده و پارامتر شبکه خواهد بود و پارامتر شبکه تصویب می شود (یا یک رمزنگاری فقط یک شبکه دارد ، به عنوان مثال BTC).

Demander un exemple

Vous trouverez ci-dessous un exemple d'exemple avec le nombre minimum requis de paramètres. Dans ce cas, une facture sera créée avec la monnaie fiduciaire USD. Sur la page de paiement, l'utilisateur pourra sélectionner la crypto-monnaie et le réseau pour payer cette facture.


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

Réponse

Paramètres de réponse

NomDéfinition
uuidFacture uuid
order_idCommandez ID dans votre système
amountLe montant de la facture
payment_amountMontant payé par le client
payer_amountLe montant dans payer_currency que le client doit payer, y compris une remise ou une commission supplémentaire.
discount_percentPourcentage de remise ou de commission supplémentaire, qui a été adopté dans les paramètres de demande
discountMontant réel de remise ou commission supplémentaire en crypto-monnaie.Par exemple, si le montant de la facture est de 15 USDT et que Discount_percent est de -5, la valeur de réduction sera de -0,75c'est-à-dire amount + discount = payer_amount
payer_currencyLa monnaie dans laquelle le client doit effectuer le paiement.
currencyCode de devise de facture
merchant_amountMontant en crypto qui sera crédité à votre solde. Si la facture Payer_Currency n'est pas spécifiée, la valeur sera nulle.
networkCode réseau blockchain
addressAdresse du portefeuille pour le paiement
fromL'adresse du portefeuille à partir duquel le paiement a été effectué
txidHachage de transaction
payment_statusStatut de paiement Tous les statuts de paiement
urlPage de paiement URL
expired_atHorodatage de l'expiration de la facture
is_finalSi la facture est finalisée.Lorsque la facture est finalisée, il est impossible de payer une facture (elle est payée ou expirée)
additional_dataInformations Complémentaires
created_atDate de création de la facture. Le fuseau horaire est UTC + 3
updated_atDernière date mise à jour de la facture. Le fuseau horaire est UTC + 3

Définition

Facture uuid

Définition

Commandez ID dans votre système

Définition

Le montant de la facture

Définition

Montant payé par le client

Définition

Le montant dans payer_currency que le client doit payer, y compris une remise ou une commission supplémentaire.

Définition

Pourcentage de remise ou de commission supplémentaire, qui a été adopté dans les paramètres de demande

Définition

Montant réel de remise ou commission supplémentaire en crypto-monnaie.Par exemple, si le montant de la facture est de 15 USDT et que Discount_percent est de -5, la valeur de réduction sera de -0,75c'est-à-dire amount + discount = payer_amount

Définition

La monnaie dans laquelle le client doit effectuer le paiement.

Définition

Code de devise de facture

Définition

Montant en crypto qui sera crédité à votre solde. Si la facture Payer_Currency n'est pas spécifiée, la valeur sera nulle.

Définition

Code réseau blockchain

Définition

Adresse du portefeuille pour le paiement

Définition

L'adresse du portefeuille à partir duquel le paiement a été effectué

Définition

Hachage de transaction

Définition

Statut de paiement Tous les statuts de paiement

Définition

Page de paiement URL

Définition

Horodatage de l'expiration de la facture

Définition

Si la facture est finalisée.Lorsque la facture est finalisée, il est impossible de payer une facture (elle est payée ou expirée)

Définition

Informations Complémentaires

Définition

Date de création de la facture. Le fuseau horaire est UTC + 3

Définition

Dernière date mise à jour de la facture. Le fuseau horaire est UTC + 3

Exemple de réponse


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

Plus d'exemples

Demandez des données pour créer une facture pour 20 USDT dans le réseau TRON. La facture aura une adresse au moment de la création.


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

Demandez des données pour créer une facture pour 25 USD et permettez aux clients de payer uniquement par USDT dans n'importe quel réseau.


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

Demandez des données pour créer une facture pour 25 USD et permettez aux clients de payer uniquement par USDT dans TRON Network. La facture aura une adresse au moment de la création.


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

Demander des données pour créer une facture pour 20 USDT et permettre aux clients de payer dans tous les réseaux disponibles


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

Demandez des données pour créer une facture pour 20 USD et permettez aux clients de payer uniquement dans Bitcoin. La facture aura une adresse au moment de la création.


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

Demandez des données pour créer une facture pour 0,5 BTC et permettez aux clients de payer uniquement en Bitcoin. La facture aura une adresse au moment de la création.


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

Erreurs possibles

Erreurs de validation

code : 422

Exemples de réponses:

Si un paramètre est requis et non passé:


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

Si vous avez fourni le code réseau qui n'est pas pris en charge


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

Si nous ne prenons pas en charge le code de devise que vous avez fourni dans le paramètre devise :


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

Si vos paiements sont bloqués. Dans ce cas, vous devez contacter le support.


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

Si nous ne trouvons pas le service de paiement de la devise qui a été transmis dans le paramètre to_currency :


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

Si accidentellement, quelque chose se produit lors de la convertis en to_currency :


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

Si le montant du paiement est inférieur au montant pris en charge minimum pour la crypto-monnaie, vous recevrez ce message d'erreur:


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

Si le montant du paiement est supérieur au montant maximal pris en charge pour la crypto-monnaie, vous recevrez ce message d'erreur:


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

Si vous n'aurez pas de portefeuille marchand actif avec une crypto-monnaie du paiement, vous recevrez cette erreur:


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

Si le travail technique se produit et que le paiement est temporairement indisponible, vous pouvez recevoir ces messages d'erreur:


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


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


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

Erreur interne du serveur

code : 500

Exemples de réponses:


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