修正支付回调配置参数
This commit is contained in:
parent
d4707488b6
commit
fe62ed8614
@ -2,15 +2,59 @@
|
|||||||
|
|
||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
|
use App\Constants\HttpEnumCode;
|
||||||
|
use App\Exception\BusinessException;
|
||||||
use App\Services\BaseService;
|
use App\Services\BaseService;
|
||||||
use App\Utils\Log;
|
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();
|
* @return ResponseInterface
|
||||||
Log::getInstance()->info(json_encode($request_params,JSON_UNESCAPED_UNICODE));
|
* @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回调
|
// im回调
|
||||||
|
|||||||
@ -37,17 +37,18 @@ return [
|
|||||||
"doctor" => [
|
"doctor" => [
|
||||||
"app_id" => env('DOCTOR_WECHAT_APP_ID', 'wxc83296720404aa7b'),
|
"app_id" => env('DOCTOR_WECHAT_APP_ID', 'wxc83296720404aa7b'),
|
||||||
"secret" => env('DOCTOR_WECHAT_APP_SECRET', '817665d3763637fe66d56548f8484622'),
|
"secret" => env('DOCTOR_WECHAT_APP_SECRET', '817665d3763637fe66d56548f8484622'),
|
||||||
|
"notify_url" => env('DOCTOR_WECHAT_NOTIFY_URL', 'callback/wxpay/doctor'),
|
||||||
],
|
],
|
||||||
"patient" => [
|
"patient" => [
|
||||||
"app_id" => env('PATIENT_WECHAT_APP_ID', 'wx70a196902e0841b6'),
|
"app_id" => env('PATIENT_WECHAT_APP_ID', 'wx70a196902e0841b6'),
|
||||||
"secret" => env('PATIENT_WECHAT_APP_SECRET', '2671d2f4285180ddec5a5a2b16ed50f2'),
|
"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'),
|
||||||
|
"v3_api_secret" => env('PATIENT_WECHAT_APIv3_SECRET', 'gdxz292sjSOadN3m2pCda03NfCsmNadY'),
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"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" => [// 阿里
|
"alibaba" => [// 阿里
|
||||||
"dysms" => [// 阿里云大鱼短信
|
"dysms" => [// 阿里云大鱼短信
|
||||||
|
|||||||
@ -373,9 +373,12 @@ Router::addGroup('/system', function () {
|
|||||||
// 回调
|
// 回调
|
||||||
Router::addGroup('/callback', function () {
|
Router::addGroup('/callback', function () {
|
||||||
// 支付回调
|
// 支付回调
|
||||||
Router::addGroup('/pay', function () {
|
Router::addGroup('/wxpay', function () {
|
||||||
// 微信支付回调
|
// 患者端微信支付回调
|
||||||
Router::post('/wx', [CallBackController::class, 'wxPayCallBack']);
|
Router::post('/patient', [CallBackController::class, 'patientWxPayCallBack']);
|
||||||
|
|
||||||
|
// 医生端微信支付回调
|
||||||
|
Router::post('/doctor', [CallBackController::class, 'doctorWxPayCallBack']);
|
||||||
});
|
});
|
||||||
|
|
||||||
// im回调
|
// im回调
|
||||||
|
|||||||
@ -6,6 +6,7 @@ use App\Constants\HttpEnumCode;
|
|||||||
use App\Exception\BusinessException;
|
use App\Exception\BusinessException;
|
||||||
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
|
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
|
||||||
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
|
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
|
||||||
|
use EasyWeChat\OfficialAccount\Message;
|
||||||
use EasyWeChat\Pay\Application;
|
use EasyWeChat\Pay\Application;
|
||||||
use Hyperf\Utils\ApplicationContext;
|
use Hyperf\Utils\ApplicationContext;
|
||||||
use Psr\SimpleCache\CacheInterface;
|
use Psr\SimpleCache\CacheInterface;
|
||||||
@ -16,6 +17,7 @@ use Psr\SimpleCache\CacheInterface;
|
|||||||
class WechatPay
|
class WechatPay
|
||||||
{
|
{
|
||||||
protected array $config;// 系统配置
|
protected array $config;// 系统配置
|
||||||
|
protected array $pay_config;// 支付系统配置
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $user_type
|
* @param string $user_type
|
||||||
@ -30,6 +32,8 @@ class WechatPay
|
|||||||
$this->config = config("we_chat.applets.pharmacist");
|
$this->config = config("we_chat.applets.pharmacist");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->pay_config = config("we_chat.applets.pay");
|
||||||
|
|
||||||
if (empty($this->config)){
|
if (empty($this->config)){
|
||||||
throw new BusinessException("系统配置错误", HttpEnumCode::SERVER_ERROR);
|
throw new BusinessException("系统配置错误", HttpEnumCode::SERVER_ERROR);
|
||||||
}
|
}
|
||||||
@ -91,11 +95,11 @@ class WechatPay
|
|||||||
$app = $this->createApp();
|
$app = $this->createApp();
|
||||||
|
|
||||||
$options = [
|
$options = [
|
||||||
"mchid" => config("we_chat.pay.mch_id"), // <---- 商户号
|
"mchid" => $this->pay_config['mch_id'], // <---- 商户号
|
||||||
"out_trade_no" => $out_trade_no, // 商户系统内部订单号
|
"out_trade_no" => $out_trade_no, // 商户系统内部订单号
|
||||||
"appid" => $this->config['app_id'],
|
"appid" => $this->config['app_id'],
|
||||||
"description" => "问诊服务",
|
"description" => "问诊服务",
|
||||||
"notify_url" => "https://dev.hospital.applets.igandanyiyuan.com/callback/pay/wx",
|
"notify_url" => env('DOMAIN_NAME_DEV') . $this->config['notify_url'],
|
||||||
"amount" => [
|
"amount" => [
|
||||||
"total" => $total,//订单总金额,单位为分。
|
"total" => $total,//订单总金额,单位为分。
|
||||||
"currency" => "CNY"
|
"currency" => "CNY"
|
||||||
@ -151,4 +155,6 @@ class WechatPay
|
|||||||
throw new BusinessException($e->getMessage(), HttpEnumCode::SERVER_ERROR);
|
throw new BusinessException($e->getMessage(), HttpEnumCode::SERVER_ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -7,6 +7,8 @@ cd /data/www/hospital-applets-api || exit
|
|||||||
echo "
|
echo "
|
||||||
APP_NAME=gdxz
|
APP_NAME=gdxz
|
||||||
APP_ENV=dev
|
APP_ENV=dev
|
||||||
|
DOMAIN_NAME_DEV=https://dev.hospital.applets.igandanyiyuan.com/
|
||||||
|
DOMAIN_NAME_PROD=https://dev.hospital.applets.igandanyiyuan.com/
|
||||||
|
|
||||||
# [mysql]
|
# [mysql]
|
||||||
DB_DRIVER=mysql
|
DB_DRIVER=mysql
|
||||||
@ -34,11 +36,13 @@ JWT_ALGO=HS256
|
|||||||
# [WECHAT]
|
# [WECHAT]
|
||||||
PATIENT_WECHAT_APP_ID=wx70a196902e0841b6
|
PATIENT_WECHAT_APP_ID=wx70a196902e0841b6
|
||||||
PATIENT_WECHAT_APP_SECRET=2671d2f4285180ddec5a5a2b16ed50f2
|
PATIENT_WECHAT_APP_SECRET=2671d2f4285180ddec5a5a2b16ed50f2
|
||||||
|
PATIENT_WECHAT_NOTIFY_URL=callback/wxpay/patient
|
||||||
|
|
||||||
# [DOCTOR]
|
# [DOCTOR]
|
||||||
# [WECHAT]
|
# [WECHAT]
|
||||||
DOCTOR_WECHAT_APP_ID=wxc83296720404aa7b
|
DOCTOR_WECHAT_APP_ID=wxc83296720404aa7b
|
||||||
DOCTOR_WECHAT_APP_SECRET=817665d3763637fe66d56548f8484622
|
DOCTOR_WECHAT_APP_SECRET=817665d3763637fe66d56548f8484622
|
||||||
|
DOCTOR_WECHAT_NOTIFY_URL=callback/wxpay/doctor
|
||||||
|
|
||||||
# [AMQP]
|
# [AMQP]
|
||||||
AMQP_HOST=42.193.16.243
|
AMQP_HOST=42.193.16.243
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user