jh-admin/addon/cypay/shop/controller/Pay.php

86 lines
3.7 KiB
PHP

<?php
namespace addon\cypay\shop\controller;
use addon\cypay\model\Config as ConfigModel;
use addon\cypay\model\Pay as PayModel;
use addon\cypay\model\RequestApi;
use app\model\system\Pay as PayCommon;
use app\shop\controller\BaseShop;
class Pay extends BaseShop{
public function config(){
$config_model = new ConfigModel();
if (request()->isAjax()) {
$data = [
"mch_id" => input("mch_id",""),//商户号
"private_key" => input("private_key",""),
"cj_public_key" => input("cj_public_key",""),
"pay_list" => input("pay_list",[]),
"refund_status" => input("refund_status",0),
"wechatpay" => input("wechatpay",0),
"alipay" => input("alipay",0),
"is_isp" => input("is_isp",0),
"is_cashier" => input("is_cashier",0)
];
return $config_model->setPayConfig($data, $this->site_id, $this->app_module);
} else {
$info_result = $config_model->getPayConfig($this->site_id, $this->app_module);
$info = $info_result["data"];
if (!isset($info["value"]['alipay'])) {
$info["value"]['alipay'] = 0;
}
if (!isset($info["value"]['wechatpay'])) {
$info["value"]['wechatpay'] = 0;
}
$this->assign("info", $info);
return $this->fetch("pay/config");
}
}
// 调试
public function test(){
$param = array (
'charset' => 'UTF-8',
'biz_content' => 'JdmuGYi47YirsivbBk1LVH8fNsXJae67MNMCeZ/paL1B/JALWlBXEexWoDsdW/RdDCNIjD2h0AXv55CnRndojNazqEkx2hcv96i7zCsG9ITuKrGnTl5oFL1wWb0pKzPTKAR+Hh48v8aVHX+H9C6O07eYoJIXnCpzWDD7JXwsVRlBKAs3ac48Xp6Lr6yLh/9oqhLFYte26hEsYGgeD8vtOSgHt0mT4N3QS8uAJDXDek7eyRBcA4RaK4sYJPCYT+gfxd0Y/sI/JYto0JvedZ1TNzNB29iY8hQXQX+USbHkGZQ6dBusOmL2cgS5bkFKF5ZRUKjGrF5RW9F1adxajaC7+C1Wq542/M7LQ9G7yRAHkVzQLKTMOo5Rdehonqya0Vy6jl2eh3kBhxMTt6vt4xCxv6BdKNdMtjMzgviwagTumW/1PzTWthwLhe4K2IMNZan+2+Qzw1CWlIWsrOQqdJy0SFc+HorCt1lAwWgubEQCgyEc/U+ojv1I96740D/7phwWHn1zz262Fb4YfOl+ScW9rtvYK/Kge13lZjMw4ehV+sB+TqbayHx/pATyBkcR7b8x/Y35PpZZw/uDM1MwIwwYekXq6PpR2dwl06CuK2FRx8qRm9p3AlIvi62jb3BLUUxjoZMyB9EIKbg1Ukk2DnOpj1JqpSwKZ3XBvD1RU6Vt48Y=',
'function_code' => '1000160001',
'format' => 'JSON',
'sign' => 'cD8xGXc8JSfbehyL0TSr+w3dZjWFJ1AeoJ4y6pnJak/pBuH6u2Qh2QcRUop+ty/bjTTalc7qGyurJ8Gw4X/9Qm1DaKVwWxhbC9FhifotEHl1K3oQ4xX+d1XldreDN/S87t8Jcr9AihVhw607DQKQO08DuMHfn6nzriUKN1e/Ij9btJPCnyBDRd/7xMUmkvFLyL3nhMJZvTWIsCmjk0VcbEyeCQ4nNF5H8ybiRTEEvPuig8McQttn2sy55AxSnHniTKYYg6ZWiYzw4qH4IpA09Mqi8E1dHfWectVjtCHrCPYhm8fP7Jg+QrY6nx40PXr5U+VGuoPD9LpmXuCXnDMDiw==',
'merchant_id' => '900654153100000',
'product_code' => '1000',
'sign_type' => 'RSA2',
'version' => '1.0',
'paytype' => 'cywechatpay',
'app_type' => 'weapp',
'site_id' => '2',
);
$payType = $param['paytype'] ?? '';
if($payType == 'cywechatpay'){
// 信息解密
$bizContent = (new RequestApi($param['site_id']))->handleResultContent($param['biz_content']);
$outTradeNo = explode('_', $bizContent['out_trade_no'])[0];
$payInfo = (new PayCommon())->getPayInfo($outTradeNo);
$payInfo = $payInfo['data'] ?? [];
if(!empty($payInfo)){
$pay_model = new PayModel($payInfo['site_id']);
$pay_model->payNotify($param, $bizContent, $payInfo);
}else{
trace($param, '好收银 - 异步通知 - 订单不存在');
}
}
}
}