Cet article présente principalement en détail le didacticiel de développement de l'interface de paiement en ligne PHP Alipay, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
1. >
Le soi-disant tiers payant est une plateforme de support aux transactions fournie par certaines institutions tierces indépendantes qui ont signé des contrats avec de grandes banques et disposent de certaines garanties de solidité et de crédibilité. Dans les transactions via une plateforme de paiement tierce, une fois que l'acheteur a acheté les marchandises, il utilise le compte fourni par la plateforme tierce pour payer les marchandises, et le tiers informe le vendeur de l'arrivée du paiement. Actuellement, de nombreuses institutions proposent des paiements par tiers. Les plus courantes incluent Alipay, Tenpay, Kuaiqian, les services bancaires en ligne, Yibao Pay, Yunwang et d'autres grandes plateformes de paiement. Si un site Web doit mettre en œuvre le paiement tiers, il doit d'abord demander un compte auprès de la plateforme de paiement tierce et signer un accord. Une fois l'accord entré en vigueur, la plateforme de paiement tierce activera les fonctions de paiement en ligne et intégrera le paiement. interface avec le site Web via un programme. Pourquoi recourir au tiers payant ? Étant donné que la plateforme de paiement tierce a signé des contrats avec de grandes banques, les propriétaires de sites Web n'ont qu'à demander un compte sur cette plateforme pour prendre en charge presque tous les types de transactions par carte bancaire et par carte de crédit.2. Principe du tiers payant
3. Développement de l'interface Alipay
3.1 Introduction et tests de l'interface Alipay propose actuellement des transactions garanties, un paiement instantané standard, des fonctions doubles, etc. Il existe plusieurs interfaces, mais il existe quelques différences dans les fonctions. La méthode d'intégration du site Web est la même. En prenant l'interface de compte instantané standard comme exemple, après avoir signé un accord avec Alipay, plusieurs étapes sont nécessaires pour terminer l'intégration.Les données dans la boîte sont ce sur quoi nous devons nous concentrer sur la modification. La différence entre l'adresse de notification de paiement et l'adresse de retour a été mentionnée précédemment. Il y a deux éléments à l'étape 7 : la page de résultat du paiement et les informations de notification de paiement. La page de résultat du paiement accédera automatiquement à cette adresse une fois que l'utilisateur aura terminé le paiement. . Voici l'adresse de retour ( $return_url).
L'adresse de notification de paiement est également le paiement de l'utilisateur. Une fois le paiement effectué, Alipay demandera l'adresse ($notify_url), mais la notification de paiement est directement demandée par le. Serveur Alipay et ne sera pas vu par l'utilisateur. Ces deux adresses doivent être au format de chemin complet commençant par http. Afin de terminer le processus de test, /pay/alipay/notify_url.php a été réécrit ici et $notify_url est défini sur l'URL qui peut accéder à ce fichier. Une fois ces éléments configurés, une table de données est créée selon le script de base de données (pay/orders.sql). Et modifiez mysql_config.php en fonction des informations de configuration de la base de données. En modifiant simplement la démo fournie par Alipay, vous pouvez terminer la création de la demande de paiement (étape 4). Ici, la page d'accueil de paiement et les autres pages sont modifiées (voir le). répertoire payant du paquet de code source). Testons-le d'abord :
Une « information de commande » a été ajoutée à la base de données
Si vous cliquez sur le bouton « Confirmer le paiement » ou sur Confirmer. Le lien de paiement sautera. Accédez à la page Alipay et soumettez les informations à la passerelle de paiement via le formulaire POST en cliquant sur le bouton. Étant donné que les données de la demande de paiement n'ont pas besoin d'être vues par l'utilisateur, elles sont écrites dans le champ caché. Le lien de confirmation de paiement est transmis via l'URL. Étant donné que l'interface Alipay permet la soumission en POST ou GET, les deux méthodes sont acceptables. Après avoir soumis les paramètres à la passerelle de paiement, la page passe à la page de paiement. Nous voyons l'image ci-dessous :
Nous voyons qu'Alipay nous propose deux méthodes de paiement, l'une consiste à payer via le compte Alipay, l'autre par paiement par carte bancaire. Par exemple, si vous choisissez de payer par carte bancaire, renseignez votre email ou votre numéro de téléphone portable pour accéder à la page suivante :
Notre facturation Alipay prend en charge presque toutes les opérations bancaires. paiements par carte, ainsi que cartes de crédit et points de vente. Pour payer, sélectionnez la banque correspondante et suivez les instructions pour effectuer le paiement. Une fois le paiement terminé, la page reviendra à l'adresse $return_url que nous avons configurée dans le fichier de configuration, et le « statut de la commande » changera également.
Remarque : s'il n'y a pas de test de réseau externe pendant le test (c'est-à-dire que l'adresse de notification de paiement n'est pas accessible depuis le réseau externe), la notification de paiement ne peut pas être demandée , et le statut de la commande ne peut pas être modifié automatiquement.
3.2 Spécification de l'interface Alipay et analyse du code
Pour la spécification de l'interface Alipay, veuillez vous référer à /pay/doc/Standard Alipay Transaction Service Interface (dédié aux sites Web anti-phishing). Pdf, qui contient déjà des instructions relativement détaillées.
3.2.1 Comment créer une demande de paiement
Lors du test précédent, nous avons cliqué sur "Confirmer le paiement" pour soumettre les informations à la passerelle de paiement d'Alipay. Nous pouvons réfléchir aux paramètres à envoyer. .à la passerelle de paiement. Pour la liste des paramètres de requête, veuillez vous référer à l'interface standard du service de transaction Alipay (dédiée aux sites anti-phishing). 3.2.2 dans le Pdf Il convient de noter que nous n'avons pas seulement besoin de soumettre ces paramètres à Alipay intacts. Afin de garantir la sécurité des données, Alipay utilise actuellement la signature MD5 pour empêcher la falsification des données.
Avant de soumettre les données, vous devez assembler les données à soumettre dans une chaîne selon certaines règles (voir le document d'interface), ajouter le code de contrôle de sécurité (Clé) pour former une nouvelle chaîne, et générer une chaîne de 32 mots via la signature de la section MD5 Lorsque nous soumettons une demande de paiement, nous devons également soumettre cette signature. Jetez un oeil au code source du formulaire
Après réception des paramètres, Alipay vérifiera la légitimité des paramètres de la demande. Après vérification, la page de paiement s'affichera, sinon un. une erreur sera demandée.
3.2.2 Comment vérifier la notification de paiement
Une fois le paiement de l'utilisateur effectué, Alipay demandera l'adresse de notification de paiement du site Web (cette adresse doit être transmise en paramètre lors de la création de la demande de paiement). Pour la liste des paramètres de retour, veuillez vous référer à l'interface standard du service de transaction Alipay (dédiée aux sites anti-phishing). Pdf3.3.1. Il existe également une chaîne de signature dans les données de retour d'Alipay (en utilisant la même méthode de signature que la demande de paiement). Dans le fichier de notification de paiement, les données doivent d'abord être signées et vérifiées. En plus de vérifier la signature, le notify_id dans le paramètre doit également être soumis au système Alipay de passerelle de vérification d'Alipay pour vérifier l'authenticité de la notification et notifier la vérification. Le système Alipay détermine si la notification est envoyée par lui-même. Si elle est au format chaîne, elle renvoie vrai, sinon elle renvoie faux. Nous vérifions l'authenticité de la demande en vérifiant les données renvoyées par le serveur. Si les deux sont vérifiées, nous. peut modifier les données de la commande et envoyer des e-mails à l'utilisateur des notifications et d'autres opérations. Concernant la vérification des signatures, vous pouvez consulter le code source dans le fichier de notification. Dans la démo, le notify_id dans le paramètre est soumis à Alipay via POST et les données de retour sont obtenues. Extrait de code :
L'accent est ici mis sur la fonction fsockopen, lors de l'envoi. un e-mail Nous avons déjà été exposés à l'ouverture d'une connexion socket via cette fonction. Semblable à la fonction fopen que nous avons apprise précédemment, elle renvoie un descripteur de fichier, et vous pouvez ensuite utiliser les fonctions de fichier (fgets(), fgetss(), fputs( ), fclose() feof(), etc.) pour le faire fonctionner, le code utilise la fonction fputs() (identique à fwrite()) pour écrire des données afin de simuler la soumission de données par formulaire en mode POST, et enfin obtenir le retour données via la fonction fgets() et enregistrez-les dans un tableau, et enfin effectuez une vérification, veuillez vous référer au code source pour plus de détails.
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Comment implémenter des mots-clés de masquage en PHP
Fonction de tri de tableaux personnalisés et tri implémentés dans la classe PHP méthodes
Fonction de tri de tableaux personnalisés implémentée par PHP et méthodes de classe de tri
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!