Maison > Questions et réponses > le corps du texte
La notification asynchrone du paiement tiers notifie l'adresse de rappel plusieurs fois. La demande de notification précédente n'a pas encore été traitée et la demande suivante est envoyée, ce qui entraîne plusieurs confirmations de paiement. Comment le résoudre ?
ringa_lee2017-05-25 15:10:25
Le paiement doit être traité selon un identifiant unique, tel que le numéro de transaction, le numéro de série, etc. Il est impossible d'autoriser plusieurs répétitions.
PHP中文网2017-05-25 15:10:25
Lorsqu'une requête arrive, mettez d'abord à jour l'état de l'enregistrement dans la base de données de l'état initial à un état intermédiaire
Ensuite, traitez la requête, mettez à jour l'état intermédiaire vers l'état d'achèvement du traitement
puis renvoyez un message à la requête asynchrone tierce.
PHPz2017-05-25 15:10:25
Ce qui m'intéresse, c'est plusieurs fois sur une courte période de temps, alors combien de fois sur une courte période de temps ?
Par exemple, 5 à 10 fois en 10 secondes, vous devriez envisager d'optimiser votre code. Pourquoi ne pouvez-vous pas traiter une demande en 1 seconde ? Une fois la première traitée, les demandes suivantes seront ignorées.
Par exemple, 5 à 10 fois en 1 seconde, un traitement simple consiste à mettre en file d'attente et à transformer les demandes simultanées en demandes en série, qui peuvent être résolues.
Pour ce qui précède, je pense que si la fréquence est si élevée, il doit y avoir quelque chose qui ne va pas. Vous pouvez trouver une plateforme tierce pour l'augmenter.
PHP中文网2017-05-25 15:10:25
Une fois le programme traité, il renverra le succès au tiers, sinon il échouera. Le tiers ne fera plus de requêtes après avoir reçu le succès et l'IP sera facilement bloquée. Ce type de problème devrait être écrit dans le document pour que les tiers puissent le voir