解决 二次提交 小程序不能支付的问题

wenjuan
yanzai 1 year ago
parent 3e6d4b46a9
commit 69362c16ad

@ -266,7 +266,7 @@ class OrderController extends Controller
}
}
function generateOrderNumber()
public function generateOrderNumber()
{
// 获取当前时间的时间戳(精确到毫秒)
$timestamp = round(microtime(true) * 1000);

@ -48,12 +48,18 @@ class PayController extends Controller
$sub_org_code = 2;
}
if ($sub_org_code == 0) return \Yz::echoError1("医院id异常");
//每次支付前更新订单号为1个新订单号码
$randomPart = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 6);
$new_ordernumber=substr($orderInfo->order_number, 0, -6);
$new_ordernumber=$new_ordernumber.$randomPart;
$u=DB::table('orders')->where(['id' => $id,])->update(['order_number'=>$new_ordernumber]);
if(!$u) return \Yz::echoError1("更新订单号失败");
$XCXApi = new XCXApiController();
$params = [
'appid' => $XCXApi::$appid,
'sub_org_code' => $sub_org_code,
'ghzid' => $personInfo->ghzid,
'orderid' => $orderInfo->order_number,
'orderid' => $new_ordernumber,
'order_desc' => $orderInfo->title,
'amount' => (int)($orderInfo->true_price * 100),
'notify_url' => config('app.globals.PayNotifyUrl')

Loading…
Cancel
Save