Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan Pelaksanaan Fungsi Pembayaran WeChat untuk Membangunkan Program Mini WeChat dengan EasyWeChat dan PHP

Panduan Pelaksanaan Fungsi Pembayaran WeChat untuk Membangunkan Program Mini WeChat dengan EasyWeChat dan PHP

WBOY
WBOYasal
2023-07-18 15:12:232494semak imbas

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_pathkey_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是随机字符串,packageprepay_id=prepay_idsignType是签名类型,paySign是签名。

七、处理支付结果通知

在用户完成支付后,微信会通过异步通知的方式将支付结果通知给开发者服务器。开发者需要保证服务器能够正常接收到支付结果通知。以下是一个处理支付结果通知的示例代码:

$payment = Factory::payment(config('wechat.mini_program'));

$response = $payment->handlePaidNotify(function ($notify, $successful) {
    // 处理支付结果通知的逻辑

    return true;
});

return $response;

在上述代码中,handlePaidNotify方法用于处理支付结果通知,其中$notify参数是微信支付通知的内容,$successfulrrreee

Antaranya, 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!

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