08. tháng 2 2025
Bài viết này hướng dẫn cách sử dụng gói Laravel Easy WeChat để tích hợp chức năng thanh toán doanh nghiệp vào ví WeChat.
Trước bd truc tuyen tiên, trong tệp cấu hình config/wechat.php
, bạn cần thiết lập đầy đủ đường dẫn tới chứng chỉ và các khóa bảo mật (KEY) liên quan.
Tiếp theo, logic xử lý trong controller sẽ được thực hiện như soi keo hom nay sau:
1$app = app('wechat');
2$payment = $app->merchant_pay;
3
4// Thực hiện giao dịch thanh toán
5$res = $payment->send([
6 'partner_trade_no' => $someid, // Mã đơn hàng của nhà cung cấp, phải duy nhất (chỉ gồm chữ cái hoặc số, không chứa ký tự đặc biệt)
7 'openid' => $user->open_id,
8 'check_name' => 'NO_CHECK', // NO_CHECK: Không kiểm tra tên thật; FORCE_CHECK: Kiểm tra nghiêm ngặt tên thật
9 'amount' => $money * 100, // Số tiền thanh toán từ doanh nghiệp, đơn vị là xu
10 'desc' => 'Thưởng từ hoạt động', // Mô tả cho thao tác thanh toán từ doanh nghiệp (bắt buộc phải có)
11 'spbill_create_ip' => 'x.x.x.x',
12]);
13
14// Ghi lại kết quả vào log
15Log::info($res);
16
17if ($res['result_code'] == 'SUCCESS') {
18 // Xử lý khi thành công
19}
Đừng quên điền thông tin IP trong tham số spbill_create_ip
. Nếu bỏ sót tham số này, hệ thống sẽ trả về lỗi như sau:
1[2019-04-15 09:31:56] production.INFO: {"return_code":"SUCCESS","return_msg":"Lỗi tham số: Trường spbill_create_ip bắt buộc và phải là chuỗi IP hợp lệ.","result_code":"FAIL","err_code":"PARAM_ERROR","err_code_des":"Lỗi tham số: Trường spbill_create_ip bắt buộc và phải là chuỗi IP hợp lệ."}
NO_CHECK
(không kiểm tra) hoặc FORCE_CHECK
(kiểm tra nghiêm ngặt).Ngoài ra, việc xác định đúng IP (spbill_create_ip
) rất quan trọng vì đây là yêu cầu bắt buộc từ API WeChat. Nếu không cung cấp hoặc cung cấp sai định dạng, hệ thống sẽ từ chối giao dịch.
Hy vọng bài viết này giúp bạn hiểu rõ hơn về quá trình tích hợp thanh toán doanh nghiệp vào ví WeChat!