POST
https://api.fps.pro/invoices/create
Format de requêteapplication/json
amountrequired number | Montant du paiement dans la devise fiat indiquée |
currencyrequired string | Devise fiat acceptée (voir la liste des devises fiat) |
order_idstring | ID de commande dans votre système |
networkstring | Vous pouvez indiquer le réseau dans lequel le paiement doit être accepté, ou laisser le champ vide pour accepter les paiements dans tout réseau disponible |
webhook_linkurl | URL à laquelle le statut du paiement sera renvoyé Par défaut: merchant settings |
success_linkurl | URL vers laquelle le client sera redirigé après un paiement réussi Par défaut: merchant settings |
error_linkurl | URL vers laquelle le client sera redirigé après un paiement échoué Par défaut: merchant settings |
part_paymentboolean | Vous pouvez autoriser ou interdire le paiement partiel d'un même paiement Par défaut: true or merchant settings |
ignore_client_amountboolean | Si vous définissez la valeur True, tout montant payé par votre client terminera la facture avec succès Par défaut: false or merchant settings |
payment_accuracynumber | Indiquez une valeur en pourcentage de 1 à 100. Si vous définissez 5 pour un paiement de 100 $, alors un paiement client de 95 $ sera considéré comme réussi et terminé Par défaut: 0 or merchant settings |
feenumber | Valeur de 1 à 100 ajoutant des frais au paiement en pourcentage Par défaut: 0 |
discountnumber | Valeur de 1 à 100 appliquant le pourcentage de réduction indiqué au paiement Par défaut: 0 |
additional_infostring | Toute information |
auto_convertboolean | Convertir automatiquement le paiement après réception Par défaut: false |
Format de réponsedata object
iduuid | ID de facture |
info.currencystring | null | Code de devise fiat de la facture |
info.tokenstring | null | Token de paiement |
info.networkstring | null | Réseau de paiement |
info.addressstring | null | Adresse du portefeuille pour le paiement |
amount.starting_pricenumber | Montant initial de la facture en fiat |
amount.discount_percentnumber | Montant de la remise en pourcentage |
amount.merchant_fee_percentnumber | Commission du marchand en pourcentage |
amount.service_fee_percentnumber | null | Commission de service de la plateforme en pourcentage |
amount.totalnumber | Montant final après remise et commission |
url.webhookurl | null | URL Webhook du marchand |
url.successurl | null | URL de redirection après paiement réussi |
url.errorurl | null | URL de redirection après paiement échoué |
url.paymenturl | Lien de la page de paiement |
options.part_paymentboolean | Indique si le paiement partiel est autorisé |
options.ignore_client_amountboolean | Indique si le montant exact du client est ignoré |
options.payment_accuracynumber | Tolérance de paiement autorisée |
additional.order_idstring | null | ID de commande externe |
additional.infostring | null | Informations supplémentaires de la commande |
statusstring | Statut actuel de la facture |
expired_atstring (ISO 8601, UTC) | Date d'expiration de la facture |
created_atstring (ISO 8601, UTC) | Date de création de la facture |
Exemples de requête
curl --request POST 'https://api.fps.pro/invoices/create' \
--header 'Content-Type: application/json' \
--header 'X-Client-Id: YOUR_CLIENT_ID' \
--header 'X-Timestamp: 1720000000' \
--header 'X-Signature: YOUR_HMAC_SHA256_SIGNATURE' \
--data '{
"amount": 150.75,
"currency": "usd",
"order_id": "ORD-1001",
"network": "tron",
"webhook_link": "https://merchant.example.com/webhooks/fps",
"success_link": "https://merchant.example.com/payments/success",
"error_link": "https://merchant.example.com/payments/error",
"part_payment": true,
"ignore_client_amount": false,
"payment_accuracy": 0,
"fee": 1.5,
"discount": 3,
"additional_info": "Premium subscription",
"auto_convert": false
}'Réponse réussie
{
"status": 201,
"message": "invoice created",
"data": {
"id": "0a718b02-138d-495a-9661-39ca52139c07",
"info": {
"currency": "USD",
"token": null,
"network": null,
"address": null
},
"amount": {
"starting_price": 1000,
"discount_percent": 0,
"merchant_fee_percent": 10,
"service_fee_percent": 1,
"total": 1100
},
"url": {
"webhook": "https://merchant.example/webhook",
"success": "https://merchant.example/success",
"error": "https://merchant.example/error",
"payment": "https://frontend.example/0a718b02-138d-495a-9661-39ca52139c07"
},
"options": {
"part_payment": true,
"ignore_client_amount": false,
"payment_accuracy": 0
},
"additional": {
"order_id": "1",
"info": ""
},
"status": "init",
"expired_at": "2026-01-05 14:30:43",
"created_at": "2026-01-05T13:30:43.000Z"
}
}Erreurs
La liste détaillée des erreurs d'autorisation se trouve dans Autorisation - Erreurs
{
"status": 422,
"message": "Validation Error",
"errors": [
{
"field": "currency",
"message": "currency is required"
}
]
}{
"status": 500,
"message": "Internal Server Error"
}