Rumah pembangunan bahagian belakang tutorial php 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

Jul 18, 2023 pm 03:12 PM
php easywechat Fungsi pembayaran WeChat

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
Salin selepas log masuk

Selepas pemasangan selesai, perkenalkan EasyWeChat ke dalam projek:

use EasyWeChatFactory;
Salin selepas log masuk

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',
    ],
];
Salin selepas log masuk

其中,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 {
    // 创建订单失败的处理逻辑
}
Salin selepas log masuk

在上述代码中,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) {
     // 支付失败的处理逻辑
  }
})
Salin selepas log masuk

在上述代码中,timeStamp是时间戳,nonceStr是随机字符串,packageprepay_id=prepay_idsignType是签名类型,paySign是签名。

七、处理支付结果通知

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

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

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

    return true;
});

return $response;
Salin selepas log masuk

在上述代码中,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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles