因公司是做电商跨境的,需要微信支付单号,二开了一下,保存了微信支付单号。
分享给你们:
1.在订单表store_order 中新增一个字段 transaction_id
2.修改3个文件,crmeb\services\MiniProgramService.php crmeb\repositories\PaymentRepositories.php app\models\store\StoreOrder.php
1. 362行
public static function handleNotify()
{
self::paymentService()->handleNotify(function ($notify, $successful) {
if ($successful && isset($notify->out_trade_no)) {
if (isset($notify->attach) && $notify->attach) {
if (($count = strpos($notify->out_trade_no, '_')) !== false) {
$notify->out_trade_no = substr($notify->out_trade_no, $count + 1);
}
return (new Hook(PaymentRepositories::class, 'wechat'))->listen($notify->attach, $notify->out_trade_no,$notify->transaction_id);
}
self::mini($notify, $successful);
return false;
}
});
}
2. 51行
public static function wechatProduct($order_id ,$transaction_id)
{
try {
if (StoreOrder::be(['order_id' => $order_id, 'paid' => 1])) return true;
return StoreOrder::paySuccess($order_id,'weixin','',$transaction_id);
} catch (\Exception $e) {
return false;
}
}
3.752行
public static function paySuccess($orderId, $paytype = 'weixin', $formId = '',$transaction_id='')
{
$order = self::where('order_id', $orderId)->find();
$resPink = true;
$res1 = self::where('order_id', $orderId)->update(['paid' => 1, 'pay_type' => $paytype, 'pay_time' => time(),'transaction_id'=>$transaction_id]);//订单改为支付
if ($order->combination_id && $res1 && !$order->refund_status) $resPink = StorePink::createPink($order);//创建拼团
$oid = self::where('order_id', $orderId)->value('id');
StoreOrderStatus::status($oid, 'pay_success', '用户付款成功');
$now_money = User::where('uid', $order['uid'])->value('now_money');
UserBill::expend('购买商品', $order['uid'], 'now_money', 'pay_money', $order['pay_price'], $order['id'], $now_money, '支付' . floatval($order['pay_price']) . '元购买商品');
//支付成功后
event('OrderPaySuccess', [$order, $formId]);
$res = $res1 && $resPink;
return false !== $res;
}
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}