|
@@ -152,25 +152,60 @@ class PaymentOrderService extends BaseService
|
|
|
* @description: 创建代收订单
|
|
* @description: 创建代收订单
|
|
|
* @param {*} $memberId
|
|
* @param {*} $memberId
|
|
|
* @param {*} $amount
|
|
* @param {*} $amount
|
|
|
- * @param {*} $channel
|
|
|
|
|
- * @param {*} $account
|
|
|
|
|
|
|
+ * @param {*} $paymentType 支付类型:支付宝、数字人民币
|
|
|
* @return {*}
|
|
* @return {*}
|
|
|
*/
|
|
*/
|
|
|
- public static function createPay($memberId,$amount,$channel)
|
|
|
|
|
|
|
+ public static function createPay($memberId,$amount,$paymentType)
|
|
|
{
|
|
{
|
|
|
$result = [];
|
|
$result = [];
|
|
|
$result['chat_id'] = $memberId;
|
|
$result['chat_id'] = $memberId;
|
|
|
|
|
+ $channel = ''; // 支付的通道
|
|
|
|
|
+ $product = SanJinService::$PRODUCT;
|
|
|
|
|
+ $max = 0;
|
|
|
|
|
+ $min = 0;
|
|
|
|
|
+ $rate = 0;
|
|
|
|
|
+ foreach($product as $k => $v){
|
|
|
|
|
+ if($v['type'] == $paymentType){
|
|
|
|
|
+ if($amount >= $v['min'] && $amount <= $v['max']){
|
|
|
|
|
+ $channel = $k;
|
|
|
|
|
+ $rate = $v['rate'];
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if($min == 0){
|
|
|
|
|
+ $min = $v['min'];
|
|
|
|
|
+ }
|
|
|
|
|
+ if($max == 0){
|
|
|
|
|
+ $max = $v['max'];
|
|
|
|
|
+ }
|
|
|
|
|
+ if($min > $v['min']){
|
|
|
|
|
+ $min = $v['min'];
|
|
|
|
|
+ }
|
|
|
|
|
+ if($max < $v['max']){
|
|
|
|
|
+ $max = $v['max'];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 没有找到支付通道
|
|
|
|
|
+ if(empty($channel)){
|
|
|
|
|
+ $text = "发起充值失败 \n";
|
|
|
|
|
+ $text .= "最低充值:".$min." \n";
|
|
|
|
|
+ $text .= "最高充值:".$max." \n";
|
|
|
|
|
+ $text .= "请重新填写充值的金额!";
|
|
|
|
|
+ $result['text'] = $text;
|
|
|
|
|
+ return $result;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
$data = [];
|
|
$data = [];
|
|
|
$data['type'] = self::TYPE_PAY;
|
|
$data['type'] = self::TYPE_PAY;
|
|
|
$data['member_id'] = $memberId;
|
|
$data['member_id'] = $memberId;
|
|
|
$data['amount'] = $amount;
|
|
$data['amount'] = $amount;
|
|
|
$data['channel'] = $channel;
|
|
$data['channel'] = $channel;
|
|
|
- $data['free'] = "";
|
|
|
|
|
|
|
+ $data['free'] = $amount * $rate;
|
|
|
$order_no = self::createOrderNo('sj'.$data['type'].'_', $memberId);
|
|
$order_no = self::createOrderNo('sj'.$data['type'].'_', $memberId);
|
|
|
$data['order_no'] = $order_no;
|
|
$data['order_no'] = $order_no;
|
|
|
$data['callback_url'] = SanJinService::getNotifyUrl();
|
|
$data['callback_url'] = SanJinService::getNotifyUrl();
|
|
|
- $data['remark'] = '充值费率:';
|
|
|
|
|
|
|
+ $data['remark'] = '充值费率:'.$rate;
|
|
|
$data['status'] = self::STATUS_STAY;
|
|
$data['status'] = self::STATUS_STAY;
|
|
|
$ret = SanJinService::pay(($amount*100), $order_no, $channel);
|
|
$ret = SanJinService::pay(($amount*100), $order_no, $channel);
|
|
|
if($ret['code'] == 0){
|
|
if($ret['code'] == 0){
|