BitriPay
ONE QR. ONE GATEWAY. EVERY ELIGIBLE RAIL.Pay Local. Fund Global. Settle Your Way.
développeurs

Des notifications auxquelles vous pouvez vous fier, et que vous ne pouvez pas perdre

Une notification vaut ce que vaut votre capacité à la vérifier et à survivre à celle que vous ratez. Deux signatures indépendantes, un calendrier de reprise publié sur 24 heures, des identifiants d’événement pour dédupliquer, et une boîte de réception pour avant que votre serveur n’existe.

Une notification est la promesse que votre logiciel l’apprendra avant votre client. Cette promesse vaut exactement ce que valent votre capacité à faire confiance au message et votre capacité à survivre à celui que vous ratez.

Lui faire confiance : deux signatures

Chaque livraison porte deux preuves indépendantes.

La première est un HMAC-SHA256 sur le corps horodaté, avec le secret appartenant à votre point de terminaison. Si vous pouvez le vérifier, le message vient de quelqu’un qui détient ce secret et le corps n’a pas été modifié.

La seconde est une signature Ed25519 de la clé propre à la plateforme, que vous récupérez dans un registre public gérant la rotation. Celle-ci ne dépend pas du tout du secret de votre point de terminaison, ce qui compte si ce secret s’est déjà trouvé dans un endroit dont vous n’êtes plus très sûr.

Vérifiez l’une. Vérifiez les deux. Puis rejetez tout horodatage de plus de cinq minutes, et le rejeu est fermé.

Y survivre : reprises et identifiants

La livraison est au moins une fois. Nous le disons clairement parce que c’est vrai, et parce que l’affirmation contraire est du marketing.

Votre serveur tombera parfois. Les déploiements existent. Quand une livraison échoue, elle est réessayée selon un calendrier publié sur 24 heures — pas abandonnée parce que vous redémarriez.

La conséquence du « au moins une fois » est que vous recevrez parfois deux fois le même événement. Chaque événement porte un identifiant. Gardez ceux que vous avez traités et ignorez les répétitions : vous avez transformé une livraison au moins une fois en un traitement exactement une fois, qui est ce que vous vouliez depuis le début.

Répondez vite, travaillez lentement

Accusez réception rapidement, puis faites votre travail. Si vous marquez la commande, envoyez le courriel au client et mettez à jour l’entrepôt avant de répondre, une étape lente quelque part dans cette chaîne devient une reprise, qui devient un doublon, qui devient un second courriel.

Prenez l’événement, stockez-le, répondez, et traitez depuis votre propre file.

Le rejeu vous appartient

Tout peut être rejoué depuis le tableau de bord. Si vous avez livré un bug qui a perdu silencieusement une heure d’événements, vous n’avez besoin de demander de l’aide à personne — vous rejouez la fenêtre vous-même.

Avant que votre serveur n’existe

Le moment inconfortable de toute intégration : il vous faut voir un vrai événement pour écrire le traitement, et il vous faut le traitement pour recevoir un vrai événement.

Il existe une boîte de réception intégrée. Les événements de votre compte arrivent quelque part où vous pouvez les lire : vous regardez la forme exacte d’un véritable événement — les vrais champs, les vraies valeurs — avant d’écrire une ligne de code contre lui.

Ce que vous pouvez vérifier

Ce sont des faits sur la plateforme en fonctionnement, pas des adjectifs. Chacun est visible dans le produit, dans la référence de l’API ou dans le grand livre.

  • Deux signatures par livraison : un HMAC-SHA256 sur le corps horodaté avec le secret de votre point de terminaison, et une signature Ed25519 du registre de clés de la plateforme.
  • Les reprises suivent un calendrier publié sur 24 heures ; les livraisons ne sont pas abandonnées parce que votre serveur redémarrait.
  • Chaque événement porte un identifiant : une livraison répétée peut être reconnue et ignorée.
  • Une boîte de réception intégrée reçoit les événements d’un compte qui n’a encore nulle part où héberger un point de terminaison : l’intégration peut être construite avant le serveur.

Ce que cela coûte

Inclus. Il n’y a pas de frais par livraison.

Est-ce activé ?

La disponibilité dépend des autorisations en place et de ce que l’administrateur d’un déploiement donné a activé. Cela change, un article non — la réponse vivante est donc sur la page de la fonctionnalité, qui la lit dans la plateforme elle-même : Notifications signées sur la page des fonctionnalités.

À lire ensuite

Frequently asked questions

Pourquoi « au moins une fois » et pas « exactement une fois » ?

Parce que la livraison « exactement une fois » sur un réseau n’existe pas, et qu’un prestataire qui la revendique décrit autre chose. Chaque événement a un identifiant ; dédupliquez dessus et vous obtenez un traitement exactement une fois, qui est ce que vous vouliez vraiment.

Mon serveur est tombé une heure. Qu’ai-je perdu ?

Rien de ce qui s’est produit dans la fenêtre de reprise. Les livraisons sont réessayées selon un calendrier publié sur 24 heures, et vous pouvez tout rejouer ensuite depuis le tableau de bord.

Je n’ai pas encore construit mon serveur.

Utilisez la boîte de réception intégrée. Les événements de votre compte arrivent quelque part où vous pouvez les lire : vous voyez la forme exacte d’un vrai événement avant d’écrire une ligne de code de traitement.

construire sur bitripay notifications signées
Try it with a free account

Send with a QR code, add money by card or mobile money, issue a virtual card. Sandbox balances let you explore before any real money moves.

Open an account

Keep reading