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*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: 100alpha_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.
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_currencystring-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.
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
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: 90nullNombres 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: 100alpha_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

Valeur par défaut

null

Définition

Code réseau blockchain

Type de paramètre

stringmin: 6max: 255url

Valeur par défaut

null

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

Valeur par défaut

null

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

Valeur par défaut

null

Définition

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

Type de paramètre

boolean

Valeur par défaut

true

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

Valeur par défaut

3600

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

Valeur par défaut

0

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

Valeur par défaut

0

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

Valeur par défaut

null

Définition

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

Type de paramètre

array

Valeur par défaut

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.

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

Valeur par défaut

null

Définition

Liste des devises exclues pour le paiement Structure

Type de paramètre

string

Valeur par défaut

null

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: 90

Valeur par défaut

null

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

Valeur par défaut

false

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

NomType de paramètreDéfinition
uuidstringFacture uuid
order_idstring|nullCommandez ID dans votre système
amountstringLe montant de la facture
payment_amountstring|nullMontant payé par le client
payment_amount_usdstring|nullMontant réellement payé par le client en USD
payer_amountstring|nullLe montant dans payer_currency que le client doit payer, y compris une remise ou une commission supplémentaire.
payer_amount_exchange_ratestring|nullTaux de change appliqué lors de l'exécution du paiement
discount_percentinteger|nullPourcentage de remise ou de commission supplémentaire, qui a été adopté dans les paramètres de demande
discountstringMontant 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_currencystring|nullLa monnaie dans laquelle le client doit effectuer le paiement.
currencystringCode de devise de facture
commentsstring|nullCommentaire
merchant_amountstring|nullMontant en crypto qui sera crédité à votre solde. Si la facture Payer_Currency n'est pas spécifiée, la valeur sera nulle.
networkstring|nullCode réseau blockchain
addressstring|nullAdresse du portefeuille pour le paiement
fromstring|nullL'adresse du portefeuille à partir duquel le paiement a été effectué
txidstring|nullHachage de transaction
payment_statusstringStatut de paiement Tous les statuts de paiement
urlstringPage de paiement URL
expired_atinteger|nullHorodatage de l'expiration de la facture
statusstringStatut de paiement Tous les statuts de paiement
is_finalbooleanSi 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_datastring|nullInformations Complémentaires
created_atstring|nullDate de création de la facture. Le fuseau horaire est UTC + 3
updated_atstring|nullDernière date mise à jour de la facture. Le fuseau horaire est UTC + 3
commissionstring|nullMontant de la commission Cryptomus
address_qr_codestring|nullCode QR de l'adresse
convertDes informations sur la monnaie à laquelle le paiement sera automatiquement converti. La conversion est effectuée à partir de Payer_Currency en USDTPrésent si convert_currency_code est transmis
convert.to_currencystringLe code de devise auquel le paiement sera converti
convert.commissionstringFrais de conversion
convert.ratestring|nullTaux de conversion
convert.amountstring|nullMontant de conversion to_currency qui a été ajouté au solde du marchand, avec toutes les commissions soustraites.
convert_fromInformations concernant la devise à partir de laquelle un paiement incorrect a été effectuéPrésentez-vous si le paiement est incorrect.
convert_from.from_currencystringDe la monnaie
convert_from.from_amountstring|nullMontant de
convert_from.from_networkstring|nullCode réseau blockchain

Type de paramètre

string

Définition

Facture uuid

Type de paramètre

string|null

Définition

Commandez ID dans votre système

Type de paramètre

string

Définition

Le montant de la facture

Type de paramètre

string|null

Définition

Montant payé par le client

Type de paramètre

string|null

Définition

Montant réellement payé par le client en USD

Type de paramètre

string|null

Définition

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

Type de paramètre

string|null

Définition

Taux de change appliqué lors de l'exécution du paiement

Type de paramètre

integer|null

Définition

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

Type de paramètre

string

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

Type de paramètre

string|null

Définition

La monnaie dans laquelle le client doit effectuer le paiement.

Type de paramètre

string

Définition

Code de devise de facture

Type de paramètre

string|null

Définition

Commentaire

Type de paramètre

string|null

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.

Type de paramètre

string|null

Définition

Code réseau blockchain

Type de paramètre

string|null

Définition

Adresse du portefeuille pour le paiement

Type de paramètre

string|null

Définition

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

Type de paramètre

string|null

Définition

Hachage de transaction

Type de paramètre

string

Définition

Statut de paiement Tous les statuts de paiement

Type de paramètre

string

Définition

Page de paiement URL

Type de paramètre

integer|null

Définition

Horodatage de l'expiration de la facture

Type de paramètre

string

Définition

Statut de paiement Tous les statuts de paiement

Type de paramètre

boolean

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)

Type de paramètre

string|null

Définition

Informations Complémentaires

Type de paramètre

string|null

Définition

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

Type de paramètre

string|null

Définition

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

Type de paramètre

string|null

Définition

Montant de la commission Cryptomus

Type de paramètre

string|null

Définition

Code QR de l'adresse

Définition

Des informations sur la monnaie à laquelle le paiement sera automatiquement converti. La conversion est effectuée à partir de Payer_Currency en USDTPrésent si convert_currency_code est transmis

Type de paramètre

string

Définition

Le code de devise auquel le paiement sera converti

Type de paramètre

string

Définition

Frais de conversion

Type de paramètre

string|null

Définition

Taux de conversion

Type de paramètre

string|null

Définition

Montant de conversion to_currency qui a été ajouté au solde du marchand, avec toutes les commissions soustraites.

Définition

Informations concernant la devise à partir de laquelle un paiement incorrect a été effectuéPrésentez-vous si le paiement est incorrect.

Type de paramètre

string

Définition

De la monnaie

Type de paramètre

string|null

Définition

Montant de

Type de paramètre

string|null

Définition

Code réseau blockchain

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