修正支付回调配置参数
This commit is contained in:
parent
d4707488b6
commit
fe62ed8614
@ -2,15 +2,59 @@
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Constants\HttpEnumCode;
|
||||
use App\Exception\BusinessException;
|
||||
use App\Services\BaseService;
|
||||
use App\Utils\Log;
|
||||
use Extend\Wechat\WechatPay;
|
||||
use Hyperf\HttpMessage\Stream\SwooleFileStream;
|
||||
use Hyperf\HttpMessage\Stream\SwooleStream;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
|
||||
class CallBackController extends BaseService
|
||||
class CallBackController extends AbstractController
|
||||
{
|
||||
// 微信支付回调
|
||||
public function wxPayCallBack(){
|
||||
$request_params = $this->request->all();
|
||||
Log::getInstance()->info(json_encode($request_params,JSON_UNESCAPED_UNICODE));
|
||||
/**
|
||||
* 患者端微信支付回调
|
||||
* @return ResponseInterface
|
||||
* @throws \Throwable
|
||||
*/
|
||||
public function patientWxPayCallBack(): ResponseInterface
|
||||
{
|
||||
try {
|
||||
// 处理支付结果事件
|
||||
$WechatPay = new WechatPay(1);
|
||||
$app = $WechatPay->createApp();
|
||||
$server = $app->getServer();
|
||||
|
||||
$server->handlePaid(function ($message) {
|
||||
Log::getInstance()->info("微信患者端支付回调数据:" . json_encode($message,JSON_UNESCAPED_UNICODE));
|
||||
dump($message);
|
||||
// $message 为微信推送的通知结果,详看微信官方文档
|
||||
|
||||
// 微信支付订单号 $message['transaction_id']
|
||||
// 商户订单号 $message['out_trade_no']
|
||||
// 商户号 $message['mchid']
|
||||
// 具体看微信官方文档...
|
||||
// 进行业务处理,如存数据库等...
|
||||
});
|
||||
|
||||
// 处理退款结果事件
|
||||
$server->handleRefunded(function ($message) {
|
||||
Log::getInstance()->info("微信患者端退款回调数据:" . json_encode($message,JSON_UNESCAPED_UNICODE));
|
||||
// 同上,$message 详看微信官方文档
|
||||
// 进行业务处理,如存数据库等...
|
||||
});
|
||||
|
||||
return $server->serve();
|
||||
}catch (\Exception $e) {
|
||||
return $this->response->withStatus(500)->withBody(new SwooleStream(strval(json_encode(['code' => 'ERROR', 'message' => $e->getMessage()], JSON_UNESCAPED_UNICODE))));
|
||||
}
|
||||
}
|
||||
|
||||
// 医生端微信支付回调
|
||||
public function doctorWxPayCallBack(): ResponseInterface
|
||||
{
|
||||
return $this->response->json([]);
|
||||
}
|
||||
|
||||
// im回调
|
||||
|
||||
@ -37,18 +37,19 @@ return [
|
||||
"doctor" => [
|
||||
"app_id" => env('DOCTOR_WECHAT_APP_ID', 'wxc83296720404aa7b'),
|
||||
"secret" => env('DOCTOR_WECHAT_APP_SECRET', '817665d3763637fe66d56548f8484622'),
|
||||
"notify_url" => env('DOCTOR_WECHAT_NOTIFY_URL', 'callback/wxpay/doctor'),
|
||||
],
|
||||
"patient" => [
|
||||
"app_id" => env('PATIENT_WECHAT_APP_ID', 'wx70a196902e0841b6'),
|
||||
"secret" => env('PATIENT_WECHAT_APP_SECRET', '2671d2f4285180ddec5a5a2b16ed50f2'),
|
||||
]
|
||||
"notify_url" => env('PATIENT_WECHAT_NOTIFY_URL', 'callback/wxpay/patient'),
|
||||
],
|
||||
"pay" => [
|
||||
"mch_id" => env('PATIENT_WECHAT_MCH_ID', '1636644248'),
|
||||
"app_id" => env('PATIENT_WECHAT_APP_ID', 'wx70a196902e0841b6'),
|
||||
"v3_api_secret" => env('PATIENT_WECHAT_APIv3_SECRET', 'gdxz292sjSOadN3m2pCda03NfCsmNadY'),
|
||||
]
|
||||
],
|
||||
],
|
||||
"alibaba" => [// 阿里
|
||||
"dysms" => [// 阿里云大鱼短信
|
||||
"accessKey" => "LTAI4GGygjsKhyBwvvC3CghV",
|
||||
|
||||
@ -373,9 +373,12 @@ Router::addGroup('/system', function () {
|
||||
// 回调
|
||||
Router::addGroup('/callback', function () {
|
||||
// 支付回调
|
||||
Router::addGroup('/pay', function () {
|
||||
// 微信支付回调
|
||||
Router::post('/wx', [CallBackController::class, 'wxPayCallBack']);
|
||||
Router::addGroup('/wxpay', function () {
|
||||
// 患者端微信支付回调
|
||||
Router::post('/patient', [CallBackController::class, 'patientWxPayCallBack']);
|
||||
|
||||
// 医生端微信支付回调
|
||||
Router::post('/doctor', [CallBackController::class, 'doctorWxPayCallBack']);
|
||||
});
|
||||
|
||||
// im回调
|
||||
|
||||
@ -6,6 +6,7 @@ use App\Constants\HttpEnumCode;
|
||||
use App\Exception\BusinessException;
|
||||
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
|
||||
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
|
||||
use EasyWeChat\OfficialAccount\Message;
|
||||
use EasyWeChat\Pay\Application;
|
||||
use Hyperf\Utils\ApplicationContext;
|
||||
use Psr\SimpleCache\CacheInterface;
|
||||
@ -16,6 +17,7 @@ use Psr\SimpleCache\CacheInterface;
|
||||
class WechatPay
|
||||
{
|
||||
protected array $config;// 系统配置
|
||||
protected array $pay_config;// 支付系统配置
|
||||
|
||||
/**
|
||||
* @param string $user_type
|
||||
@ -30,6 +32,8 @@ class WechatPay
|
||||
$this->config = config("we_chat.applets.pharmacist");
|
||||
}
|
||||
|
||||
$this->pay_config = config("we_chat.applets.pay");
|
||||
|
||||
if (empty($this->config)){
|
||||
throw new BusinessException("系统配置错误", HttpEnumCode::SERVER_ERROR);
|
||||
}
|
||||
@ -91,11 +95,11 @@ class WechatPay
|
||||
$app = $this->createApp();
|
||||
|
||||
$options = [
|
||||
"mchid" => config("we_chat.pay.mch_id"), // <---- 商户号
|
||||
"mchid" => $this->pay_config['mch_id'], // <---- 商户号
|
||||
"out_trade_no" => $out_trade_no, // 商户系统内部订单号
|
||||
"appid" => $this->config['app_id'],
|
||||
"description" => "问诊服务",
|
||||
"notify_url" => "https://dev.hospital.applets.igandanyiyuan.com/callback/pay/wx",
|
||||
"notify_url" => env('DOMAIN_NAME_DEV') . $this->config['notify_url'],
|
||||
"amount" => [
|
||||
"total" => $total,//订单总金额,单位为分。
|
||||
"currency" => "CNY"
|
||||
@ -151,4 +155,6 @@ class WechatPay
|
||||
throw new BusinessException($e->getMessage(), HttpEnumCode::SERVER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -7,6 +7,8 @@ cd /data/www/hospital-applets-api || exit
|
||||
echo "
|
||||
APP_NAME=gdxz
|
||||
APP_ENV=dev
|
||||
DOMAIN_NAME_DEV=https://dev.hospital.applets.igandanyiyuan.com/
|
||||
DOMAIN_NAME_PROD=https://dev.hospital.applets.igandanyiyuan.com/
|
||||
|
||||
# [mysql]
|
||||
DB_DRIVER=mysql
|
||||
@ -34,11 +36,13 @@ JWT_ALGO=HS256
|
||||
# [WECHAT]
|
||||
PATIENT_WECHAT_APP_ID=wx70a196902e0841b6
|
||||
PATIENT_WECHAT_APP_SECRET=2671d2f4285180ddec5a5a2b16ed50f2
|
||||
PATIENT_WECHAT_NOTIFY_URL=callback/wxpay/patient
|
||||
|
||||
# [DOCTOR]
|
||||
# [WECHAT]
|
||||
DOCTOR_WECHAT_APP_ID=wxc83296720404aa7b
|
||||
DOCTOR_WECHAT_APP_SECRET=817665d3763637fe66d56548f8484622
|
||||
DOCTOR_WECHAT_NOTIFY_URL=callback/wxpay/doctor
|
||||
|
||||
# [AMQP]
|
||||
AMQP_HOST=42.193.16.243
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user