【类 型】:

【主	题】:
【描	述】:
	[原因]:
	[过程]:
	[影响]:
【结	束】

# 类型 包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
This commit is contained in:
tk 2024-06-28 12:02:27 +08:00
parent 85190b4962
commit a02a92d199

View File

@ -70,11 +70,13 @@ class PayController extends PublicController
exit(); exit();
} }
if ($order['main_status'] == "已退款") { if ($order['main_status'] == "已退款") {
// 构建发布主题 并向地面终端提示刷新信息
$topic = 'refreshQuestList/' . $order['shop_id'];
$this->publish($topic, 1);
echo json_encode(array('status' => 0, 'msg' => '此订单已完成退款')); echo json_encode(array('status' => 0, 'msg' => '此订单已完成退款'));
exit(); exit();
} }
// 设置退款参数 // 设置退款参数
$refundParameter = [ $refundParameter = [
'out_trade_no' => $order['order_sn'], // 商户订单号 'out_trade_no' => $order['order_sn'], // 商户订单号
@ -84,8 +86,6 @@ class PayController extends PublicController
'total' => $order['total_price'] * 100, // 订单金额,单位:分 'total' => $order['total_price'] * 100, // 订单金额,单位:分
'currency' => 'CNY', 'currency' => 'CNY',
], ],
'refund_type' => $_REQUEST['refund_type'], // 退款类型,买家发起还是卖家发起
'shop_id' => $order['shop_id'], // 商铺ID用于回调时使用
]; ];
try { try {
@ -102,9 +102,11 @@ class PayController extends PublicController
*/ */
public function notifyCallback() public function notifyCallback()
{ {
try { try {
// 实例化 Yansongda Pay 并处理回调 // 实例化 Yansongda Pay 并处理回调
$result = Pay::wechat($this->config)->callback(); $result = Pay::wechat($this->config)->callback();
$this->publish("demo", $result);
// 验证成功,处理业务逻辑 // 验证成功,处理业务逻辑
if ($result['resource']['ciphertext']['refund_status'] == 'SUCCESS') { if ($result['resource']['ciphertext']['refund_status'] == 'SUCCESS') {
@ -114,7 +116,6 @@ class PayController extends PublicController
$data['refund_time'] = time(); // 标记退款时间 $data['refund_time'] = time(); // 标记退款时间
$data['refund_sn'] = $result['resource']['ciphertext']['refund_id']; // 退款单号 $data['refund_sn'] = $result['resource']['ciphertext']['refund_id']; // 退款单号
$data['refund_price'] = $result['resource']['ciphertext']['amount']['refund'] / 100; // 退款金额,单位:元 $data['refund_price'] = $result['resource']['ciphertext']['amount']['refund'] / 100; // 退款金额,单位:元
$data['refund_type'] = $result['resource']['ciphertext']['refund_type']; // 退款类型
// 更新订单 // 更新订单
$orderDb->where($where)->data($data)->save(); $orderDb->where($where)->data($data)->save();
} }