Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP dan EasyWeChat: Pembangunan Praktikal Fungsi Pembayaran Program Mini WeChat

PHP dan EasyWeChat: Pembangunan Praktikal Fungsi Pembayaran Program Mini WeChat

王林
王林asal
2023-07-19 09:15:181708semak imbas

PHP dan EasyWeChat: Pembangunan praktikal fungsi pembayaran program mini WeChat

Pembayaran WeChat ialah salah satu kaedah pembayaran mudah alih yang paling biasa digunakan, dan program mini WeChat telah menjadi platform yang dipilih oleh semakin banyak perusahaan dan pembangun. Mengintegrasikan fungsi pembayaran ke dalam program mini WeChat boleh membawa lebih banyak peluang perniagaan dan kemudahan kepada perusahaan. Artikel ini akan memperkenalkan cara menggunakan PHP dan EasyWeChat untuk membangunkan fungsi pembayaran program mini WeChat.

1. Persediaan
Sebelum memulakan pembangunan, kita perlu menyediakan bahan-bahan berikut:

  1. Nombor pedagang WeChat Pay (mch_id)
  2. Kunci pedagang (kunci) WeChat Pay
  3. dan ID Rahsia Aplikasi WeChat (id) appsecret)
  4. Fail sijil sah
    Bahan di atas boleh diperolehi dengan memohon di Platform Pembangun WeChat Pay.

2. Pasang EasyWeChat
EasyWeChat ialah kit pembangunan WeChat berasaskan PHP yang boleh memudahkan proses berinteraksi dengan akaun rasmi dan program mini WeChat. Kami boleh menggunakan Composer untuk memasang EasyWeChat dan melaksanakan arahan berikut:

composer require overtrue/wechat

3 Konfigurasikan EasyWeChat
Selepas pemasangan selesai, cipta fail baharu config.php dalam projek anda dan konfigurasikan EasyWeChat mengikut contoh berikut:

<?php

return [
    'payment' => [
        'sandbox'    => false,
        'app_id'     => 'YOUR_APPID',
        'mch_id'     => 'YOUR_MCHID',
        'key'        => 'YOUR_KEY',
        'cert_path'  => 'CERT_PATH',
        'key_path'   => 'KEY_PATH',
    ],
];

Tukar. YOUR_APPID dan YOUR_MCHID , YOUR_KEY digantikan dengan nilai sebenar anda. CERT_PATH dan KEY_PATH ialah laluan ke fail sijil anda.

4. Laksanakan fungsi pembayaran
Menggunakan EasyWeChat untuk membantu kami merangkum kelas pembayaran applet WeChat, kami boleh melaksanakan fungsi pembayaran dengan mudah. Ini boleh dicapai dengan mengikuti langkah-langkah di bawah.

  1. Terima permintaan pembayaran
    Dalam program mini anda, selepas pengguna mengklik butang pembayaran, permintaan pembayaran akan dihantar ke pelayan. Anda perlu menulis antara muka untuk menerima permintaan pembayaran dan mengkonfigurasi URL antara muka ini ke latar belakang program mini.
  2. Proses permintaan pembayaran
    Selepas menerima permintaan pembayaran, kami boleh menggunakan kod berikut untuk memproses permintaan pembayaran dan mengembalikan maklumat prabayaran kepada program mini untuk program mini untuk menghubungi antara muka pembayaran WeChat untuk memulakan pembayaran:

    <?php
    require 'vendor/autoload.php';
    $config = require 'config.php';
    
    use EasyWeChatFactory;
    
    $options = [
     // ...
    ];
    
    $app = Factory::miniProgram($options);
    
    $response = $app->payment->prepare([
     'openid' => 'USER_OPENID',
     'out_trade_no' => 'YOUR_ORDER_ID',
     'total_fee' => 'ORDER_TOTAL_FEE',
     'body' => 'PAYMENT_DESCRIPTION',
     'spbill_create_ip' => $_SERVER['REMOTE_ADDR'],
     // ... 可选参数
    ]);
    
    if ($response->return_code === 'SUCCESS' && $response->result_code === 'SUCCESS') {
     // 返回预支付信息给小程序
     echo json_encode($app->payment->configForPayment($response->prepay_id));
    }

    Tukar USER_OPENID dan YOUR_ORDER_ID , ORDER_TOTAL_FEE dan PAYMENT_DESCRIPTION digantikan dengan nilai sebenar.

  3. Memproses panggilan balik pembayaran
    Selepas pengguna menyelesaikan pembayaran, WeChat akan memanggil semula pelayan kami secara tidak segerak. Kami perlu menulis antara muka untuk mengendalikan panggilan balik pembayaran yang berjaya dan melaksanakan pemprosesan perniagaan yang sepadan. Berikut ialah contoh kod:

    <?php
    use EasyWeChatPaymentNotify;
    
    $options = [
     // ...
    ];
    
    $app = Factory::miniProgram($options);
    
    $payment = $app->payment;
    $notice = $payment->notify();
    
    $notice->setAttr('sub_appid', 'SUB_APPID');
    
    $notice->handle(function ($notify, $successful) {
     // 处理支付成功的业务逻辑
     $outTradeNo = $notify->out_trade_no;
     // ...
    
     return true; // 返回 true 表示已处理完成,不会再异步通知
    });
    
    $response = $notice->reply();
    
    $response->send();

    Ganti SUB_APPID dengan ID Apl program mini anda.

Pada ketika ini, kami telah menyelesaikan pembangunan fungsi pembayaran program mini WeChat. Melalui pembungkusan EasyWeChat, kami boleh melaksanakan fungsi pembayaran dengan mudah, yang sangat memudahkan proses pembangunan. Saya harap artikel ini akan membantu anda yang sedang membangunkan fungsi pembayaran program mini WeChat.

Atas ialah kandungan terperinci PHP dan EasyWeChat: Pembangunan Praktikal Fungsi Pembayaran Program Mini WeChat. 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