Files
mier-php/application/api/model/HuiFu1.php
2025-08-11 10:22:05 +08:00

95 lines
3.1 KiB
PHP

<?php
namespace app\api\model;
use app\common\hui_fu\HuiFuPayment;
use app\common\hui_fu\HuiFuCallback;
use think\db;
class HuiFu1
{
public function wx_pay_web($order_sn, $money, $open_id)
{
$notify_url = "http://" . $_SERVER['HTTP_HOST'] . "/api/pay_notify/hui_fu_pay_notify";
$ip = request()->ip();
$pay_type = 42;
$forbid_mer_no = Db::name('config')->where('key_title', 'wx_hui_fu_machid')->value('key_value');
$forbid_mer_no_arr = [];
if(!empty($forbid_mer_no)) {
$forbid_mer_no_arr = explode('|', $forbid_mer_no);
}
// 获取随机键名
$randomKey = array_rand($forbid_mer_no_arr);
// 获取随机元素
$huifu_id = $forbid_mer_no_arr[$randomKey];
$config_name = $huifu_id . '.json';
$project_path = app()->getRootPath()."application/";
$config_info = $project_path.'common/hui_fu/config/' . $config_name;
if (!file_exists($config_info)) {
return ['code' => 201, 'msg' => '暂无有效商户!', 'data' => null];
}
$pay_data = ['order_sn' => $order_sn, 'money' => $money, 'openid' => $open_id, 'ip' => $ip, 'hui_fu_id'=>$huifu_id];
$payment = new HuiFuPayment($pay_data, $pay_type, $notify_url);
$result = $payment->pay_wxgzh();
if($result['code'] == 201) {
return $result;
}
$pay_info = $result['data']['pay_info'];
return ['code' => 200, 'msg' => '成功', 'data' => $pay_info];
}
//支付宝H5支付
public function ali_h5($order_sn, $money)
{
$notify_url = "http://" . $_SERVER['HTTP_HOST'] . "/api/pay_notify/hui_fu_pay_notify";
$ip = request()->ip();
$pay_type = 41;
// $forbid_mer_no_arr = [];
// if(!empty($forbid_mer_no)) {
// $forbid_mer_no_arr = explode('|', $forbid_mer_no);
// }
// // 获取随机键名
// $randomKey = array_rand($forbid_mer_no_arr);
// // 获取随机元素
// $huifu_id = $forbid_mer_no_arr[$randomKey];
$huifu_id = Db::name('config')->where('key_title', 'zfb_hui_fu_machid')->value('key_value');
$config_name = $huifu_id . '.json';
$project_path = app()->getRootPath()."application/";
$config_info = $project_path.'common/hui_fu/config/' . $config_name;
if (!file_exists($config_info)) {
return ['code' => 201, 'msg' => '暂无有效商户!', 'data' => null];
}
$pay_data = ['order_sn' => $order_sn, 'money' => $money,'ip' => $ip,'hui_fu_id'=>$huifu_id];
$payment = new HuiFuPayment($pay_data, $pay_type, $notify_url);
$result = $payment->pay();
if($result['code'] == 201) {
return $result;
}
$pay_info = $result['data'];
return ['code' => 200, 'msg' => '成功', 'data' => $pay_info];
}
public function wx_verify_sign($resp_data, $sign, $huifu_id)
{
$object = new HuiFuCallback($huifu_id);
return $object->verfiy_sign($resp_data, $sign);
}
}