Authored by 郝肖肖

支付成功后,发送支付确认接口

... ... @@ -148,4 +148,25 @@ class OrderData
return Yohobuy::post(Yohobuy::API_URL, $param);
}
/**
* 支付成功后--支付确认接口
* @param type int $orderCode 订单号
* @param type int $paymentId 支付方式
* @param type int $uid 用户ID
* @return type []
*/
public static function payConfirm($orderCode, $paymentId, $uid)
{
// 构建必传参数
$param = Yohobuy::param();
$param['method'] = 'app.SpaceOrders.payConfirm';
$param['order_code'] = $orderCode;
$param['payment_id'] = $paymentId;
$param['uid'] = intval($uid);
$param['client_secret'] = Sign::getSign($param);
// 调用接口获得数据
return Yohobuy::post(Yohobuy::API_URL, $param);
}
}
... ...
... ... @@ -243,8 +243,8 @@ class PaymentModel
}
// if ($orderData['payment_status'] === 'N') {
// logup::info(
// '用户支付成功,同步地址返回,查询订单状态为未付款,有可能异步地址还未即时更新状态',
// UdpLog::info(
// '【用户支付成功,同步地址返回】,查询订单状态为未付款,有可能异步地址还未即时更新状态,参数',
// array('payResult' => $payResult, 'orderData' => $orderData)
// );
// }
... ... @@ -414,4 +414,29 @@ class PaymentModel
}
return $uid;
}
/**
* 支付成功后--确认接口
* @param type object $payResult 订单号
* @param type int $paymentId 支付方式id
* @param type int $uid 用户ID
* @return type []
*/
public static function payConfirm($payResult, $paymentId, $uid)
{
// UdpLog::info("【支付成功-发送确认接口】,function:payConfirm,支付方式ID:{$paymentId},参数", $payResult);
if (empty($payResult->orderCode)) {
return self::$code;
}
$orderCode = $payResult->orderCode;
//如果uid,为空,则从缓存中取uid,但还是不排除uid为空的情况下。
$uid = empty($uid) ? self::getUid($orderCode) : $uid;
$confirm = OrderData::payConfirm($orderCode, $paymentId, $uid);
// UdpLog::info(
// "【支付成功-发送确认接口】,function:payConfirm,orderCode:{$orderCode},支付方式ID:{$paymentId},接口返回",
// array('confirm' => $confirm, '$payResult' => $payResult)
// );
return $confirm;
}
}
\ No newline at end of file
... ...
... ... @@ -100,6 +100,10 @@ class PayreturnController extends WebAction
);
if ($payResult->payResult == 200) {
//支付成功,发送一次支付确认
$uid = $this->getUid(true);
PaymentModel::payConfirm($payResult, $payment, $uid);
//支付成功
$result = PaymentModel::procOrderData($payResult, $payment);
}
... ...