Aller au contenu principal

Associer un paiement à une facture

Aperçu

Dans l'immense majorité des cas, les clients paient exactement le montant indiqué dans la facture sur votre portefeuille crypto. Mais parfois un client se trompe et paie autre chose que le montant réservé. Dans ce cas, le service ne peut pas associer automatiquement le paiement à la facture et marquer la facture comme payée. Si cela arrive, vous pouvez, en tant que marchand, associer le paiement à la facture manuellement, à condition d'être certain du paiement que vous attendez. Vous pouvez le faire dans le tableau de bord ou via l'API.

Conditions d'association

L'association ne passe que lorsque toutes les conditions sont réunies à la fois :

  1. Statut de la facture — unpaid ou expired. Les factures annulées et déjà payées ne peuvent pas être associées. L'annulation est irréversible.
  2. Le paiement n'est pas encore associé à une autre facture. Un paiement ne peut être lié qu'à une seule facture.
  3. Le paiement est arrivé sur un portefeuille impliqué dans cette facture.
  4. Le paiement tient dans la fenêtre de paiement disponible — 24 heures avant et 24 heures après la création de la facture. Un paiement arrivé avant la création de la facture peut être associé ; un paiement hors de la fenêtre, non.

Si la facture appartient à un autre projet et que la clé est restreinte à un projet, la méthode répond Restricted project. Si une autre condition échoue, une erreur générique revient sans raison indiquée — vérifiez les conditions de votre côté.

Ce qui se passe après l'association

  • La facture passe au statut Payée.
  • Les notifications partent vers l'e-mail, le bot Telegram et le Webhook URL — exactement comme en association automatique.
  • Le montant de la facture invoice.amountFiatUSD est remplacé par le montant réellement reçu, converti en USD au taux du moment de l'association. Le montant d'origine dans invoice.amountFiat ne change pas.
  • La commission du service est recalculée au tarif du projet sur le montant que vous avez reçu. En cas de paiement excédentaire, elle est plus élevée que celle calculée à la création de la facture ; en cas de paiement insuffisant, plus basse.

Requête

curl -X POST https://api.bitsby.app/invoices/bindPayment \
-H "Authorization: Token MSvL2ltaDZdWVjmZURURMVWhqSJLT2NURjhL2Fla1Z1T1IxQTltKs1T3Ay" \
-F "invoiceId=ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c" \
-F "paymentId=a4c9e2ee-9a03-43e5-a1a1-00caf679d16a"

Paramètres de la requête

ParamètreType de donnéesDescriptionExempleObligatoire ?
invoiceIdUUIDID de la facture au format UUIDade9550d-3dc7-4fd3-b94e-3b4c12aaaa0coui
paymentIdUUIDID du paiement au format UUIDa4c9e2ee-9a03-43e5-a1a1-00caf679d16aoui

Exemple de réponse

{
"result":"success",
"data":"Invoice binded to payment"
}