Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan fungsi melompat secara automatik ke halaman yang ditentukan selepas pengguna membayar dalam PHP

Bagaimana untuk melaksanakan fungsi melompat secara automatik ke halaman yang ditentukan selepas pengguna membayar dalam PHP

PHPz
PHPzasal
2023-04-21 09:11:121992semak imbas

Dalam pembangunan laman web, kita selalunya perlu melaksanakan fungsi melompat secara automatik ke halaman tertentu selepas pengguna membuat pembayaran Fungsi ini sangat mudah untuk dilaksanakan dalam PHP Kaedah pelaksanaan khusus diperkenalkan di bawah.

  1. Bina pautan pembayaran

Untuk membolehkan pengguna melompat ke halaman tertentu secara automatik selepas pembayaran, anda perlu membina pautan pembayaran terlebih dahulu. Pautan pembayaran mengandungi maklumat penting seperti maklumat pesanan dan maklumat akaun pengumpulan yang dihantar ke platform pembayaran Ia juga perlu menyatakan jumlah pembayaran, perihalan pesanan dan alamat panggilan balik.

Mengambil Alipay sebagai contoh, format asas untuk membina pautan pembayaran adalah seperti berikut:

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]

Antaranya, [PARTNER] dan [SELLER_ID] ialah ID rakan kongsi dan akaun penjual ID akaun Alipay ini perlu diedarkan oleh Alipay; ialah jumlah pesanan, dalam yuan; [NOTIFY_URL] ialah Pelayan Alipay secara aktif memberitahu pelayan saudagar tentang laluan http halaman yang ditentukan [TIMEOUT] ialah tamat masa pesanan, dalam beberapa minit;

Dengan peraturan pembinaan pautan pembayaran asas, kami boleh menggunakan fungsi penggantian rentetan PHP untuk menjana pautan pembayaran yang berbeza secara dinamik dan melaksanakan halaman pembayaran yang diperibadikan.

  1. Bina halaman pembayaran

Selepas membina pautan pembayaran, kami perlu membenamkannya ke dalam halaman pembayaran. Secara umumnya, halaman pembayaran perlu memasukkan maklumat pesanan, jumlah pembayaran, pemilihan kaedah pembayaran, dll. Akhirnya, selepas pengguna memilih kaedah pembayaran, dia perlu mengklik butang "Bayar" untuk menyelesaikan operasi pembayaran.

Kaedah menjana halaman pembayaran dalam PHP juga sangat mudah Anda boleh menggunakan HTML dan CSS untuk membina rangka kerja halaman pembayaran, kemudian menggunakan PHP untuk menjana maklumat pesanan dan kandungan lain secara dinamik, dan akhirnya menghasilkan output. kod HTML.

  1. Memproses keputusan pembayaran

Selepas pembayaran selesai, platform pembayaran akan memberitahu pelayan pedagang tentang hasil pembayaran tersebut tepat pada masanya, kemas kini status pesanan dan hantar Pengguna ditunjukkan halaman hasil pembayaran yang sepadan.

Kaedah memproses hasil pembayaran dalam PHP juga sangat mudah Anda boleh menerima permintaan POST yang dihantar oleh platform pembayaran dan menghuraikan parameter POST untuk mendapatkan maklumat hasil pembayaran, dan kemudian mengemas kini status pesanan dan pengguna. paparan halaman berdasarkan hasil pembayaran.

  1. Lompat ke halaman hasil pembayaran

Langkah terakhir ialah melompat ke halaman hasil pembayaran. Apabila pembayaran selesai dan diproses, kami perlu melompat ke halaman hasil pembayaran yang sepadan supaya pengguna dapat memahami status pembayaran dan sama ada pembayaran telah selesai. Melompat ke halaman lain dalam PHP juga sangat mudah dan boleh dicapai menggunakan fungsi pengepala.

Berikut ialah contoh kod lompat PHP selepas pembayaran:

<?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');
}
?>

Kod sampel ini menunjukkan cara menggunakan PHP untuk melaksanakan fungsi lompat automatik selepas pembayaran, dan termasuk membina pautan pembayaran dan membina halaman pembayaran, memproses keputusan pembayaran dan melompat ke halaman hasil, dll. Saya harap ia akan membantu pemula dalam pembangunan PHP.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi melompat secara automatik ke halaman yang ditentukan selepas pengguna membayar dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn