Maison >développement back-end >Problème PHP >Comment implémenter la fonction de passage automatique à la page spécifiée après que l'utilisateur a payé en PHP

Comment implémenter la fonction de passage automatique à la page spécifiée après que l'utilisateur a payé en PHP

PHPz
PHPzoriginal
2023-04-21 09:11:121998parcourir

Dans le développement de sites Web, nous devons souvent implémenter la fonction permettant de passer automatiquement à une page spécifiée après que l'utilisateur a effectué un paiement. Cette fonction est très simple à implémenter en PHP. La méthode d'implémentation spécifique est présentée ci-dessous.

  1. Construire un lien de paiement

Pour permettre aux utilisateurs d'accéder automatiquement à la page spécifiée après le paiement, vous devez d'abord créer un lien de paiement. Le lien de paiement contient des informations importantes telles que les informations de commande et les informations du compte de collecte envoyées à la plateforme de paiement. Il doit également préciser le montant du paiement, la description de la commande et l'adresse de rappel.

En prenant Alipay comme exemple, le format de base pour construire un lien de paiement est le suivant :

https://mapi.alipay.com/gateway.do?service=mobile.securitypay.pay&partner=[PARTNER]&seller_id=[SELLER_ID]&out_trade_no=[OUT_TRADE_NO]&subject=[SUBJECT]&body=[BODY]&total_fee=[TOTAL_FEE]&notify_url=[NOTIFY_URL]&payment_type=1&_input_charset=UTF-8&it_b_pay=[TIMEOUT]

Parmi eux, [PARTNER] et [SELLER_ID] sont l'identifiant du partenaire et l'identification du compte vendeur du compte Alipay. être distribué par Alipay ; [OUT_TRADE_NO] est le numéro de commande unique généré par le site Web marchand ; [SUBJECT] et [BODY] sont respectivement le titre et la description du contenu de la commande ; [TOTAL_FEE] est le montant de la commande, en yuans ; ] est la page spécifiée à l'initiative du serveur Alipay pour notifier le chemin http du serveur marchand ; [TIMEOUT] est le délai d'expiration de la commande, au format minutes.

Avec les règles de base de construction des liens de paiement, nous pouvons utiliser la fonction de remplacement de chaîne de PHP pour générer dynamiquement différents liens de paiement et implémenter des pages de paiement personnalisées.

  1. Construire la page de paiement

Après avoir construit le lien de paiement, nous devons l'intégrer dans la page de paiement. De manière générale, la page de paiement doit inclure les informations de commande, le montant du paiement, la sélection du mode de paiement, etc. Enfin, une fois que l'utilisateur a sélectionné le mode de paiement, il doit cliquer sur le bouton « Payer » pour terminer l'opération de paiement.

La méthode de génération d'une page de paiement en PHP est également très simple. Vous pouvez utiliser HTML et CSS pour créer le cadre de la page de paiement, puis utiliser PHP pour générer dynamiquement des informations de commande et d'autres contenus, et enfin générer le code HTML.

  1. Traitement des résultats de paiement

Une fois le paiement effectué, la plateforme de paiement informera le serveur marchand des résultats de paiement. Le serveur marchand doit traiter ces résultats de paiement en temps opportun, mettre à jour le statut de la commande et afficher le correspondant. page de résultat du paiement à l'utilisateur.

La méthode de traitement des résultats de paiement en PHP est également très simple. Vous pouvez recevoir la requête POST envoyée par la plateforme de paiement et analyser les paramètres POST pour obtenir les informations sur le résultat du paiement, puis mettre à jour le statut de la commande et l'affichage de la page utilisateur en fonction de cela. les résultats du paiement.

  1. Accéder à la page des résultats de paiement

La dernière étape consiste à accéder à la page des résultats de paiement. Lorsque le paiement est terminé et traité, nous devons accéder à la page de résultats de paiement correspondante afin que l'utilisateur puisse comprendre l'état du paiement et si le paiement est effectué. Passer à une autre page en PHP est également très simple et peut être réalisé à l'aide de la fonction d'en-tête.

Ce qui suit est un exemple de code de saut post-paiement PHP :

<?php
//构造付款链接
$partner = "123456";
$seller_id = "sellerID";
$out_trade_no = "201080930173201";
$subject = "测试订单";
$body = "这是一份测试订单";
$total_fee = "0.01";
$notify_url = "http://www.example.com/index.php";
$timeout = "30m";

$pay_url = "https://mapi.alipay.com/gateway.do?service=mobile.securitypay.pay&partner=$partner&seller_id=$seller_id&out_trade_no=$out_trade_no&subject=$subject&body=$body&total_fee=$total_fee&notify_url=$notify_url&payment_type=1&_input_charset=UTF-8&it_b_pay=$timeout";

//构造付款页面
$order_id = "201080930173201";
$pay_amount = "0.01";

$html = "<!DOCTYPE html>
<html>
<head>
    <title>付款页面</title>
    <meta charset=&#39;UTF-8&#39;>
    <link rel=&#39;stylesheet&#39; href=&#39;style.css&#39;>
</head>
<body>
    <div class=&#39;container&#39;>
        <h2>订单信息</h2>
        <table>
            <tr>
                <th>订单编号:</th>
                <td>$order_id</td>
            </tr>
            <tr>
                <th>订单金额:</th>
                <td>$pay_amount 元</td>
            </tr>
        </table>
        <form method=&#39;post&#39; action=&#39;$pay_url&#39;>
            <p><input type=&#39;radio&#39; name=&#39;pay_method&#39; value=&#39;alipay&#39; checked>支付宝</p>
            <p><input type=&#39;radio&#39; name=&#39;pay_method&#39; value=&#39;wechatpay&#39;>微信支付</p>
            <p><input type=&#39;submit&#39; value=&#39;支付&#39;></p>
        </form>
    </div>
</body>
</html>";

echo $html;

//处理支付结果
if($_POST['trade_status'] == 'TRADE_FINISHED' || $_POST['trade_status'] == 'TRADE_SUCCESS'){
    //更新订单状态
    $order_id = $_POST['out_trade_no'];
    $sql = "UPDATE orders SET status=1 WHERE order_id='$order_id'";
    mysqli_query($conn, $sql);
    //跳转到支付结果页面
    header('Location: http://www.example.com/pay_success.php');
}else{
    header('Location: http://www.example.com/pay_failed.php');
}
?>

Cet exemple de code montre comment utiliser PHP pour implémenter la fonction de saut automatique après paiement et comprend la construction de liens de paiement, la construction de pages de paiement, le traitement des résultats de paiement, et passer aux résultats Une série d'opérations telles que des pages, j'espère que cela sera utile aux débutants en développement PHP.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn