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 :
- Statut de la facture —
unpaidouexpired. Les factures annulées et déjà payées ne peuvent pas être associées. L'annulation est irréversible. - Le paiement n'est pas encore associé à une autre facture. Un paiement ne peut être lié qu'à une seule facture.
- Le paiement est arrivé sur un portefeuille impliqué dans cette facture.
- 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.amountFiatUSDest remplacé par le montant réellement reçu, converti en USD au taux du moment de l'association. Le montant d'origine dansinvoice.amountFiatne 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ètre | Type de données | Description | Exemple | Obligatoire ? |
|---|---|---|---|---|
invoiceId | UUID | ID de la facture au format UUID | ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c | oui |
paymentId | UUID | ID du paiement au format UUID | a4c9e2ee-9a03-43e5-a1a1-00caf679d16a | oui |
Exemple de réponse
{
"result":"success",
"data":"Invoice binded to payment"
}