Notifier l’url de Paypal

Paypal me renvoie avec succès à l’URL de retour que je spécifie lors de la création du bouton Acheter maintenant. Mais maintenant je suis confus. Comment puis-je récupérer des informations sur la transaction effectuée sur Paypal? Et je veux aussi définir des valeurs de firebase database sur l’URL de retour. Mais je crains que si mon utilisateur sans payer à paypal se rend à cette URL, il deviendra lui aussi membre premium. Comment puis-je sécuriser cela?

PayPal renvoie les données à votre site via ce qu’elles appellent IPN. C’est vraiment juste un rappel à une URL que vous spécifiez. Vous pouvez définir cette URL via la variable notify_url que vous pouvez envoyer à PayPal.

Exemple:

 

Le composant notify_url.php de l’exemple ci-dessus reçoit certaines variables POST de PayPal lorsque le paiement est terminé, même si le client ne retourne jamais sur votre site Web.

Certaines des variables importantes renvoyées par PayPal sont les suivantes:

  • mc_gross
  • facture d’achat
  • sett_amount
  • protection_éligibilité
  • address_status
  • payeur_id
  • impôt
  • rue d’adresse
  • date de paiement
  • statut de paiement
  • charset
  • adresse_zip
  • mc_shipping
  • mc_handling
  • Prénom
  • mc_fee
  • address_country_code
  • taux de change
  • adresse_nom
  • notify_version
  • sett_currency
  • Douane
  • payeur_status
  • Entreprise
  • adresse_pays
  • l’addresse de la ville
  • verify_sign
  • payeur_email
  • txn_id
  • type de paiement

la facture est retournée si vous la définissez. Il peut être utilisé comme votre propre identifiant de commande / identifiant de transaction.

txn_id est généré par PayPal et est leur propre identifiant pour la transaction.

Si vous ajoutez des éléments vous-même, PayPal renvoie également num_cart_items, nom_élément1 (nom_élément2, nom-élément3), quantité1 (quantité2, quantité3) et autres.

Plus de lecture sur https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

Bien sûr, vous avez toujours le problème à résoudre, comment vérifier toutes ces données et les connecter à un client dans votre propre firebase database, ce que vous avez probablement.

Ce que je fais est de sauvegarder une “commande” temporaire avant d’envoyer le client à PayPal avec un identifiant de facture identique à celui que j’envoie à PayPal en tant que facture. De cette manière, ma page notify_url.php peut vérifier l’identification de la facture dans ma firebase database et comparer la commande / le paiement.