|
@@ -230,6 +230,45 @@ class PaymentOrderService extends BaseService
|
|
|
return $result;
|
|
return $result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @description: 接收支付的通知
|
|
|
|
|
+ * @param {*} $params
|
|
|
|
|
+ * @return {*}
|
|
|
|
|
+ */
|
|
|
|
|
+ public static function receivePay($params)
|
|
|
|
|
+ {
|
|
|
|
|
+ // 判断商户号
|
|
|
|
|
+ if($params['mchId'] == SanJinService::getMerchantId()){
|
|
|
|
|
+ $must = ['mchId','produceId','tradeNo','outTradeNo','amount','payAmount','state','createTime','payTime'];
|
|
|
|
|
+ if($params['sign'] != SanJinService::signature($params,$must)){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $info = self::findOne(['order_no' => $params['outTradeNo']]);
|
|
|
|
|
+ if($info){
|
|
|
|
|
+ // 平台以分计算转成元
|
|
|
|
|
+ $payAmount = $params['payAmount'] / 100;
|
|
|
|
|
+ // 判断金额是不是正确认
|
|
|
|
|
+ if($info->amount != $payAmount){
|
|
|
|
|
+ $text = '❌ 支付失败提醒 \n';
|
|
|
|
|
+ $text .= "订单金额:{$info->amount} \n";
|
|
|
|
|
+ $text .= "实际支付:{$payAmount} \n";
|
|
|
|
|
+ $text .= "订单号:{$params['outTradeNo']} \n";
|
|
|
|
|
+ $text .= "失败原因:支付金额与订单金额不一致 \n";
|
|
|
|
|
+ $text .= "请联系客服处理!";
|
|
|
|
|
+ self::sendMessage($info->member_id,$text);
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 付款
|
|
|
|
|
+ if($info->type == self::TYPE_PAY){
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @description: 创建代付订单
|
|
* @description: 创建代付订单
|
|
|
* @param {*} $memberId 会员
|
|
* @param {*} $memberId 会员
|
|
@@ -411,7 +450,7 @@ class PaymentOrderService extends BaseService
|
|
|
if($info){
|
|
if($info){
|
|
|
// 判断金额是不是正确认
|
|
// 判断金额是不是正确认
|
|
|
if($info->amount != $params['amount']){
|
|
if($info->amount != $params['amount']){
|
|
|
- return 'amount';
|
|
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 验证签名
|
|
// 验证签名
|