Créer une facture
Demande
Paramètres de requête
Nom | Type de paramètre | Valeur par défaut | Définition |
---|---|---|---|
amount* | string | Montant à payer.S'il y a des sous dans le montant, envoyez-les avec un séparateur '.' Exemple: 10.28 | |
currency* | string | Code de devise | |
order_id* | stringmin: 1max: 128alpha_dash | 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. | |
network | string | null | Code réseau blockchain |
url_return | stringmin: 6max: 255url | null | Avant de payer, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à la page Store à cette URL. |
url_success | stringmin: 6max: 255url | null | Après un paiement réussi, l'utilisateur peut cliquer sur le bouton sur le formulaire de paiement et revenir à cette URL. |
url_callback | stringmin: 6max: 255url | null | URL à laquelle les webhooks avec l'état de paiement seront envoyés |
is_payment_multiple | boolean | true | 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. |
lifetime | integermin: 300max: 43200 | 3600 | La durée de vie de la facture émise (en quelques secondes) |
to_currency | string | 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 : btcL'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. | |
subtract | integermin: 0max: 100 | 0 | 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. |
accuracy_payment_percent | numericmin: 0max: 5 | 0 | 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 |
additional_data | stringmax: 255 | null | Informations supplémentaires pour vous (non montrée au client) |
currencies | array | Le 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_currencies | array | null | Liste des devises exclues pour le paiement Structure |
course_source | stringmin: 4max: 20Valeurs disponibles• Binance• BinanceP2P• Exmo• Kucoin | S'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_code | string | null | 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. |
discount_percent | integermin: -99max: 100 | null | Nombres positifs: Vous permet de définir une remise. Pour fixer une réduction de 5% pour le paiement, vous devez passer une valeur: 5Nombres 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_refresh | boolean | false | 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. |
Type de paramètre
stringDéfinition
Montant à payer.S'il y a des sous dans le montant, envoyez-les avec un séparateur '.'
Exemple: 10.28Type de paramètre
stringDéfinition
Code de deviseType de paramètre
stringmin: 1max: 128alpha_dashDé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
stringDéfinition
Code réseau blockchainType de paramètre
stringmin: 6max: 255urlDé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: 255urlDé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: 255urlDéfinition
URL à laquelle les webhooks avec l'état de paiement seront envoyésType de paramètre
booleanDé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: 43200Définition
La durée de vie de la facture émise (en quelques secondes)Type de paramètre
stringDé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 : btcL'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: 100Dé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: 5Dé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 soldeType de paramètre
stringmax: 255Définition
Informations supplémentaires pour vous (non montrée au client)Type de paramètre
arrayDé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. StructureType de paramètre
arrayDéfinition
Liste des devises exclues pour le paiement StructureType de paramètre
stringmin: 4max: 20
Valeurs disponibles- Binance- BinanceP2P- Exmo- KucoinDéfinition
Le service à partir duquel les taux de change sont pris pour la conversion dans la facture.Type de paramètre
stringDé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: 100Dé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: 5Nombres 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
booleanDé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
Nom | Définition |
---|---|
currency* | Code de devise |
network | Code réseau blockchain |
Définition
Code de deviseDéfinition
Code réseau blockchain
* - paramètre obligatoire
Structure de except_currencies
Nom | Définition |
---|---|
currency* | Code de devise |
network | Code réseau blockchain |
Définition
Code de deviseDéfinition
Code réseau blockchain
* - paramètre obligatoire
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"
}'
COPIERéponse
Paramètres de réponse
Nom | Définition |
---|---|
uuid | Facture uuid |
order_id | Commandez ID dans votre système |
amount | Le montant de la facture |
payment_amount | Montant payé par le client |
payer_amount | Le montant dans payer_currency que le client doit payer, y compris une remise ou une commission supplémentaire. |
discount_percent | Pourcentage de remise ou de commission supplémentaire, qui a été adopté dans les paramètres de demande |
discount | 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 |
payer_currency | La monnaie dans laquelle le client doit effectuer le paiement. |
currency | Code de devise de facture |
merchant_amount | Montant en crypto qui sera crédité à votre solde. Si la facture Payer_Currency n'est pas spécifiée, la valeur sera nulle. |
network | Code réseau blockchain |
address | Adresse du portefeuille pour le paiement |
from | L'adresse du portefeuille à partir duquel le paiement a été effectué |
txid | Hachage de transaction |
payment_status | Statut de paiement Tous les statuts de paiement |
url | Page de paiement URL |
expired_at | Horodatage de l'expiration de la facture |
is_final | 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) |
additional_data | Informations Complémentaires |
created_at | Date de création de la facture. Le fuseau horaire est UTC + 3 |
updated_at | Dernière date mise à jour de la facture. Le fuseau horaire est UTC + 3 |
Définition
Facture uuidDéfinition
Commandez ID dans votre systèmeDéfinition
Le montant de la factureDéfinition
Montant payé par le clientDé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 demandeDé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_amountDéfinition
La monnaie dans laquelle le client doit effectuer le paiement.Définition
Code de devise de factureDé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 blockchainDéfinition
Adresse du portefeuille pour le paiementDéfinition
L'adresse du portefeuille à partir duquel le paiement a été effectuéDéfinition
Hachage de transactionDéfinition
Statut de paiement Tous les statuts de paiementDéfinition
Page de paiement URLDéfinition
Horodatage de l'expiration de la factureDé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émentairesDéfinition
Date de création de la facture. Le fuseau horaire est UTC + 3Dé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}
COPIEPlus 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}
COPIEDemandez 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}
COPIEDemandez 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}
COPIEDemander 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}
COPIEDemandez 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}
COPIEDemandez 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}
COPIEErreurs 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}
COPIESi 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}
COPIESi 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}
COPIESi vos paiements sont bloqués. Dans ce cas, vous devez contacter le support.
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
COPIESi 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}
COPIESi accidentellement, quelque chose se produit lors de la convertis en to_currency :
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
COPIESi 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}
COPIESi 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}
COPIESi 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}
COPIESi 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}
COPIEErreur interne du serveur
code : 500
Exemples de réponses:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
COPIE