|
@@ -308,6 +308,298 @@ class Pay extends Api
|
|
|
|
|
|
$this->success('链接', $rs['data']);
|
|
|
}
|
|
|
+
|
|
|
+ //SDK二合一支付
|
|
|
+ public function paysdk() {
|
|
|
+ $user_token = input('user_token', '', 'trim');
|
|
|
+ $diversionfst = input('diversionfst', '', 'trim'); //位置等导流标识
|
|
|
+ $diversioncsk = input('diversioncsk', '', 'trim'); //内容等导流标识
|
|
|
+ $trace_id = input('trace_id', '', 'trim'); //大数据推荐内容有trace_id
|
|
|
+ $contentid = input('contentid', '', 'trim'); //订购媒资的媒资movie_id
|
|
|
+
|
|
|
+ if (!$user_token) {
|
|
|
+ $this->error('参数缺失');
|
|
|
+ }
|
|
|
+
|
|
|
+ //生成支付订单记录
|
|
|
+ $rechar_order['user_id'] = $this->auth->id;
|
|
|
+ $rechar_order['order_no'] = date('YmdHis', time()) . $this->auth->id . rand(10000000, 99999999); //微信订单编号
|
|
|
+ $rechar_order['money'] = 49;
|
|
|
+ $rechar_order['purpose'] = 3; //充值用途:1=支付订单,2=充值,3=开通会员
|
|
|
+ $rechar_order['pay_type'] = 'zhuowang';
|
|
|
+ $rechar_order['relation_id'] = 1;
|
|
|
+ $rechar_order['createtime'] = time();
|
|
|
+
|
|
|
+ //开始事务
|
|
|
+ $result = Db::name('rechar_order')->insertGetId($rechar_order);
|
|
|
+ if (!$result) {
|
|
|
+ $this->error('网络延迟,请稍后再试');
|
|
|
+ }
|
|
|
+
|
|
|
+ $url = 'http://' . config('pay_ip') . '/HDC/3.0/hop/svc/pay/toPay.ajax';
|
|
|
+ $data = [
|
|
|
+ 'transId' => $rechar_order['order_no'],
|
|
|
+ 'orderNo' => $rechar_order['order_no'],
|
|
|
+ 'userToken' => $user_token,
|
|
|
+ 'notifyUrl' => config('img_url') . '/api/pay/notify',
|
|
|
+ 'backUrl' => config('back_url'),
|
|
|
+ 'deskCode' => config('desk_code'),
|
|
|
+ 'products' => [
|
|
|
+ [
|
|
|
+ 'productCode' => config('product_code'),
|
|
|
+ 'productPrice' => '29',
|
|
|
+ 'productUnit' => '个',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0028',
|
|
|
+ 'productPrice' => '0',
|
|
|
+ 'productUnit' => '7天体验',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0004',
|
|
|
+ 'productPrice' => '0',
|
|
|
+ 'productUnit' => '30天体验',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0030',
|
|
|
+ 'productPrice' => '0',
|
|
|
+ 'productUnit' => '90天体验',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005911cp0022',
|
|
|
+ 'productPrice' => '199',
|
|
|
+ 'productUnit' => '年度特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0051',
|
|
|
+ 'productPrice' => '119',
|
|
|
+ 'productUnit' => '半年特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0052',
|
|
|
+ 'productPrice' => '59',
|
|
|
+ 'productUnit' => '季度特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0044',
|
|
|
+ 'productPrice' => '20',
|
|
|
+ 'productUnit' => '咪咕叠加包',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0047',
|
|
|
+ 'productPrice' => '30',
|
|
|
+ 'productUnit' => '咪咕叠加包',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0031',
|
|
|
+ 'productPrice' => '39',
|
|
|
+ 'productUnit' => '畅享会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0035',
|
|
|
+ 'productPrice' => '20',
|
|
|
+ 'productUnit' => '两年特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0043',
|
|
|
+ 'productPrice' => '20',
|
|
|
+ 'productUnit' => '两年折扣',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0034',
|
|
|
+ 'productPrice' => '468',
|
|
|
+ 'productUnit' => '两年特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0046',
|
|
|
+ 'productPrice' => '49',
|
|
|
+ 'productUnit' => '连续包月',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0039',
|
|
|
+ 'productPrice' => '12',
|
|
|
+ 'productUnit' => '一日会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0031T1',
|
|
|
+ 'productPrice' => '1',
|
|
|
+ 'productUnit' => '畅享折扣',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0031T9',
|
|
|
+ 'productPrice' => '9',
|
|
|
+ 'productUnit' => '畅享折扣',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0031T19',
|
|
|
+ 'productPrice' => '19',
|
|
|
+ 'productUnit' => '畅享折扣',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '0002112cp0029',
|
|
|
+ 'productPrice' => '29',
|
|
|
+ 'productUnit' => '限时特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0002',
|
|
|
+ 'productPrice' => '35',
|
|
|
+ 'productUnit' => '畅享特惠',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ /*[
|
|
|
+ 'productCode' => '0002112cp0031Z39',
|
|
|
+ 'productPrice' => '39',
|
|
|
+ 'productUnit' => '畅享会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0040',
|
|
|
+ 'productPrice' => '39',
|
|
|
+ 'productUnit' => '月包会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0036',
|
|
|
+ 'productPrice' => '105',
|
|
|
+ 'productUnit' => '连续包季',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0021',
|
|
|
+ 'productPrice' => '299',
|
|
|
+ 'productUnit' => '连续包年',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0012',
|
|
|
+ 'productPrice' => '365',
|
|
|
+ 'productUnit' => '连续包年',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0037',
|
|
|
+ 'productPrice' => '59',
|
|
|
+ 'productUnit' => '30天会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005911cp0001',
|
|
|
+ 'productPrice' => '111',
|
|
|
+ 'productUnit' => '季度会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005911cp0005',
|
|
|
+ 'productPrice' => '209',
|
|
|
+ 'productUnit' => '半年会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005911cp0002',
|
|
|
+ 'productPrice' => '399',
|
|
|
+ 'productUnit' => '年度会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ /*[
|
|
|
+ 'productCode' => '008888cp0004',
|
|
|
+ 'productPrice' => '399',
|
|
|
+ 'productUnit' => '线下年包',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ /*[
|
|
|
+ 'productCode' => '2400000560_YRHY',
|
|
|
+ 'productPrice' => '5',
|
|
|
+ 'productUnit' => '一日会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0017',
|
|
|
+ 'productPrice' => '39',
|
|
|
+ 'productUnit' => '手柄',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ /*[
|
|
|
+ 'productCode' => '2000012947_ZY',
|
|
|
+ 'productPrice' => '39',
|
|
|
+ 'productUnit' => '手柄',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ /*[
|
|
|
+ 'productCode' => '005912cp0066',
|
|
|
+ 'productPrice' => '499',
|
|
|
+ 'productUnit' => '年度会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'productCode' => '005912cp0067',
|
|
|
+ 'productPrice' => '998',
|
|
|
+ 'productUnit' => '两年会员',
|
|
|
+ 'productCount' => 1
|
|
|
+ ],*/
|
|
|
+ ],
|
|
|
+ 'diversionCode' => config('product_code')
|
|
|
+ ];
|
|
|
+ if ($diversionfst) {
|
|
|
+ $data['diversionFST'] = 'SC::' . $diversionfst;
|
|
|
+ }
|
|
|
+ if ($diversioncsk) {
|
|
|
+ $data['diversionCSK'] = '::' . $diversioncsk;
|
|
|
+ }
|
|
|
+ if ($trace_id) {
|
|
|
+ $data['trace_id'] = $trace_id;
|
|
|
+ }
|
|
|
+ if ($contentid) {
|
|
|
+ $data['contentid'] = $contentid;
|
|
|
+ }
|
|
|
+
|
|
|
+ $data = json_encode($data, 320);
|
|
|
+ //获取鉴权token
|
|
|
+ $sign_bytes = '/3.0/hop/svc/pay/toPay.ajax' . $this->base16_encode(md5($data));
|
|
|
+ $hdc_token = hash_hmac('sha256', $sign_bytes, base64_decode(config('pay_appkey')), false);
|
|
|
+ $header = [
|
|
|
+ 'Host:' . config('pay_ip'),
|
|
|
+ 'HDC-Service:2',
|
|
|
+ 'HDC-APPID:' . config('pay_appid'),
|
|
|
+ 'HDC-Token:' . $hdc_token,
|
|
|
+ 'Content-Type:application/json'
|
|
|
+ ];
|
|
|
+
|
|
|
+ $return_data['url'] = $url;
|
|
|
+ $return_data['data'] = $data;
|
|
|
+ $return_data['host'] = config('pay_ip');
|
|
|
+ $return_data['appid'] = config('pay_appid');
|
|
|
+ $return_data['token'] = $hdc_token;
|
|
|
+
|
|
|
+ /*$rs = httpRequest($url, 'POST', $data, $header);
|
|
|
+ if (!$rs) {
|
|
|
+ $this->error('您的网络开小差了~');
|
|
|
+ }
|
|
|
+ $rs = json_decode($rs, true);
|
|
|
+ if ($rs['resultCode'] != 0) {
|
|
|
+ $this->error('您的网络开小差了~');
|
|
|
+ }*/
|
|
|
+
|
|
|
+ $this->success('参数', $return_data);
|
|
|
+ }
|
|
|
|
|
|
//支付回调
|
|
|
public function notify() {
|