Dengan populariti pembayaran WeChat, semakin banyak tapak web perlu menyepadukan fungsi pembayaran WeChat. Dalam artikel ini, kami akan membincangkan cara melaksanakan permulaan dan pertanyaan pembayaran WeChat dalam PHP.
Untuk memulakan pembayaran WeChat dalam PHP, langkah pertama ialah memanggil API pesanan bersatu pembayaran WeChat untuk menjana pesanan prabayaran. API perlu lulus beberapa parameter yang diperlukan, termasuk ID pedagang, jumlah pembayaran, nombor pesanan, URL panggilan balik, dsb. Berikut ialah kod sampel:
<?php require_once('WxPayApi.php'); require_once('WxPayUnifiedOrder.php'); $order = new WxPayUnifiedOrder(); $order->SetBody('商品描述'); $order->SetOut_trade_no('订单号'); $order->SetTotal_fee('支付金额'); $order->SetNotify_url('回调URL'); $order->SetTrade_type('JSAPI'); $order->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($order);
Selepas menghubungi API pesanan bersatu, kami perlu mendapatkan maklumat pesanan prabayar, termasuk transaksi prabayaran Sesi ID (prepay_id) dan parameter lain yang diperlukan. Berikut ialah kod sampel:
<?php require_once('WxPayApi.php'); require_once('WxPayData.php'); $input = new WxPayData(); $input->SetBody('商品描述'); $input->SetOut_trade_no('订单号'); $input->SetTotal_fee('支付金额'); $input->SetNotify_url('回调URL'); $input->SetTrade_type('JSAPI'); $input->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($input); $prepay_id = $result['prepay_id']; $params = [ 'appId' => $result['appid'], 'timeStamp' => time(), 'nonceStr' => $result['nonce_str'], 'package' => "prepay_id={$prepay_id}", 'signType' => 'MD5' ]; $params['paySign'] = WxPayApi::getSign($params);
Selepas mendapatkan maklumat pesanan prabayaran, kami boleh menghantar parameter yang diperolehi ke bahagian hadapan untuk membenarkan pengguna Mulakan pembayaran dalam pelanggan WeChat. Berikut ialah contoh kod:
<?php echo '<script language="javascript">'; echo 'WeixinJSBridge.invoke("getBrandWCPayRequest", { "appId":"'.$params['appId'].'", "timeStamp":"'.$params['timeStamp'].'", "nonceStr":"'.$params['nonceStr'].'", "package":"'.$params['package'].'", "signType":"'.$params['signType'].'", "paySign":"'.$params['paySign'].'" }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ){ alert("支付成功"); }else{ alert("支付失败"); } });'; echo '</script>';
Selepas pembayaran selesai, kami perlu menyoal keputusan pembayaran untuk memastikan transaksi telah selesai dengan jayanya. Berikut ialah contoh kod:
<?php require_once('WxPayApi.php'); $input = new WxPayOrderQuery(); $input->SetOut_trade_no('订单号'); $result = WxpayApi::orderQuery($input); if ($result['trade_state'] == 'SUCCESS') { echo '支付成功'; } else { echo '支付失败'; }
Ringkasan:
Di atas ialah keseluruhan proses memulakan dan menanyakan pembayaran WeChat dalam PHP. Apabila kami perlu menyepadukan pembayaran WeChat di tapak web, kami boleh mengikuti langkah di atas. Adalah disyorkan untuk menggunakan SDK yang disediakan secara rasmi untuk pembangunan, yang boleh menjimatkan banyak masa dan tenaga.
Atas ialah kandungan terperinci Melaksanakan permulaan pembayaran WeChat dan pertanyaan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!