Panduan untuk melaksanakan fungsi pembayaran WeChat menggunakan EasyWeChat dan PHP untuk membangunkan program mini WeChat
Dalam era Internet mudah alih semasa, pembayaran WeChat telah menjadi kaedah pembayaran yang sangat popular. Bagi pembangun yang membangunkan program mini WeChat, melaksanakan fungsi pembayaran WeChat adalah bahagian yang sangat penting pembayaran WeChat boleh membawa nilai perniagaan yang lebih baik kepada program mini. Panduan ini akan memperkenalkan cara menggunakan EasyWeChat dan PHP untuk membangunkan fungsi pembayaran WeChat applet WeChat.
1. Kenali EasyWeChat
EasyWeChat ialah projek sumber terbuka tidak rasmi berdasarkan platform awam WeChat Ia menyediakan SDK PHP yang mudah dan mudah digunakan yang boleh berinteraksi dengan akaun awam WeChat. Ia menyediakan satu siri antara muka, termasuk pengesahan pengguna, pengurusan mesej, mesej templat, tag pengguna, dll. Pada masa yang sama, EasyWeChat juga menyokong fungsi pembayaran WeChat.
2. Mohon pembayaran WeChat
Sebelum menggunakan pembayaran WeChat, anda perlu terlebih dahulu memohon untuk mengikat akaun pedagang di platform pembayaran WeChat. Selepas permohonan berjaya, anda akan mendapat nombor pedagang dan kunci berkaitan Maklumat ini akan digunakan untuk panggilan antara muka pembayaran berikutnya.
3. Pasang EasyWeChat
Sebelum memulakan pembangunan, anda perlu memasang EasyWeChat dalam projek anda terlebih dahulu. Ia boleh dipasang melalui Komposer, buka baris arahan dan masukkan direktori akar projek, jalankan arahan berikut:
composer require overtrue/wechat
Selepas pemasangan selesai, perkenalkan EasyWeChat ke dalam projek:
use EasyWeChatFactory;
4. Konfigurasikan parameter berkaitan pembayaran
Mula menggunakan EasyWeChat untuk pembayaran Sebelum pembangunan fungsi, parameter pembayaran perlu dikonfigurasikan terlebih dahulu. Katakan kita mempunyai direktori config
dalam direktori akar projek dan buat fail wechat.php
dalam direktori ini: config
目录,并在该目录下创建一个wechat.php
文件:
return [ 'mini_program' => [ 'app_id' => 'your-mini-program-app-id', 'mch_id' => 'your-merchant-id', 'key' => 'your-merchant-key', 'cert_path' => 'your-cert-path', 'key_path' => 'your-key-path', 'notify_url' => 'your-notify-url', ], ];
其中,app_id
是微信小程序的App ID,mch_id
是商户号,key
是商户密钥,cert_path
和key_path
是商户证书的路径,notify_url
是支付结果通知的URL。
五、创建支付订单
使用EasyWeChat可以很方便地创建微信支付订单。下面是一个示例代码:
$payment = Factory::payment(config('wechat.mini_program')); $result = $payment->order->unify([ 'body' => '商品描述', 'out_trade_no' => '商户订单号', 'total_fee' => '订单总金额', 'spbill_create_ip' => request()->ip(), 'trade_type' => 'JSAPI', 'openid' => '用户的openid', ]); if ($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS') { $prepayId = $result['prepay_id']; // JSAPI支付需要的参数 $config = $payment->jssdk->sdkConfig($prepayId); // 将$config返回给前端,用于调起微信支付 } else { // 创建订单失败的处理逻辑 }
在上述代码中,order->unify
方法用于创建订单,其中body
是商品描述,out_trade_no
是商户订单号,total_fee
是订单总金额,spbill_create_ip
是用户的IP地址,trade_type
是支付方式,openid
是用户的openid。如果订单创建成功,则可以获取到prepay_id
,将其用于后续的支付操作。
六、调起微信支付
在前端小程序中调起微信支付非常简单,只需要在需要进行支付的地方调用wx.requestPayment
方法,传入支付所需的参数即可。以下是一个示例代码:
wx.requestPayment({ 'timeStamp': '时间戳', 'nonceStr': '随机字符串', 'package': 'prepay_id=prepay_id', 'signType': 'MD5', 'paySign': '签名', 'success': function (res) { // 支付成功的处理逻辑 }, 'fail': function (res) { // 支付失败的处理逻辑 } })
在上述代码中,timeStamp
是时间戳,nonceStr
是随机字符串,package
是prepay_id=prepay_id
,signType
是签名类型,paySign
是签名。
七、处理支付结果通知
在用户完成支付后,微信会通过异步通知的方式将支付结果通知给开发者服务器。开发者需要保证服务器能够正常接收到支付结果通知。以下是一个处理支付结果通知的示例代码:
$payment = Factory::payment(config('wechat.mini_program')); $response = $payment->handlePaidNotify(function ($notify, $successful) { // 处理支付结果通知的逻辑 return true; }); return $response;
在上述代码中,handlePaidNotify
方法用于处理支付结果通知,其中$notify
参数是微信支付通知的内容,$successful
rrreee
app_id code> ialah ID Apl applet WeChat, <code>mch_id
ialah nombor pedagang, key
ialah kunci pedagang, cert_path
dan key_path code> ialah laluan ke sijil pedagang dan notify_url
ialah URL pemberitahuan hasil pembayaran. 5. Buat pesanan pembayaran🎜🎜Menggunakan EasyWeChat, anda boleh membuat pesanan pembayaran WeChat dengan mudah. Berikut ialah contoh kod: 🎜rrreee🎜Dalam kod di atas, kaedah order->unify
digunakan untuk membuat pesanan, dengan body
ialah penerangan produk dan out_trade_no ialah nombor pesanan pedagang, total_fee
ialah jumlah pesanan, spbill_create_ip
ialah alamat IP pengguna, trade_type
ialah kaedah pembayaran, openid
ialah openid pengguna. Jika pesanan berjaya dibuat, anda boleh mendapatkan prepay_id
dan menggunakannya untuk operasi pembayaran seterusnya. 🎜🎜6. Mengaktifkan Pembayaran WeChat🎜🎜Sangat mudah untuk mengaktifkan Pembayaran WeChat dalam applet bahagian hadapan Anda hanya perlu menghubungi kaedah wx.requestPayment
di mana pembayaran diperlukan dan memasukkan parameter. diperlukan untuk pembayaran. Berikut ialah contoh kod: 🎜rrreee🎜Dalam kod di atas, timeStamp
ialah cap waktu, nonceStr
ialah rentetan rawak dan pakej
ialah prepay_id=prepay_id
, signType
ialah jenis tandatangan dan paySign
ialah tandatangan. 🎜🎜7. Memproses pemberitahuan hasil pembayaran🎜🎜Selepas pengguna menyelesaikan pembayaran, WeChat akan memberitahu pelayan pembangun hasil pembayaran melalui pemberitahuan tak segerak. Pembangun perlu memastikan bahawa pelayan biasanya boleh menerima pemberitahuan hasil pembayaran. Berikut ialah contoh kod untuk memproses pemberitahuan hasil pembayaran: 🎜rrreee🎜Dalam kod di atas, kaedah handlePaidNotify
digunakan untuk memproses pemberitahuan hasil pembayaran, di mana parameter $notify
ialah pemberitahuan pembayaran WeChat Parameter $successful
menunjukkan sama ada pembayaran berjaya. Pembangun perlu melaksanakan logik perniagaan mereka sendiri dalam fungsi panggil balik ini, seperti mengemas kini status pesanan, dsb. 🎜🎜Melalui langkah di atas, kita boleh menggunakan EasyWeChat dan PHP untuk membangunkan fungsi pembayaran WeChat applet WeChat. Saya harap panduan ini dapat membantu pembangun berjaya melaksanakan fungsi pembayaran WeChat. 🎜Atas ialah kandungan terperinci Panduan Pelaksanaan Fungsi Pembayaran WeChat untuk Membangunkan Program Mini WeChat dengan EasyWeChat dan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!