浏览代码

新增了许多功能呢

张纪伟 5 年之前
父节点
当前提交
9b6bd940fa
共有 100 个文件被更改,包括 12764 次插入40 次删除
  1. 6 0
      application/admin/view/cardtip/edit.html
  2. 1 1
      application/admin/view/equity/edit.html
  3. 34 29
      application/api/controller/Member.php
  4. 508 0
      application/api/controller/Queue.php
  5. 125 0
      application/api/controller/Recharge.php
  6. 6 0
      application/api/model/QueueModel.php
  7. 9 0
      application/api/model/RechargeModel.php
  8. 16 0
      application/api/model/UsersModel.php
  9. 9 9
      application/common/controller/Api.php
  10. 44 0
      application/common/lib/Promote.php
  11. 1 1
      application/common/lib/WxPay.php
  12. 9 0
      application/config.php
  13. 43 0
      extend/alipay/AopSdk.php
  14. 231 0
      extend/alipay/aop/AlipayMobilePublicMultiMediaClient.php
  15. 108 0
      extend/alipay/aop/AlipayMobilePublicMultiMediaExecute.php
  16. 1225 0
      extend/alipay/aop/AopClient.php
  17. 76 0
      extend/alipay/aop/AopEncrypt.php
  18. 19 0
      extend/alipay/aop/EncryptParseItem.php
  19. 18 0
      extend/alipay/aop/EncryptResponseData.php
  20. 16 0
      extend/alipay/aop/SignData.php
  21. 118 0
      extend/alipay/aop/request/AftAifinFireeyeOcrImageQueryRequest.php
  22. 118 0
      extend/alipay/aop/request/AftFinsecureRiskplusSecurityPolicyQueryRequest.php
  23. 118 0
      extend/alipay/aop/request/AlipayAccountExrateAdviceAcceptRequest.php
  24. 118 0
      extend/alipay/aop/request/AlipayAccountExrateAllclientrateQueryRequest.php
  25. 118 0
      extend/alipay/aop/request/AlipayAccountExrateRatequeryRequest.php
  26. 118 0
      extend/alipay/aop/request/AlipayAccountExrateTraderequestCreateRequest.php
  27. 171 0
      extend/alipay/aop/request/AlipayAcquireCancelRequest.php
  28. 152 0
      extend/alipay/aop/request/AlipayAcquireCloseRequest.php
  29. 550 0
      extend/alipay/aop/request/AlipayAcquireCreateandpayRequest.php
  30. 402 0
      extend/alipay/aop/request/AlipayAcquirePrecreateRequest.php
  31. 136 0
      extend/alipay/aop/request/AlipayAcquireQueryRequest.php
  32. 236 0
      extend/alipay/aop/request/AlipayAcquireRefundRequest.php
  33. 118 0
      extend/alipay/aop/request/AlipayAppTokenGetRequest.php
  34. 103 0
      extend/alipay/aop/request/AlipayAssetPointBalanceQueryRequest.php
  35. 103 0
      extend/alipay/aop/request/AlipayAssetPointBudgetQueryRequest.php
  36. 118 0
      extend/alipay/aop/request/AlipayAssetPointOrderCreateRequest.php
  37. 118 0
      extend/alipay/aop/request/AlipayAssetPointOrderQueryRequest.php
  38. 118 0
      extend/alipay/aop/request/AlipayBossCsChannelQueryRequest.php
  39. 103 0
      extend/alipay/aop/request/AlipayBossFncXwbtestRetModifyRequest.php
  40. 118 0
      extend/alipay/aop/request/AlipayBossProdArrangementOfflineQueryRequest.php
  41. 103 0
      extend/alipay/aop/request/AlipayCommerceAdContractSignRequest.php
  42. 118 0
      extend/alipay/aop/request/AlipayCommerceAirXfgDsgModifyRequest.php
  43. 103 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorCityQueryRequest.php
  44. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositCancelRequest.php
  45. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositConfirmRequest.php
  46. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositQueryRequest.php
  47. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorFunctionQueryRequest.php
  48. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorScriptQueryRequest.php
  49. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorStationQueryRequest.php
  50. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherBatchqueryRequest.php
  51. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherCancelRequest.php
  52. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherConfirmRequest.php
  53. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherGenerateRequest.php
  54. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherQueryRequest.php
  55. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherRefundRequest.php
  56. 118 0
      extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherUploadRequest.php
  57. 118 0
      extend/alipay/aop/request/AlipayCommerceDataCustommetricSyncRequest.php
  58. 118 0
      extend/alipay/aop/request/AlipayCommerceDataLogdataSyncRequest.php
  59. 118 0
      extend/alipay/aop/request/AlipayCommerceDataMonitordataSyncRequest.php
  60. 103 0
      extend/alipay/aop/request/AlipayCommerceEducateStudentinfoShareRequest.php
  61. 118 0
      extend/alipay/aop/request/AlipayCommerceIotDeviceserviceCancelRequest.php
  62. 118 0
      extend/alipay/aop/request/AlipayCommerceLotteryPresentSendRequest.php
  63. 118 0
      extend/alipay/aop/request/AlipayCommerceLotteryPresentlistQueryRequest.php
  64. 103 0
      extend/alipay/aop/request/AlipayCommerceLotteryTypelistQueryRequest.php
  65. 118 0
      extend/alipay/aop/request/AlipayCommerceTransportNfccardSendRequest.php
  66. 103 0
      extend/alipay/aop/request/AlipayCommerceTransportOfflinepayKeyQueryRequest.php
  67. 118 0
      extend/alipay/aop/request/AlipayCommerceTransportOfflinepayRecordVerifyRequest.php
  68. 118 0
      extend/alipay/aop/request/AlipayCommerceTransportOfflinepayUserblacklistQueryRequest.php
  69. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderCancelRequest.php
  70. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderConfirmRequest.php
  71. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderModifyRequest.php
  72. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderQueryRequest.php
  73. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderRefundRequest.php
  74. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderRefuseRequest.php
  75. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderSpModifyRequest.php
  76. 118 0
      extend/alipay/aop/request/AlipayDaoweiOrderTransferRequest.php
  77. 118 0
      extend/alipay/aop/request/AlipayDaoweiServiceModifyRequest.php
  78. 118 0
      extend/alipay/aop/request/AlipayDaoweiSpModifyRequest.php
  79. 118 0
      extend/alipay/aop/request/AlipayDaoweiSpScheduleModifyRequest.php
  80. 118 0
      extend/alipay/aop/request/AlipayDataAiserviceSgxGatewayQueryRequest.php
  81. 134 0
      extend/alipay/aop/request/AlipayDataBillDownloadurlGetRequest.php
  82. 118 0
      extend/alipay/aop/request/AlipayDataDataexchangeSfasdfRequest.php
  83. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdCreativeBatchqueryRequest.php
  84. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdCreativeCreateormodifyRequest.php
  85. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdCreativeQueryRequest.php
  86. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdGroupCreateormodifyRequest.php
  87. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdOfflineRequest.php
  88. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdOnlineRequest.php
  89. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdPlanCreateormodifyRequest.php
  90. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdPrincipalCreateormodifyRequest.php
  91. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdPrincipalQueryRequest.php
  92. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdUserCreateRequest.php
  93. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdUserbalanceOfflineRequest.php
  94. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceAdUserbalanceOnlineRequest.php
  95. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceBillDownloadurlQueryRequest.php
  96. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceChinaremodelQueryRequest.php
  97. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceCodeRecoRequest.php
  98. 103 0
      extend/alipay/aop/request/AlipayDataDataserviceSdfsdfRequest.php
  99. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceShoppingmallrecShopQueryRequest.php
  100. 118 0
      extend/alipay/aop/request/AlipayDataDataserviceShoppingmallrecVoucherQueryRequest.php

+ 6 - 0
application/admin/view/cardtip/edit.html

@@ -12,6 +12,12 @@
             <input id="c-desc" data-rule="required" class="form-control" name="row[desc]" type="text" value="{$row.desc|htmlentities}">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <span style="color: red;">多个描述之间用一个空格分隔。</span>
+        </div>
+    </div>
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 1 - 1
application/admin/view/equity/edit.html

@@ -15,7 +15,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">
-            <span style="color: red;">多个描述之间用空格分隔。</span>
+            <span style="color: red;">多个描述之间用一个空格分隔。</span>
         </div>
     </div>
     <div class="form-group layer-footer">

+ 34 - 29
application/api/controller/Member.php

@@ -10,6 +10,7 @@ use app\common\controller\Api;
 use app\admin\model\Equity;
 use app\common\lib\WxPay;
 use think\Db;
+use app\common\lib\Promote;
 
 /**
  * 开通VIP接口
@@ -32,6 +33,10 @@ class Member extends Api
         if (!$userId) {
             $this->result('参数错误', [], 200);
         }
+        $user = UsersModel::get($userId);
+        if (!$user) {
+            $this->result('用户不存在', [], 100);
+        }
         //权益列表
         $list = Equity::select();
         foreach ($list as &$v) {
@@ -146,31 +151,6 @@ class Member extends Api
             }
         }
     }
-
-    /**
-     * 测试接口
-     * @ApiInternal
-     */
-    public function test()
-    {
-        $order_trade_no = $this->request->post('trade');
-
-        $order = BuyVipLogModel::where('out_trade_no', $order_trade_no)->find();
-        if ($order) {
-            // 更新支付状态
-            $updatePayStatus = BuyVipLogModel::where('out_trade_no', $order_trade_no)
-                ->setField('pay_status', 1);
-            // 修改会员等级
-            $updateVipLevel = UsersModel::where('user_id', $order->uid)->setField('user_level', 2);
-            if ($updatePayStatus && $updateVipLevel) {
-                $successArray = array(
-                    'return_code' => 'SUCCESS',
-                    'return_msg'  => 'OK'
-                );
-                return $this->arrayToXml($successArray);
-            }
-        }
-    }
     /**
      * 购买会员微信支付异步回调
      * @ApiInternal
@@ -208,12 +188,21 @@ class Member extends Api
                     //如果sign值正确
                     if ($sign === $resultSign) {
                         $order = BuyVipLogModel::where('out_trade_no', $result['out_trade_no'])->find();
+                        // 查询用户
+                        $user = UsersModel::get($order->uid);
                         if ($order) {
                             // 更新支付状态
                             $updatePayStatus = BuyVipLogModel::where('out_trade_no', $result['out_trade_no'])
                                 ->setField('pay_status', 1);
                             // 修改会员等级
-                            $updateVipLevel = UsersModel::where('user_id', $order->uid)->update(['user_level' => 2]);
+                            if ($user->user_level == 1) {
+                                $updateVipLevel = UsersModel::where('user_id', $order->uid)->update(['user_level' => 2]);
+                                $p = new Promote();
+                                $p->uid = $order->uid;
+                                $p->getMyBoss();
+                            } else {
+                                $updateVipLevel = true;
+                            }
                             // 限购份数加一
                             $addLimitNum = UsersModel::where('user_id', $order->uid)->setInc('vip_use_num', 1);
                             // 增加话费优惠额度
@@ -227,7 +216,7 @@ class Member extends Api
                             // 推荐人加一次排队次数
                             $addRecQueueNum = UsersModel::where('user_id', $myRecId)->setInc('get_queue_num', 1);
 
-                            if ($updatePayStatus && $updateVipLevel !== false && $addLimitNum && $addChargeQuota && $addMyQueueNum && $addRecQueueNum) {
+                            if ($updatePayStatus && $updateVipLevel && $addLimitNum && $addChargeQuota && $addMyQueueNum && $addRecQueueNum) {
                                 $successArray = array(
                                     'return_code' => 'SUCCESS',
                                     'return_msg'  => 'OK'
@@ -282,11 +271,20 @@ class Member extends Api
                 if ($params['app_id'] == config('alipay.app_id')) {
                     // 查询订单是否存在
                     $order = BuyVipLogModel::where('out_trade_no', $params['out_trade_no'])->find();
+                    // 查询用户
+                    $user = UsersModel::get($order->uid);
                     if (!empty($order)) {
                         // 更新支付状态
                         $updatePayStatus = BuyVipLogModel::where('out_trade_no', $params['out_trade_no'])->setField('pay_status', 1);
                         // 修改会员等级
-                        $updateVipLevel = UsersModel::where('user_id', $order->uid)->update(['user_level' => 2]);
+                        if ($user->user_level == 1) {
+                            $updateVipLevel = UsersModel::where('user_id', $order->uid)->update(['user_level' => 2]);
+                            $p = new Promote();
+                            $p->uid = $order->uid;
+                            $p->getMyBoss();
+                        } else {
+                            $updateVipLevel = true;
+                        }
                         // 限购份数加一
                         $addLimitNum = UsersModel::where('user_id', $order->uid)->setInc('vip_use_num', 1);
                         // 增加话费优惠额度
@@ -299,7 +297,7 @@ class Member extends Api
                         $addMyQueueNum = UsersModel::where('user_id', $order->uid)->setInc('get_queue_num', 1);
                         // 推荐人加一次排队次数
                         $addRecQueueNum = UsersModel::where('user_id', $myRecId)->setInc('get_queue_num', 1);
-                        if ($updatePayStatus && $updateVipLevel !== false && $addLimitNum && $addChargeQuota && $addMyQueueNum && $addRecQueueNum) {
+                        if ($updatePayStatus && $updateVipLevel && $addLimitNum && $addChargeQuota && $addMyQueueNum && $addRecQueueNum) {
                             echo 'success';
                         }
                     }
@@ -307,4 +305,11 @@ class Member extends Api
             }
         }
     }
+    public function tt()
+    {
+        $p = new Promote();
+        $p->uid = 6;
+        $result = $p->getMyBoss();
+        halt($result);
+    }
 }

+ 508 - 0
application/api/controller/Queue.php

@@ -0,0 +1,508 @@
+<?php
+namespace app\api\controller;
+
+use alipay\aop\AopClient;
+use alipay\aop\request\AlipayTradeAppPayRequest;
+use app\admin\model\BuyVipLogModel;
+use app\api\model\QueueModel;
+use app\api\model\UsersModel;
+use app\common\controller\Api;
+use app\common\lib\WxPay;
+use think\Db;
+use function GuzzleHttp\Psr7\str;
+
+/**
+ * 排队接口
+ */
+class Queue extends Api
+{
+    protected $noNeedLogin = '*';
+    /**
+     * 排队页面
+     *
+     * @ApiTitle    (排队页面)
+     * @ApiSummary  (排队页面顶部提示信息)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/queuePage)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     */
+    public function queuePage()
+    {
+        $userId = $this->request->post('user_id');
+        if (!$userId) {
+            $this->result('参数错误', [], 200);
+        }
+        $user = UsersModel::where('user_id', $userId)->find();
+        if (!$user) {
+            $this->result('用户不存在', [], 200);
+        }
+        // 获得的次数
+        $getNum = $user->get_queue_num;
+        // 基础次数
+        $baseNum = Db::name('queue_set')->where('level', $user->user_level)->value('num');
+        // 可用的基础次数
+        $canUseBaseNum = $baseNum - $user->queue_num_today;
+        // 总可用次数
+        $total = $getNum + $canUseBaseNum;
+        $this->result('ok', [
+            'tip' => '尊敬的VIP会员,你还可排队'.$total.'次,排队时间(09:00-22:00),其中推荐用户获得'.$getNum.'次,VIP会员奖励'.$canUseBaseNum.'次'
+        ], 200);
+    }
+    /**
+     * 排队
+     *
+     * @ApiTitle    (排队)
+     * @ApiSummary  (排队)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/queue)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     * @ApiParams   (name="pay_type", type="int", required=true, description="支付方式:1-余额 2-微信 3-支付宝")
+     */
+    public function queue()
+    {
+        $userId = $this->request->post('user_id');
+        $payType = $this->request->post('pay_type'); // 1-余额 2-微信 3-支付宝
+        $amount = 0.01;
+        $income = 2;
+
+        if (!$userId || !$payType) {
+            $this->result('参数错误', [], 100);
+        }
+
+        $user = UsersModel::get($userId);
+
+        if (!$user) {
+            $this->result('用户不存在', [], 100);
+        }
+
+        if ($user->user_level == 1) {
+            $this->result('您还不是VIP用户,不能进行排队哦', [], 100);
+        }
+
+        // 查询所有的可排队次数是否已经用完
+        // 情况一:获得次数有、基础次数有,可排队
+        // 情况二:获得次数有、基础次数无,不存在该种情况
+        // 情况三:获得次数无、基础次数有,可排队
+        // 情况四:都无,不可排队
+        $canQueueNum = Db::name('queue_set')->where('level', $user->user_level)->value('num');
+        if ($user->queue_num_today == $canQueueNum) {
+            $this->result('您的可用排队次数不足', [], 100);
+        }
+
+        $nowTime = time();
+        $startTime = strtotime(date('Y-m-d').' 09:00:00');
+        $endTime = strtotime(date('Y-m-d').' 22:00:00');
+
+        if ($startTime < $nowTime && $nowTime < $endTime) {
+
+            $nowHour = date("Y-m-d H:00:00", time());
+            $nextHour = date("Y-m-d H:00:00", strtotime("+1 hour"));
+
+            // 是否在本时间段内排过队
+            $hasOnLine = QueueModel::where(['uid' => $userId, 'pay_status' => 1])
+                ->whereTime('time', 'between', [$nowHour, $nextHour])
+                ->find();
+
+            if (!empty($hasOnLine)) {
+                $this->result('您当前已排过队', [], 100);
+            }
+
+            // 进入队列时的时间
+            $joinQueueTime = date('Y-m-d H:i:s', time());//halt($joinQueueTime);
+            // 当前时间段排队人数
+            $lineNum = QueueModel::whereTime('time', 'between', [$nowHour, $joinQueueTime])->where('pay_status',1)->count();
+            $trade = createOutTradeNo();
+            $lineInfo = array(
+                'uid'      => $userId,
+                'trade'    => $trade,
+                'amount'   => $amount,
+                'line_num' => $lineNum,
+                'income'   => $income,
+                'time'     => date('Y-m-d H:i:s', time()),
+                'pay_type' => $payType
+            );
+            Db::startTrans();
+            $insert = QueueModel::insert($lineInfo);
+            if ($insert) {
+                Db::commit();
+                // 余额支付
+                if ($payType == 1) {
+                    $this->result('订单创建成功', ['out_trade_no' => $trade, 'fee' => $amount], 200);
+                }
+                // 微信支付
+                if ($payType == 2) {
+                    $payObj = new WxPay();
+                    $notifyUrl = config('site.httpurl').'/api/queue/wx_notify_url';
+                    $getPrePayInfo = $payObj->getPrePayOrder('优享街排队', $trade, ($amount * 100), $notifyUrl);
+                    if ($getPrePayInfo) {
+                        $getPayInfo = $payObj->getOrder($getPrePayInfo['prepay_id']);
+                        if ($getPayInfo) {
+                            $this->result('订单创建成功', $getPayInfo, 200);
+                        } else {
+                            $this->result('支付错误,请稍后再试', [], 100);
+                        }
+                    } else {
+                        $this->result('支付错误,请稍后再试', [], 100);
+                    }
+                }
+                // 支付宝支付
+                if ($payType == 3) {
+                    $notify_url2 = config('site.httpurl').'/api/queue/alipay_notify_url';
+                    $aop = new AopClient;
+                    $aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";
+                    $aop->appId = config('alipay.app_id');
+                    $aop->rsaPrivateKey = config('alipay.private_key');
+                    $aop->format = "json";
+                    $aop->charset = "utf-8";
+                    $aop->signType = "RSA2";
+                    $aop->alipayrsaPublicKey = config('alipay.public_key');
+                    //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
+                    $request = new AlipayTradeAppPayRequest();
+
+                    // 订单标题
+                    $subject = '优享街排队';
+                    // 订单详情
+                    $body = '优享街排队';
+
+                    // SDK已经封装掉了公共参数,这里只需要传入业务参数
+                    $bizcontent = json_encode([
+                        'body' => $body,
+                        'subject' => $subject,
+                        'out_trade_no' => $trade,
+                        'timeout_express' => '90m',
+                        'total_amount' => $amount,
+                        'product_code' => 'QUICK_MSECURITY_PAY'
+                    ]);
+
+                    $request->setNotifyUrl($notify_url2);
+                    $request->setBizContent($bizcontent);
+                    // 这里和普通的接口调用不同,使用的是sdkExecute
+                    $response = $aop->sdkExecute($request);
+                    // 注意:这里不需要使用htmlspecialchars进行转义,直接返回即可
+                    // return $response;
+                    $this->result('订单发起成功', ['payInfoString' => $response], 200);
+                }
+            } else {
+                Db::rollback();
+                $this->result('服务器繁忙', [], 100);
+            }
+        } else {
+            $this->result('今日排队活动已经结束了哦', [], 100);
+        }
+    }
+    /**
+     * 排队余额支付
+     *
+     * @ApiTitle    (排队余额支付)
+     * @ApiSummary  (排队余额支付)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/balancePayQueue)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     * @ApiParams   (name="fee", type="decimal", required=true, description="排队接口返回的支付金额fee字段的值")
+     * @ApiParams   (name="out_trade_no", type="string", required=true, description="排队接口返回的支付订单编号out_trade_no字段的值")
+     * @ApiParams   (name="pay_password", type="string", required=true, description="用户支付密码")
+     */
+    public function balancePayQueue()
+    {
+        $userId = $this->request->post('user_id');
+        $fee = $this->request->post('fee');
+        $trade = $this->request->post('out_trade_no');
+        $payPwd = $this->request->post('pay_password');
+
+        if (!$userId || !$fee || !$trade || !$payPwd) {
+            $this->result('参数错误', [], 100);
+        }
+
+        $user = UsersModel::get($userId);
+
+        // 用户是否存在
+        if (!$user) {
+            $this->result('用户不存在', [], 100);
+        }
+        // 订单是否存在
+        $order = QueueModel::where('trade', $trade)->find();
+        if (!$order) {
+            $this->result('订单不存在', [], 100);
+        }
+        if ($fee <= 0) {
+            $this->result('请输入正确的支付金额', [], 100);
+        }
+        // 余额是否满足本次扣费金额
+        if ($user->user_money < $fee) {
+            $this->result('账户余额不足', [], 100);
+        }
+        // 是否设置支付密码
+        if (empty($user->user_paypwd)) {
+            $this->result('请先设置支付密码', [], 100);
+        }
+        // 支付密码是否正确
+        if ($user->user_paypwd != $payPwd) {
+            $this->result('支付密码错误', [], 100);
+        }
+
+        Db::startTrans();
+        // 扣除账户余额
+        $dec = UsersModel::where('user_id', $userId)->setDec('user_money', $fee);
+        // 增加排队收入
+        $amount = 2;
+        $inc = UsersModel::where('user_id', $userId)->setInc('user_money', $amount);
+        // 更新支付状态和支付时间
+        $updatePayStatus = QueueModel::where('trade', $trade)
+            ->update(['pay_status' => 1, 'pay_time' => date('Y-m-d H:i:s', time())]);
+
+        // 获得的次数是否够用
+        if ($user->get_queue_num < 1) {
+            // 不够用,使用基础次数
+            $decBaseNum = UsersModel::where('user_id', $userId)->setInc('queue_num_today', 1);
+            if ($dec && $inc && $updatePayStatus && $decBaseNum) {
+                Db::commit();
+                $this->result('排队成功', [], 200);
+            } else {
+                Db::rollback();
+                $this->result('支付失败,稍后再试', [], 100);
+            }
+        } else {
+            // 获得次数够用,直接减少一次次数
+            $decGetNum = UsersModel::where('user_id', $userId)->setDec('get_queue_num', 1);
+            if ($dec && $inc && $updatePayStatus && $decGetNum) {
+                Db::commit();
+                $this->result('排队成功', [], 200);
+            } else {
+                Db::rollback();
+                $this->result('支付失败,稍后再试', [], 100);
+            }
+        }
+    }
+    /**
+     * 排队微信支付异步回调处理
+     * @ApiInternal
+     */
+    public function wx_notify_url()
+    {
+        //获取返回的xml格式数据
+        $payXml = file_get_contents("php://input");
+        //将xml格式转化为json格式
+        $jsonXml = json_encode(simplexml_load_string($payXml, 'SimpleXMLElement', LIBXML_NOCDATA));
+        //将json格式转成数组格式
+        $result = json_decode($jsonXml, true);
+
+        if ($result) {
+            //如果成功返回
+            if ($result['return_code'] == 'SUCCESS') {
+                if ($result['result_code'] == 'SUCCESS') {
+                    // sign 值校验
+                    // 校验时不包含返回的 sign 字段,需踢除 sign 字段
+                    foreach($result as $k => $v) {
+                        if ($k == 'sign') {
+                            $sign = $result[$k];
+                            unset($result[$k]);
+                        };
+                    }
+                    //按字典排序
+                    ksort($result);
+                    //转为 url 键值对
+                    $signTemp = http_build_query($result);
+                    //md5处理,$key 为微信商户平台的 api 安全密钥
+                    $key = 'b3ae6bbf3cc4fa017eb169ae219e2c27';
+                    $signTemp = md5($signTemp.'&key='.$key);
+                    //转大写得最终 sign 值
+                    $resultSign = strtoupper($signTemp);
+                    //如果sign值正确
+                    if ($sign === $resultSign) {
+                        $order = QueueModel::where('trade', $result['out_trade_no'])->find();
+                        $user = UsersModel::where('user_id', $order->uid)->find();
+                        if ($order) {
+                            // 增加排队收入
+                            $amount = 2;
+                            $inc = UsersModel::where('user_id', $user->user_id)->setInc('user_money', $amount);
+                            // 更新支付状态和支付时间
+                            $updatePayStatus = QueueModel::where('trade', $result['out_trade_no'])
+                                ->update(['pay_status' => 1, 'pay_time' => date('Y-m-d H:i:s', time())]);
+                            // 获得的次数是否够用
+                            if ($user->get_queue_num < 1) {
+                                // 不够用,使用基础次数
+                                $decBaseNum = UsersModel::where('user_id', $user->user_id)->setInc('queue_num_today', 1);
+                                if ($inc && $updatePayStatus && $decBaseNum) {
+                                    $successArray = array(
+                                        'return_code' => 'SUCCESS',
+                                        'return_msg'  => 'OK'
+                                    );
+                                    return $this->arrayToXml($successArray);
+                                }
+                            } else {
+                                // 获得次数够用,直接减少一次次数
+                                $decGetNum = UsersModel::where('user_id', $user->user_id)->setDec('get_queue_num', 1);
+                                if ($inc && $updatePayStatus && $decGetNum) {
+                                    $successArray = array(
+                                        'return_code' => 'SUCCESS',
+                                        'return_msg'  => 'OK'
+                                    );
+                                    return $this->arrayToXml($successArray);
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    return false;
+                }
+            } else {
+                return false;
+            }
+        }
+    }
+    /**
+     * 数组转xml
+     * @ApiInternal
+     */
+    public function arrayToXml($arr)
+    {
+        $xml = "<xml>";
+        foreach ($arr as $key=>$val)
+        {
+            if (is_numeric($val))
+            {
+                $xml.="<".$key.">".$val."</".$key.">";
+            }
+            else
+                $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
+        }
+        $xml.="</xml>";
+        return $xml;
+    }
+    /**
+     * 排队支付支付宝回调
+     * @ApiInternal
+     */
+    public function alipay_notify_url()
+    {
+        $params = $this->request->post();
+        if (!empty($params) && $params['trade_status'] == 'TRADE_SUCCESS') {
+            // 验证签名
+            $aop = new AopClient();
+            $aop->alipayrsaPublicKey = config('alipay.public_key');
+            // 此处反转义参数中的字符,否则验签不通过
+            $params['fund_bill_list'] = htmlspecialchars_decode($params['fund_bill_list']);
+            $checkSign = $aop->rsaCheckV1($params, null, 'RSA2');
+            if ($checkSign) {
+                // 是不是向此商户号付款
+                if ($params['app_id'] == config('alipay.app_id')) {
+                    // 查询订单是否存在
+                    $order = QueueModel::where('trade', $params['out_trade_no'])->find();
+                    $user = UsersModel::where('user_id', $order->uid)->find();
+                    if ($order) {
+                        // 增加排队收入
+                        $amount = 2;
+                        $inc = UsersModel::where('user_id', $user->user_id)->setInc('user_money', $amount);
+                        // 更新支付状态和支付时间
+                        $updatePayStatus = QueueModel::where('trade', $params['out_trade_no'])
+                            ->update(['pay_status' => 1, 'pay_time' => date('Y-m-d H:i:s', time())]);
+                        // 获得的次数是否够用
+                        if ($user->get_queue_num < 1) {
+                            // 不够用,使用基础次数
+                            $decBaseNum = UsersModel::where('user_id', $user->user_id)->setInc('queue_num_today', 1);
+                            if ($inc && $updatePayStatus && $decBaseNum) {
+                                echo 'success';
+                            }
+                        } else {
+                            // 获得次数够用,直接减少一次次数
+                            $decGetNum = UsersModel::where('user_id', $user->user_id)->setDec('get_queue_num', 1);
+                            if ($inc && $updatePayStatus && $decGetNum) {
+                                echo 'success';
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    /**
+     * 已成功排队的记录
+     *
+     * @ApiTitle    (获取已成功排队列表)
+     * @ApiSummary  (此接口返回的是成功支付的排队订单,均是已完成订单,已排好顺序)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/getQueueList)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     */
+    public function getQueueList()
+    {
+        $userId = $this->request->post('user_id');
+        if (!$userId) {
+            $this->result('参数错误', [], 100);
+        }
+        if (!UsersModel::checkUserExist($userId)) {
+            $this->result('用户不存在', [], 100);
+        }
+        $myList = QueueModel::where(['uid' => $userId, 'pay_status' => 1])
+            ->field('id,trade,time,pay_time')
+            ->order('id desc')
+            ->select();
+        $this->result('ok', $myList, 200);
+    }
+    /**
+     * 查看当前排队记录详情
+     *
+     * @ApiTitle    (查看当前排队记录详情)
+     * @ApiSummary  (查看当前排队记录详情)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/lookQueueDetail)
+     * @ApiParams   (name="id", type="int", required=true, description="【获取已成功排队列表】接口中返回的id字段的值")
+     */
+    public function lookQueueDetail()
+    {
+        $id = $this->request->post('id');
+        if (!$id) {
+            $this->result('参数错误', [], 100);
+        }
+        $queueOrder = QueueModel::field('trade,line_num')->find($id);
+        //$nowTime = date('Y-m-d H:i:s', time());
+        //$nextTime = date("Y-m-d H:00:00", strtotime("+1 hour"));
+        //$mistake = strtotime($nextTime) - strtotime($nowTime);
+        //$hour=floor((strtotime($nextTime)-strtotime($nowTime))%86400/3600);
+        //$minute=floor((strtotime($nextTime)-strtotime($nowTime))%86400/60);
+        //$second=floor((strtotime($nextTime)-strtotime($nowTime))%86400%60);
+        //halt($second);
+        if (!empty($queueOrder)) {
+            $this->result('ok', $queueOrder, 200);
+        } else {
+            $this->result('记录不存在', [], 100);
+        }
+    }
+    /**
+     * 排队记录
+     *
+     * @ApiTitle    (获取排队记录)
+     * @ApiSummary  (获取排队记录)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/queue/getQueueRecord)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     * @ApiParams   (name="type", type="int", required=true, description="获取类型 1-获取消费记录 2-获取收益记录")
+     */
+    public function getQueueRecord()
+    {
+        $userId = $this->request->post('user_id');
+        $type = $this->request->post('type'); // 1-消费记录 2-收益记录
+
+        if (!$userId || !$type) {
+            $this->result('参数错误', [], 100);
+        }
+        if (!UsersModel::checkUserExist($userId)) {
+            $this->result('用户不存在', [], 100);
+        }
+
+        if ($type == 1) {
+            $record = QueueModel::where(['uid' => $userId, 'pay_status' => 1])
+                ->field('amount,pay_type,time')
+                ->order('id desc')
+                ->select();
+            $this->result('ok', $record, 200);
+        }
+        if ($type == 2) {
+            $record = QueueModel::where(['uid' => $userId, 'pay_status' => 1])
+                ->field('income,time')
+                ->order('id desc')
+                ->select();
+            $this->result('ok', $record, 200);
+        }
+    }
+}

+ 125 - 0
application/api/controller/Recharge.php

@@ -0,0 +1,125 @@
+<?php
+namespace app\api\controller;
+
+use app\api\model\RechargeModel;
+use app\api\model\UsersModel;
+use app\common\controller\Api;
+use app\common\lib\WxPay;
+
+/**
+ * 充值接口
+ */
+class Recharge extends Api
+{
+    protected $noNeedLogin = '*';
+
+    /**
+     * 充值页面
+     *
+     * @ApiTitle    (充值页面)
+     * @ApiSummary  (充值页面)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/recharge/rechargePage)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     */
+    public function rechargePage()
+    {
+        $userId = $this->request->post('user_id');
+        if (!$userId) {
+            $this->result('参数错误', [], 100);
+        }
+        if (!UsersModel::checkUserExist($userId)) {
+            $this->result('用户不存在', [], 100);
+        }
+        $user = UsersModel::get($userId);
+        $this->result('ok', ['quota' => $user->vip_discount_quota], 200);
+    }
+    /**
+     * 话费充值
+     *
+     * @ApiTitle    (话费充值)
+     * @ApiSummary  (话费充值)
+     * @ApiMethod   (POST)
+     * @ApiRoute    (/api/recharge/recharge)
+     * @ApiParams   (name="user_id", type="int", required=true, description="用户id")
+     * @ApiParams   (name="price", type="int", required=true, description="充值面额")
+     * @ApiParams   (name="tel", type="string", required=true, description="充值手机号")
+     * @ApiParams   (name="pay_type", type="int", required=true, description="支付方式 1-微信 2-支付宝")
+     */
+    public function recharge()
+    {
+        $userId = $this->request->post('user_id');
+        $price = $this->request->post('price');
+        $tel = $this->request->post('tel');
+        $payType = $this->request->post('pay_type');
+
+        if (!$userId || !$price || !$tel || !$payType) {
+            $this->result('参数错误', [], 100);
+        }
+        $user = UsersModel::get($userId);
+        if (!$user) {
+            $this->result('用户不存在', [], 100);
+        }
+        if ($user->user_level == 1) {
+            $this->result('您还不是VIP用户,不能进行充值', [], 100);
+        }
+
+        // 检测手机号是否可以充值
+        $url = 'http://op.juhe.cn/ofpay/mobile/telcheck?phoneno='.$tel.'&cardnum='.$price.'&key=f5ff49671fede25118a6b01131ff88a4';
+        $res = $this->sendRequest($url);
+        if ($res['error_code'] != 0) {
+            $this->result('充值错误,请检查手机号码是否正确', [], 100);
+        }
+
+        $final_fee = $price * 0.88;
+        // 生成充值订单
+        $out_trade_no = createOutTradeNo();
+        $orderInfo = array(
+            'uid' => $userId,
+            'tel' => $tel,
+            'price' => $price,
+            'create_time' => date('Y-m-d H:i:s', time()),
+            'pay_type' => $payType,
+            'out_trade_no' => $out_trade_no,
+            'final_fee' => $final_fee
+        );
+        $add = RechargeModel::create($orderInfo);
+        if ($add) {
+            if ($payType == 1) {
+                $notify_url = config('site.httpurl').'/api/recharge/recharge_wx_notify';
+                $payObj = new WxPay();
+                $getPrePayInfo = $payObj->getPrePayOrder('话费充值', $out_trade_no, ($final_fee * 100), $notify_url);
+                $getPayInfo = $payObj->getOrder($getPrePayInfo['prepay_id']);
+                $this->result('订单创建成功', $getPayInfo, 200);
+            }
+            if ($payType == 2) {
+                $this->result('订单创建成功', [], 200);
+            }
+        } else {
+            $this->result('订单创建失败', [], 200);
+        }
+    }
+    /**
+     * 1
+     * @ApiInternal
+     */
+    public function sendRequest($url)
+    {
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        $output = curl_exec($ch);
+        curl_close($ch);
+        return json_decode($output, true);
+    }
+    /**
+     * 话费充值微信支付异步回调
+     * @ApiInternal
+     */
+    public function recharge_wx_notify()
+    {
+
+    }
+}

+ 6 - 0
application/api/model/QueueModel.php

@@ -6,4 +6,10 @@ use think\Model;
 class QueueModel extends Model
 {
     protected $name = 'queue_log';
+
+    public function getPayTypeAttr($value)
+    {
+        $status = ['1' => '余额支付', '2' => '微信支付', '3' => '支付宝支付'];
+        return $status[$value];
+    }
 }

+ 9 - 0
application/api/model/RechargeModel.php

@@ -0,0 +1,9 @@
+<?php
+namespace app\api\model;
+
+use think\Model;
+
+class RechargeModel extends Model
+{
+    protected $name = 'recharge_log';
+}

+ 16 - 0
application/api/model/UsersModel.php

@@ -5,9 +5,25 @@ use think\Model;
 class UsersModel extends Model
 {
     protected $name = "Users";
+
     protected $rules = [
         'user_id' => 'require|number',
         'user_nickname' => 'require',
         'idcard' => 'require',
     ];
+
+    /**
+     * 检查用户是否存在
+     * @param $userId
+     * @return bool
+     * @throws \think\exception\DbException
+     */
+    public static function checkUserExist($userId)
+    {
+        $user = self::get($userId);
+        if (!empty($user)) {
+            return true;
+        }
+        return false;
+    }
 }

+ 9 - 9
application/common/controller/Api.php

@@ -92,15 +92,15 @@ class Api
     protected function _initialize()
     {
         $token = $this->request->post('token');
-        if (isset($token)) {
-            $isset = \app\common\library\Token::get($token);
-            if(!$isset) {
-                return $this->result('token已过期,请重新登录',[],50);
-            }
-        }
-        if (!isset($token)) {
-            return $this->result('未回去token值',[],50);
-        }
+//        if (isset($token)) {
+//            $isset = \app\common\library\Token::get($token);
+//            if(!$isset) {
+//                return $this->result('token已过期,请重新登录',[],50);
+//            }
+//        }
+//        if (!isset($token)) {
+//            return $this->result('未回去token值',[],50);
+//        }
         if (Config::get('url_domain_deploy')) {
             $domain = Route::rules('domain');
             if (isset($domain['api'])) {

+ 44 - 0
application/common/lib/Promote.php

@@ -0,0 +1,44 @@
+<?php
+namespace app\common\lib;
+
+use app\api\model\UsersModel;
+/**
+ * VIP等级晋升控制类
+ * Class Promote
+ * @package app\common\lib
+ */
+class Promote
+{
+    public $uid = null;
+
+    // 查询我的上级
+    public function getMyBoss()
+    {
+        if (!empty($this->uid)) {
+            // 我的推荐人手机号
+            $myRecTel = UsersModel::where('user_id', $this->uid)->value('user_tjtel');
+            // 我的推荐人user_id
+            $myRecUserId = UsersModel::where('user_tel', $myRecTel)->value('user_id');
+            // 我的上级加一个开通VIP的人数
+            $addMybossVipNum = UsersModel::where('user_id', $myRecUserId)->setInc('user_vip_count',1);
+            // 查询我的上级一共邀请了多少人
+            $myBossInvUserNum = UsersModel::where('user_id', $myRecUserId)->value('user_member_count');
+            // 我的上级邀请人数中开通VIP的人数
+            $myBossInvVipUserNum = UsersModel::where('user_id', $myRecUserId)->value('user_vip_count');
+
+            if ($myBossInvVipUserNum == 5 && $myBossInvUserNum == 50) {
+                $upd = UsersModel::where('user_id', $myRecUserId)->update(['user_level' => 3]);
+            }
+            if ($myBossInvVipUserNum == 20 && $myBossInvUserNum == 300) {
+                $upd = UsersModel::where('user_id', $myRecUserId)->update(['user_level' => 4]);
+            }
+            if ($myBossInvVipUserNum == 35 && $myBossInvUserNum == 700) {
+                $upd = UsersModel::where('user_id', $myRecUserId)->update(['user_level' => 5]);
+            }
+            if ($myBossInvVipUserNum == 50 && $myBossInvUserNum == 1300) {
+                $upd = UsersModel::where('user_id', $myRecUserId)->update(['user_level' => 6]);
+            }
+            return true;
+        }
+    }
+}

+ 1 - 1
application/common/lib/WxPay.php

@@ -4,7 +4,7 @@ namespace app\common\lib;
 class WxPay
 {
     private $config = array(
-        'appid' => "",  // 微信开放平台上的应用id
+        'appid' => "wx032e75bf42061b96",  // 微信开放平台上的应用id
         'mch_id' => "1550903451", // 微信申请成功之后的商户号
         'api_key' => "b3ae6bbf3cc4fa017eb169ae219e2c27" // 在微信商户平台上自己设定的32位api密钥
     );

+ 9 - 0
application/config.php

@@ -278,4 +278,13 @@ return [
         //API接口地址
         'api_url'             => 'https://api.fastadmin.net',
     ],
+    // 支付宝支付配置
+    'alipay' => [
+        // APPID
+        'app_id' => 2019052365388158,
+        // 应用私钥
+        'private_key' => 'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCEWASYKJUQ15EsIBXnIfohB5M63u2t7xo5SISnu2dvtB7YKv1qEb4TfV3VsF+hq9yuBBLDVq/QWfNrSyB0OodoP/DUUXlERJAbgGWmROgcsT8cpWWV4NMOxjBG34aq4kwXFMbfG78P1XGd/3HI/5gKytFoAlIwmgP8k1JEG95MG3t82ReuXV6vZQ3ENxKHcHrGUOjZ+svE7CbKK6YEuPVcCjwskLDn6wHOeVKU7buotCwMp8RjexECdxfGPoQ0AIunFEcodvizlsHqpyqx5qPVo38etL0Ee6hbP38olksG6QJLEQLQTXqRxAxyI3Qr44RMXDSvhn56rUzYnLvi5s/hAgMBAAECggEAeHIWtFhy2iImeE83P+T3XSokv7Z2AA+VAT9To8f2Kn52d+wgOHGvWNOHG9zqHBxqumDwpqD1X50N4b886Sr/Y0yWJNWFlTEFKlJfsMQTr1FNDAgnfRFhZJfRBh+W010jPPpmyFTbPVDXl6EM8I5V1LSjgpJiNONm728wttXaKc6j9YUjAacjEELrXzbpsw7L7yjSEF/gVCRGOCGNUCAOPxE5tm6XGZfRdEC8tsK++vdpJ46p91nUIn5mRsrbUvW+ZMBKI8c5wBKyaTHP1uYzWe8nI0ZsC2G5ohBDWh/xiM2Mw7ZbXZiaRDo+bkqcHs8UOqWTG6bgsaCz4SqWdE3U9QKBgQDOwCFUy2FVx5XmYfX+7tnYhJ8dkUTcvlKW/RDtg4Xrh3ZB0KsM9e30EWNtHFsD4GrfHzh4xK4tq/qkrQ/nSBM8ab6fctZfTfjd1PdUN7MyaU0U2swBinwT9Z8oiVa043clGRwWDxcmvJWy0MJgzaDozUUGlL7nbojh/hZ3J8QMlwKBgQCj3nzCpa9G2vwN/uVj0JbPUJsuuvGzsTcc+DpKjVKm8e8H2+XbZd2smJkP2UInGSSOPoRQzzG4J24Sepx+WIHcTOPv+pp+XlkvlAgEn166OGN5vH8YQS0/ROZZQ6nBoYlehby8s3XpIOdZF3Hu4BO3auAzKOEOwVEqDF/xJvN+RwKBgCoGIYBDyqgN5mkqlj7YO81nv5PZ+D5KLS1liPBOIIVsRlxAVtROlKxccHI4JkPWdMKfbPIXQDQmVc7tImNnYgmQkN+GDw7WIXStmgwzOihQAQvxITBa/rdr4Irzx30DEy+mN/A/5vvHr0HmbuwQP9myB4q750XRUN9mrxhPK+lHAoGAJOS7jAtHehlldDU2KhHVUlmghpXaQw2cDe6pGQ3WVPXVThypFItLrEcy9smARlM30rqqiZMMa5ydAJYQU7XTjujUzLvMOrU9OSQH5hqHdj+pzcetiaVq7Xqyrdg5CPo4dkp/4rA41MLuszU/FnvmlH4AeiQy/2JwxpnApAeT/JMCgYEAwNWmMrWT1SE7KQWm6wy+spCWnWY0nidNW1SntZhKGwCyLjJJ8144qA+VB8kk1o3mrAK4HGGr8hZ3tmQp9XAShFJesQfjXV9x94nVSBwJ6VtZbxEt6NsCj42VweHmG4k7sKh3ahkob4AjwKV21vUuz+rvkv63GF9LbpMKTrqN8H8=',
+        // 支付宝公钥
+        'public_key' => 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiMpCRCU4uJGEfEO38Jf8XuTJs+N4qxHGS/yO+MKaDYtLO0BsiMgLNwMFCPNNC9KJRsMh/91Y1ilwgvR5FO0g7+hExTABRmnM9V3stwUywN5JoVRcAqixghTDwLyAfekBILIvn2HkBbegLCfZq/wLEsZcl5K28jHhP1euc7LKOThRd1//wb9fQ8TUI+XBpVqBz/timMDz4hj/RkghYjb0WkRjWGMrT0iBn1gPZ0lPt+DXrILdWHPSHBQTLTBQd05a+ORXFF6HGxJLQ/AS/0qXnu9F/BwKg6alrAdiaxbxBYyD2zGz50x/R0eCrYrKK/+DHRZPqe8G1HdZRYTu8c2AYQIDAQAB'
+    ]
 ];

+ 43 - 0
extend/alipay/AopSdk.php

@@ -0,0 +1,43 @@
+<?php
+/**
+ * AOP SDK 入口文件
+ * 请不要修改这个文件,除非你知道怎样修改以及怎样恢复
+ * @author wuxiao
+ */
+
+/**
+ * 定义常量开始
+ * 在include("AopSdk.php")之前定义这些常量,不要直接修改本文件,以利于升级覆盖
+ */
+/**
+ * SDK工作目录
+ * 存放日志,AOP缓存数据
+ */
+if (!defined("AOP_SDK_WORK_DIR"))
+{
+	define("AOP_SDK_WORK_DIR", "/tmp/");
+}
+/**
+ * 是否处于开发模式
+ * 在你自己电脑上开发程序的时候千万不要设为false,以免缓存造成你的代码修改了不生效
+ * 部署到生产环境正式运营后,如果性能压力大,可以把此常量设定为false,能提高运行速度(对应的代价就是你下次升级程序时要清一下缓存)
+ */
+if (!defined("AOP_SDK_DEV_MODE"))
+{
+	define("AOP_SDK_DEV_MODE", true);
+}
+/**
+ * 定义常量结束
+ */
+
+/**
+ * 找到lotusphp入口文件,并初始化lotusphp
+ * lotusphp是一个第三方php框架,其主页在:lotusphp.googlecode.com
+ */
+$lotusHome = dirname(__FILE__) . DIRECTORY_SEPARATOR . "lotusphp_runtime" . DIRECTORY_SEPARATOR;
+include($lotusHome . "Lotus.php");
+$lotus = new Lotus;
+$lotus->option["autoload_dir"] = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'aop';
+$lotus->devMode = AOP_SDK_DEV_MODE;
+$lotus->defaultStoreDir = AOP_SDK_WORK_DIR;
+$lotus->init();

+ 231 - 0
extend/alipay/aop/AlipayMobilePublicMultiMediaClient.php

@@ -0,0 +1,231 @@
+<?php
+
+/**
+ * 多媒体文件客户端
+ * @author yikai.hu
+ * @version $Id: AlipayMobilePublicMultiMediaClient.php, v 0.1 Aug 15, 2014 10:19:01 AM yikai.hu Exp $
+ */
+
+//namespace alipay\api ;
+
+include("AlipayMobilePublicMultiMediaExecute.php");
+
+
+class AlipayMobilePublicMultiMediaClient{
+
+    private				$DEFAULT_CHARSET = 'UTF-8';
+    private				$METHOD_POST     = "POST";
+    private				$METHOD_GET      = "GET";
+	private				$SIGN			= 'sign'; //get name
+
+	private				$timeout = 10 ;// 超时时间
+    private				$serverUrl;
+    private				$appId;
+    private				$privateKey;
+    private				$prodCode;
+    private				$format          = 'json'; //todo
+    private				$sign_type       = 'RSA'; //todo
+
+	private				$charset;
+	private				$apiVersion    = "1.0";
+	private				$apiMethodName = "alipay.mobile.public.multimedia.download";
+	private				$media_id = "L21pZnMvVDFQV3hYWGJKWFhYYUNucHJYP3Q9YW13ZiZ4c2lnPTU0MzRhYjg1ZTZjNWJmZTMxZGJiNjIzNDdjMzFkNzkw575";
+	//此处写死的,实际开发中,请传入
+
+    private				$connectTimeout  = 3000;
+    private				$readTimeout     = 15000;
+
+
+
+	function __construct($serverUrl = '', $appId = '', $partner_private_key = '', $format = '', $charset = 'GBK'){
+		$this -> serverUrl = $serverUrl;
+		$this -> appId = $appId;
+		$this -> privateKey = $partner_private_key;
+		$this -> format = $format;
+		$this -> charset = $charset;
+	}
+
+	/**
+	 * getContents 获取网址内容
+	 * @param $request
+	 * @return text | bin
+	 */
+	public function getContents(){
+		//自己的服务器如果没有 curl,可用:fsockopen() 等
+
+
+		//1:
+		//2: 私钥格式
+		$datas = array(
+			"app_id" 		=> $this -> appId,
+			"method" 		=> $this -> METHOD_POST,
+			"sign_type" 	=> $this -> sign_type,
+			"version" 		=> $this -> apiVersion,
+			"timestamp" 	=> date('Y-m-d H:i:s')  ,//yyyy-MM-dd HH:mm:ss
+			"biz_content" 	=> '{"mediaId":"'. $this -> media_id  .'"}',
+			"charset" 		=> $this -> charset
+		);
+
+
+
+		//要提交的数据
+		$data_sign = $this -> buildGetUrl( $datas );
+
+		$post_data = $data_sign;
+		//初始化 curl
+		$ch = curl_init();
+		//设置目标服务器
+		curl_setopt($ch, CURLOPT_URL, $this -> serverUrl );
+		curl_setopt($ch, CURLOPT_HEADER, TRUE);
+		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+		//超时时间
+		curl_setopt($ch, CURLOPT_TIMEOUT, $this-> timeout);
+
+		if( $this-> METHOD_POST == 'POST'){
+			// post数据
+			curl_setopt($ch, CURLOPT_POST, 1);
+			// post的变量
+			curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
+		}
+
+
+
+
+		$output = curl_exec($ch);
+		$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+		curl_close($ch);
+
+		echo $output;
+
+		//分离头部
+		//list($header, $body) = explode("\r\n\r\n", $output, 2);
+		$datas = explode("\r\n\r\n", $output, 2);
+		$header = $datas[0];
+
+		if( $httpCode == '200'){
+			$body = $datas[1];
+		}else{
+			$body = '';
+
+		}
+
+
+
+
+		return $this -> execute( $header, $body, $httpCode );
+	}
+
+	/**
+	 *
+	 * @param $request
+	 * @return text | bin
+	 */
+	public function execute( $header = '', $body = '', $httpCode = '' ){
+		$exe = new AlipayMobilePublicMultiMediaExecute( $header, $body, $httpCode );
+		return $exe;
+	}
+
+	public function buildGetUrl( $query = array() ){
+
+		if( ! is_array( $query ) ){
+			//exit;
+		}
+
+		//排序参数,
+		$data = $this -> buildQuery( $query );
+
+
+
+		// 私钥密码
+		$passphrase = '';
+		$key_width = 64;
+
+		//私钥
+		$privateKey = $this -> privateKey;
+		$p_key = array();
+		//如果私钥是 1行
+		if( ! stripos( $privateKey, "\n" )  ){
+			$i = 0;
+			while( $key_str = substr( $privateKey , $i * $key_width , $key_width) ){
+				$p_key[] = $key_str;
+				$i ++ ;
+			}
+		}else{
+			//echo '一行?';
+		}
+		$privateKey = "-----BEGIN RSA PRIVATE KEY-----\n" . implode("\n", $p_key) ;
+		$privateKey = $privateKey ."\n-----END RSA PRIVATE KEY-----";
+
+//		echo "\n\n私钥:\n";
+//		echo( $privateKey );
+//		echo "\n\n\n";
+
+		//私钥
+		$private_id = openssl_pkey_get_private( $privateKey , $passphrase);
+
+
+		// 签名
+		$signature = '';
+
+		if("RSA2"==$this->sign_type){
+
+			openssl_sign($data, $signature, $private_id, OPENSSL_ALGO_SHA256 );
+		}else{
+
+			openssl_sign($data, $signature, $private_id, OPENSSL_ALGO_SHA1 );
+		}
+
+		openssl_free_key( $private_id );
+
+		//加密后的内容通常含有特殊字符,需要编码转换下
+		$signature = base64_encode($signature);
+
+		$signature = urlencode( $signature );
+
+		//$signature = 'XjUN6YM1Mc9HXebKMv7GTLy7gmyhktyOgKk2/Jf+cz4DtP6udkzTdpkjW2j/Z4ZSD7xD6CNYI1Spz4yS93HPT0a5X9LgFWYY8SaADqe+ArXg+FBSiTwUz49SE//Xd9+LEiIRsSFkbpkuiGoO6mqJmB7vXjlD5lx6qCM3nb41wb8=';
+
+		$out = $data .'&'. $this -> SIGN .'='. $signature;
+
+//		echo "\n\n 加密后:\n";
+//		echo( $out );
+//		echo "\n\n\n";
+
+		return $out ;
+	}
+
+	/*
+	 * 查询参数排序 a-z
+	 * */
+	public function buildQuery( $query ){
+		if ( !$query ) {
+			return null;
+		}
+
+//将要 参数 排序
+		ksort( $query );
+
+		//重新组装参数
+		$params = array();
+		foreach($query as $key => $value){
+			$params[] = $key .'='. $value ;
+		}
+		$data = implode('&', $params);
+
+		return $data;
+
+	}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}

+ 108 - 0
extend/alipay/aop/AlipayMobilePublicMultiMediaExecute.php

@@ -0,0 +1,108 @@
+<?php
+
+/**
+ * 多媒体文件客户端
+ * @author yuanwai.wang
+ * @version $Id: AlipayMobilePublicMultiMediaExecute.php, v 0.1 Aug 15, 2014 10:19:01 AM yuanwai.wang Exp $
+ */
+
+//namespace alipay\api ;
+
+
+
+class AlipayMobilePublicMultiMediaExecute{
+
+	private $code = 200 ;
+	private $msg = '';
+	private $body = '';
+	private $params = '';
+
+	private $fileSuffix = array(
+		"image/jpeg" 		=> 'jpg', //+
+		"text/plain"		=> 'text'
+	);
+
+	/*
+	 * @$header : 头部
+	 * */
+	function __construct( $header, $body, $httpCode ){
+		$this -> code = $httpCode;
+		$this -> msg = '';
+		$this -> params = $header ;
+		$this -> body = $body;
+	}
+
+	/**
+	 *
+	 * @return text | bin
+	 */
+	public function getCode(){
+		return $this -> code ;
+	}
+
+	/**
+	 *
+	 * @return text | bin
+	 */
+	public function getMsg(){
+		return $this -> msg ;
+	}
+
+	/**
+	 *
+	 * @return text | bin
+	 */
+	public function getType(){
+		$subject = $this -> params ;
+		$pattern = '/Content\-Type:([^;]+)/';
+		preg_match($pattern, $subject, $matches);
+		if( $matches ){
+			$type = $matches[1];
+		}else{
+			$type = 'application/download';
+		}
+
+		return str_replace( ' ', '', $type );
+	}
+
+	/**
+	 *
+	 * @return text | bin
+	 */
+	public function getContentLength(){
+		$subject = $this -> params ;
+		$pattern = '/Content-Length:\s*([^\n]+)/';
+		preg_match($pattern, $subject, $matches);
+		return (int)( isset($matches[1] ) ? $matches[1]  : '' );
+	}
+
+
+	public function getFileSuffix( $fileType ){
+		$type = isset( $this -> fileSuffix[ $fileType ] ) ? $this -> fileSuffix[ $fileType ] : 'text/plain' ;
+		if( !$type ){
+			$type = 'json';
+		}
+		return $type;
+	}
+
+
+
+	/**
+	 *
+	 * @return text | bin
+	 */
+	public function getBody(){
+		//header('Content-type: image/jpeg');
+		return $this -> body ;
+	}
+
+	/**
+	 * 获取参数
+	 * @return text | bin
+	 */
+	public function getParams(){
+		return $this -> params ;
+	}
+
+
+}

+ 1225 - 0
extend/alipay/aop/AopClient.php

@@ -0,0 +1,1225 @@
+<?php
+namespace alipay\aop;
+require_once 'AopEncrypt.php';
+
+class AopClient {
+	//应用ID
+	public $appId;
+	
+	//私钥文件路径
+	public $rsaPrivateKeyFilePath;
+
+	//私钥值
+	public $rsaPrivateKey;
+
+	//网关
+	public $gatewayUrl = "https://openapi.alipay.com/gateway.do";
+	//返回数据格式
+	public $format = "json";
+	//api版本
+	public $apiVersion = "1.0";
+
+	// 表单提交字符集编码
+	public $postCharset = "UTF-8";
+
+	//使用文件读取文件格式,请只传递该值
+	public $alipayPublicKey = null;
+
+	//使用读取字符串格式,请只传递该值
+	public $alipayrsaPublicKey;
+
+
+	public $debugInfo = false;
+
+	private $fileCharset = "UTF-8";
+
+	private $RESPONSE_SUFFIX = "_response";
+
+	private $ERROR_RESPONSE = "error_response";
+
+	private $SIGN_NODE_NAME = "sign";
+
+
+	//加密XML节点名称
+	private $ENCRYPT_XML_NODE_NAME = "response_encrypted";
+
+	private $needEncrypt = false;
+
+
+	//签名类型
+	public $signType = "RSA";
+
+
+	//加密密钥和类型
+
+	public $encryptKey;
+
+	public $encryptType = "AES";
+
+	protected $alipaySdkVersion = "alipay-sdk-php-20180705";
+
+	public function generateSign($params, $signType = "RSA") {
+		return $this->sign($this->getSignContent($params), $signType);
+	}
+
+	public function rsaSign($params, $signType = "RSA") {
+		return $this->sign($this->getSignContent($params), $signType);
+	}
+
+	public function getSignContent($params) {
+		ksort($params);
+
+		$stringToBeSigned = "";
+		$i = 0;
+		foreach ($params as $k => $v) {
+			if (false === $this->checkEmpty($v) && "@" != substr($v, 0, 1)) {
+
+				// 转换成目标字符集
+				$v = $this->characet($v, $this->postCharset);
+
+				if ($i == 0) {
+					$stringToBeSigned .= "$k" . "=" . "$v";
+				} else {
+					$stringToBeSigned .= "&" . "$k" . "=" . "$v";
+				}
+				$i++;
+			}
+		}
+
+		unset ($k, $v);
+		return $stringToBeSigned;
+	}
+
+
+	//此方法对value做urlencode
+	public function getSignContentUrlencode($params) {
+		ksort($params);
+
+		$stringToBeSigned = "";
+		$i = 0;
+		foreach ($params as $k => $v) {
+			if (false === $this->checkEmpty($v) && "@" != substr($v, 0, 1)) {
+
+				// 转换成目标字符集
+				$v = $this->characet($v, $this->postCharset);
+
+				if ($i == 0) {
+					$stringToBeSigned .= "$k" . "=" . urlencode($v);
+				} else {
+					$stringToBeSigned .= "&" . "$k" . "=" . urlencode($v);
+				}
+				$i++;
+			}
+		}
+
+		unset ($k, $v);
+		return $stringToBeSigned;
+	}
+
+	protected function sign($data, $signType = "RSA") {
+		if($this->checkEmpty($this->rsaPrivateKeyFilePath)){
+			$priKey=$this->rsaPrivateKey;
+			$res = "-----BEGIN RSA PRIVATE KEY-----\n" .
+				wordwrap($priKey, 64, "\n", true) .
+				"\n-----END RSA PRIVATE KEY-----";
+		}else {
+			$priKey = file_get_contents($this->rsaPrivateKeyFilePath);
+			$res = openssl_get_privatekey($priKey);
+		}
+
+		($res) or die('您使用的私钥格式错误,请检查RSA私钥配置'); 
+
+		if ("RSA2" == $signType) {
+			openssl_sign($data, $sign, $res, OPENSSL_ALGO_SHA256);
+		} else {
+			openssl_sign($data, $sign, $res);
+		}
+
+		if(!$this->checkEmpty($this->rsaPrivateKeyFilePath)){
+			openssl_free_key($res);
+		}
+		$sign = base64_encode($sign);
+		return $sign;
+	}
+
+    /**
+     * RSA单独签名方法,未做字符串处理,字符串处理见getSignContent()
+     * @param $data 待签名字符串
+     * @param $privatekey 商户私钥,根据keyfromfile来判断是读取字符串还是读取文件,false:填写私钥字符串去回车和空格 true:填写私钥文件路径 
+     * @param $signType 签名方式,RSA:SHA1     RSA2:SHA256 
+     * @param $keyfromfile 私钥获取方式,读取字符串还是读文件
+     * @return string 
+     * @author mengyu.wh
+     */
+	public function alonersaSign($data,$privatekey,$signType = "RSA",$keyfromfile=false) {
+
+		if(!$keyfromfile){
+			$priKey=$privatekey;
+			$res = "-----BEGIN RSA PRIVATE KEY-----\n" .
+				wordwrap($priKey, 64, "\n", true) .
+				"\n-----END RSA PRIVATE KEY-----";
+		}
+		else{
+			$priKey = file_get_contents($privatekey);
+			$res = openssl_get_privatekey($priKey);
+		}
+
+		($res) or die('您使用的私钥格式错误,请检查RSA私钥配置'); 
+
+		if ("RSA2" == $signType) {
+			openssl_sign($data, $sign, $res, OPENSSL_ALGO_SHA256);
+		} else {
+			openssl_sign($data, $sign, $res);
+		}
+
+		if($keyfromfile){
+			openssl_free_key($res);
+		}
+		$sign = base64_encode($sign);
+		return $sign;
+	}
+
+
+	protected function curl($url, $postFields = null) {
+		$ch = curl_init();
+		curl_setopt($ch, CURLOPT_URL, $url);
+		curl_setopt($ch, CURLOPT_FAILONERROR, false);
+		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+
+		$postBodyString = "";
+		$encodeArray = Array();
+		$postMultipart = false;
+
+
+		if (is_array($postFields) && 0 < count($postFields)) {
+
+			foreach ($postFields as $k => $v) {
+				if ("@" != substr($v, 0, 1)) //判断是不是文件上传
+				{
+
+					$postBodyString .= "$k=" . urlencode($this->characet($v, $this->postCharset)) . "&";
+					$encodeArray[$k] = $this->characet($v, $this->postCharset);
+				} else //文件上传用multipart/form-data,否则用www-form-urlencoded
+				{
+					$postMultipart = true;
+					$encodeArray[$k] = new \CURLFile(substr($v, 1));
+				}
+
+			}
+			unset ($k, $v);
+			curl_setopt($ch, CURLOPT_POST, true);
+			if ($postMultipart) {
+				curl_setopt($ch, CURLOPT_POSTFIELDS, $encodeArray);
+			} else {
+				curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString, 0, -1));
+			}
+		}
+
+		if ($postMultipart) {
+
+			$headers = array('content-type: multipart/form-data;charset=' . $this->postCharset . ';boundary=' . $this->getMillisecond());
+		} else {
+
+			$headers = array('content-type: application/x-www-form-urlencoded;charset=' . $this->postCharset);
+		}
+		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+
+
+
+
+		$reponse = curl_exec($ch);
+
+		if (curl_errno($ch)) {
+
+			throw new Exception(curl_error($ch), 0);
+		} else {
+			$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+			if (200 !== $httpStatusCode) {
+				throw new Exception($reponse, $httpStatusCode);
+			}
+		}
+
+		curl_close($ch);
+		return $reponse;
+	}
+
+	protected function getMillisecond() {
+		list($s1, $s2) = explode(' ', microtime());
+		return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
+	}
+
+
+	protected function logCommunicationError($apiName, $requestUrl, $errorCode, $responseTxt) {
+		$localIp = isset ($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_ADDR"] : "CLI";
+		$logger = new LtLogger;
+		$logger->conf["log_file"] = rtrim(AOP_SDK_WORK_DIR, '\\/') . '/' . "logs/aop_comm_err_" . $this->appId . "_" . date("Y-m-d") . ".log";
+		$logger->conf["separator"] = "^_^";
+		$logData = array(
+			date("Y-m-d H:i:s"),
+			$apiName,
+			$this->appId,
+			$localIp,
+			PHP_OS,
+			$this->alipaySdkVersion,
+			$requestUrl,
+			$errorCode,
+			str_replace("\n", "", $responseTxt)
+		);
+		$logger->log($logData);
+	}
+
+    /**
+     * 生成用于调用收银台SDK的字符串
+     * @param $request SDK接口的请求参数对象
+     * @param $appAuthToken 三方应用授权token
+     * @return string 
+     * @author guofa.tgf
+     */
+	public function sdkExecute($request, $appAuthToken = null) {
+		
+		$this->setupCharsets($request);
+
+		$params['app_id'] = $this->appId;
+		$params['method'] = $request->getApiMethodName();
+		$params['format'] = $this->format; 
+		$params['sign_type'] = $this->signType;
+		$params['timestamp'] = date("Y-m-d H:i:s");
+		$params['alipay_sdk'] = $this->alipaySdkVersion;
+		$params['charset'] = $this->postCharset;
+
+		$version = $request->getApiVersion();
+		$params['version'] = $this->checkEmpty($version) ? $this->apiVersion : $version;
+
+		if ($notify_url = $request->getNotifyUrl()) {
+			$params['notify_url'] = $notify_url;
+		}
+
+		$params['app_auth_token'] = $appAuthToken;
+
+		$dict = $request->getApiParas();
+		$params['biz_content'] = $dict['biz_content'];
+
+		ksort($params);
+
+		$params['sign'] = $this->generateSign($params, $this->signType);
+
+		foreach ($params as &$value) {
+			$value = $this->characet($value, $params['charset']);
+		}
+		
+		return http_build_query($params);
+	}
+
+    /**
+     * 页面提交执行方法
+     * @param $request 跳转类接口的request
+     * @param string $httpmethod 提交方式,两个值可选:post、get;
+     * @param null $appAuthToken 三方应用授权token
+     * @return 构建好的、签名后的最终跳转URL(GET)或String形式的form(POST)
+     * @throws Exception
+     */
+	public function pageExecute($request, $httpmethod = "POST", $appAuthToken = null) {
+
+		$this->setupCharsets($request);
+
+		if (strcasecmp($this->fileCharset, $this->postCharset)) {
+
+			// writeLog("本地文件字符集编码与表单提交编码不一致,请务必设置成一样,属性名分别为postCharset!");
+			throw new Exception("文件编码:[" . $this->fileCharset . "] 与表单提交编码:[" . $this->postCharset . "]两者不一致!");
+		}
+
+		$iv=null;
+
+		if(!$this->checkEmpty($request->getApiVersion())){
+			$iv=$request->getApiVersion();
+		}else{
+			$iv=$this->apiVersion;
+		}
+
+		//组装系统参数
+		$sysParams["app_id"] = $this->appId;
+		$sysParams["version"] = $iv;
+		$sysParams["format"] = $this->format;
+		$sysParams["sign_type"] = $this->signType;
+		$sysParams["method"] = $request->getApiMethodName();
+		$sysParams["timestamp"] = date("Y-m-d H:i:s");
+		$sysParams["alipay_sdk"] = $this->alipaySdkVersion;
+		$sysParams["terminal_type"] = $request->getTerminalType();
+		$sysParams["terminal_info"] = $request->getTerminalInfo();
+		$sysParams["prod_code"] = $request->getProdCode();
+		$sysParams["notify_url"] = $request->getNotifyUrl();
+		$sysParams["return_url"] = $request->getReturnUrl();
+		$sysParams["charset"] = $this->postCharset;
+		$sysParams["app_auth_token"] = $appAuthToken;
+
+		//获取业务参数
+		$apiParams = $request->getApiParas();
+
+		if (method_exists($request,"getNeedEncrypt") &&$request->getNeedEncrypt()){
+
+			$sysParams["encrypt_type"] = $this->encryptType;
+
+			if ($this->checkEmpty($apiParams['biz_content'])) {
+
+				throw new Exception(" api request Fail! The reason : encrypt request is not supperted!");
+			}
+
+			if ($this->checkEmpty($this->encryptKey) || $this->checkEmpty($this->encryptType)) {
+
+				throw new Exception(" encryptType and encryptKey must not null! ");
+			}
+
+			if ("AES" != $this->encryptType) {
+
+				throw new Exception("加密类型只支持AES");
+			}
+
+			// 执行加密
+			$enCryptContent = encrypt($apiParams['biz_content'], $this->encryptKey);
+			$apiParams['biz_content'] = $enCryptContent;
+
+		}
+
+		//print_r($apiParams);
+		$totalParams = array_merge($apiParams, $sysParams);
+		
+		//待签名字符串
+		$preSignStr = $this->getSignContent($totalParams);
+
+		//签名
+		$totalParams["sign"] = $this->generateSign($totalParams, $this->signType);
+
+		if ("GET" == strtoupper($httpmethod)) {
+			
+			//value做urlencode
+			$preString=$this->getSignContentUrlencode($totalParams);
+			//拼接GET请求串
+			$requestUrl = $this->gatewayUrl."?".$preString;
+			
+			return $requestUrl;
+		} else {
+			//拼接表单字符串
+			return $this->buildRequestForm($totalParams);
+		}
+
+
+	}
+
+
+
+	/**
+     * 建立请求,以表单HTML形式构造(默认)
+     * @param $para_temp 请求参数数组
+     * @return 提交表单HTML文本
+     */
+	protected function buildRequestForm($para_temp) {
+		
+		$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='".$this->gatewayUrl."?charset=".trim($this->postCharset)."' method='POST'>";
+		while (list ($key, $val) = each ($para_temp)) {
+			if (false === $this->checkEmpty($val)) {
+				//$val = $this->characet($val, $this->postCharset);
+				$val = str_replace("'","&apos;",$val);
+				//$val = str_replace("\"","&quot;",$val);
+				$sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";
+			}
+        }
+
+		//submit按钮控件请不要含有name属性
+        $sHtml = $sHtml."<input type='submit' value='ok' style='display:none;''></form>";
+		
+		$sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";
+		
+		return $sHtml;
+	}
+
+
+	public function execute($request, $authToken = null, $appInfoAuthtoken = null) {
+
+		$this->setupCharsets($request);
+
+		//		//  如果两者编码不一致,会出现签名验签或者乱码
+		if (strcasecmp($this->fileCharset, $this->postCharset)) {
+
+			// writeLog("本地文件字符集编码与表单提交编码不一致,请务必设置成一样,属性名分别为postCharset!");
+			throw new Exception("文件编码:[" . $this->fileCharset . "] 与表单提交编码:[" . $this->postCharset . "]两者不一致!");
+		}
+
+		$iv = null;
+
+		if (!$this->checkEmpty($request->getApiVersion())) {
+			$iv = $request->getApiVersion();
+		} else {
+			$iv = $this->apiVersion;
+		}
+
+
+		//组装系统参数
+		$sysParams["app_id"] = $this->appId;
+		$sysParams["version"] = $iv;
+		$sysParams["format"] = $this->format;
+		$sysParams["sign_type"] = $this->signType;
+		$sysParams["method"] = $request->getApiMethodName();
+		$sysParams["timestamp"] = date("Y-m-d H:i:s");
+		$sysParams["auth_token"] = $authToken;
+		$sysParams["alipay_sdk"] = $this->alipaySdkVersion;
+		$sysParams["terminal_type"] = $request->getTerminalType();
+		$sysParams["terminal_info"] = $request->getTerminalInfo();
+		$sysParams["prod_code"] = $request->getProdCode();
+		$sysParams["notify_url"] = $request->getNotifyUrl();
+		$sysParams["charset"] = $this->postCharset;
+		$sysParams["app_auth_token"] = $appInfoAuthtoken;
+
+
+		//获取业务参数
+		$apiParams = $request->getApiParas();
+
+			if (method_exists($request,"getNeedEncrypt") &&$request->getNeedEncrypt()){
+
+			$sysParams["encrypt_type"] = $this->encryptType;
+
+			if ($this->checkEmpty($apiParams['biz_content'])) {
+
+				throw new Exception(" api request Fail! The reason : encrypt request is not supperted!");
+			}
+
+			if ($this->checkEmpty($this->encryptKey) || $this->checkEmpty($this->encryptType)) {
+
+				throw new Exception(" encryptType and encryptKey must not null! ");
+			}
+
+			if ("AES" != $this->encryptType) {
+
+				throw new Exception("加密类型只支持AES");
+			}
+
+			// 执行加密
+			$enCryptContent = encrypt($apiParams['biz_content'], $this->encryptKey);
+			$apiParams['biz_content'] = $enCryptContent;
+
+		}
+
+
+		//签名
+		$sysParams["sign"] = $this->generateSign(array_merge($apiParams, $sysParams), $this->signType);
+
+
+		//系统参数放入GET请求串
+		$requestUrl = $this->gatewayUrl . "?";
+		foreach ($sysParams as $sysParamKey => $sysParamValue) {
+			$requestUrl .= "$sysParamKey=" . urlencode($this->characet($sysParamValue, $this->postCharset)) . "&";
+		}
+		$requestUrl = substr($requestUrl, 0, -1);
+
+
+		//发起HTTP请求
+		try {
+			$resp = $this->curl($requestUrl, $apiParams);
+		} catch (Exception $e) {
+
+			$this->logCommunicationError($sysParams["method"], $requestUrl, "HTTP_ERROR_" . $e->getCode(), $e->getMessage());
+			return false;
+		}
+
+		//解析AOP返回结果
+		$respWellFormed = false;
+
+
+		// 将返回结果转换本地文件编码
+		$r = iconv($this->postCharset, $this->fileCharset . "//IGNORE", $resp);
+
+
+
+		$signData = null;
+
+		if ("json" == $this->format) {
+
+			$respObject = json_decode($r);
+			if (null !== $respObject) {
+				$respWellFormed = true;
+				$signData = $this->parserJSONSignData($request, $resp, $respObject);
+			}
+		} else if ("xml" == $this->format) {
+			$disableLibxmlEntityLoader = libxml_disable_entity_loader(true);
+			$respObject = @ simplexml_load_string($resp);
+			if (false !== $respObject) {
+				$respWellFormed = true;
+
+				$signData = $this->parserXMLSignData($request, $resp);
+			}
+			libxml_disable_entity_loader($disableLibxmlEntityLoader);
+		}
+
+
+		//返回的HTTP文本不是标准JSON或者XML,记下错误日志
+		if (false === $respWellFormed) {
+			$this->logCommunicationError($sysParams["method"], $requestUrl, "HTTP_RESPONSE_NOT_WELL_FORMED", $resp);
+			return false;
+		}
+
+		// 验签
+		$this->checkResponseSign($request, $signData, $resp, $respObject);
+
+		// 解密
+		if (method_exists($request,"getNeedEncrypt") &&$request->getNeedEncrypt()){
+
+			if ("json" == $this->format) {
+
+
+				$resp = $this->encryptJSONSignSource($request, $resp);
+
+				// 将返回结果转换本地文件编码
+				$r = iconv($this->postCharset, $this->fileCharset . "//IGNORE", $resp);
+				$respObject = json_decode($r);
+			}else{
+
+				$resp = $this->encryptXMLSignSource($request, $resp);
+
+				$r = iconv($this->postCharset, $this->fileCharset . "//IGNORE", $resp);
+				$disableLibxmlEntityLoader = libxml_disable_entity_loader(true);
+				$respObject = @ simplexml_load_string($r);
+				libxml_disable_entity_loader($disableLibxmlEntityLoader);
+
+			}
+		}
+
+		return $respObject;
+	}
+
+	/**
+	 * 转换字符集编码
+	 * @param $data
+	 * @param $targetCharset
+	 * @return string
+	 */
+	function characet($data, $targetCharset) {
+		
+		if (!empty($data)) {
+			$fileType = $this->fileCharset;
+			if (strcasecmp($fileType, $targetCharset) != 0) {
+				$data = mb_convert_encoding($data, $targetCharset, $fileType);
+				//				$data = iconv($fileType, $targetCharset.'//IGNORE', $data);
+			}
+		}
+
+
+		return $data;
+	}
+
+	public function exec($paramsArray) {
+		if (!isset ($paramsArray["method"])) {
+			trigger_error("No api name passed");
+		}
+		$inflector = new LtInflector;
+		$inflector->conf["separator"] = ".";
+		$requestClassName = ucfirst($inflector->camelize(substr($paramsArray["method"], 7))) . "Request";
+		if (!class_exists($requestClassName)) {
+			trigger_error("No such api: " . $paramsArray["method"]);
+		}
+
+		$session = isset ($paramsArray["session"]) ? $paramsArray["session"] : null;
+
+		$req = new $requestClassName;
+		foreach ($paramsArray as $paraKey => $paraValue) {
+			$inflector->conf["separator"] = "_";
+			$setterMethodName = $inflector->camelize($paraKey);
+			$inflector->conf["separator"] = ".";
+			$setterMethodName = "set" . $inflector->camelize($setterMethodName);
+			if (method_exists($req, $setterMethodName)) {
+				$req->$setterMethodName ($paraValue);
+			}
+		}
+		return $this->execute($req, $session);
+	}
+
+	/**
+	 * 校验$value是否非空
+	 *  if not set ,return true;
+	 *    if is null , return true;
+	 **/
+	protected function checkEmpty($value) {
+		if (!isset($value))
+			return true;
+		if ($value === null)
+			return true;
+		if (trim($value) === "")
+			return true;
+
+		return false;
+	}
+
+	/** rsaCheckV1 & rsaCheckV2
+	 *  验证签名
+	 *  在使用本方法前,必须初始化AopClient且传入公钥参数。
+	 *  公钥是否是读取字符串还是读取文件,是根据初始化传入的值判断的。
+	 **/
+	public function rsaCheckV1($params, $rsaPublicKeyFilePath,$signType='RSA') {
+		$sign = $params['sign'];
+		$params['sign_type'] = null;
+		$params['sign'] = null;
+		return $this->verify($this->getSignContent($params), $sign, $rsaPublicKeyFilePath,$signType);
+	}
+	public function rsaCheckV2($params, $rsaPublicKeyFilePath, $signType='RSA') {
+		$sign = $params['sign'];
+		$params['sign'] = null;
+		return $this->verify($this->getSignContent($params), $sign, $rsaPublicKeyFilePath, $signType);
+	}
+
+	function verify($data, $sign, $rsaPublicKeyFilePath, $signType = 'RSA') {
+
+		if($this->checkEmpty($this->alipayPublicKey)){
+
+			$pubKey= $this->alipayrsaPublicKey;
+			$res = "-----BEGIN PUBLIC KEY-----\n" .
+				wordwrap($pubKey, 64, "\n", true) .
+				"\n-----END PUBLIC KEY-----";
+		}else {
+			//读取公钥文件
+			$pubKey = file_get_contents($rsaPublicKeyFilePath);
+			//转换为openssl格式密钥
+			$res = openssl_get_publickey($pubKey);
+		}
+
+		($res) or die('支付宝RSA公钥错误。请检查公钥文件格式是否正确');  
+
+		//调用openssl内置方法验签,返回bool值
+
+		$result = FALSE;
+		if ("RSA2" == $signType) {
+			$result = (openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256)===1);
+		} else {
+			$result = (openssl_verify($data, base64_decode($sign), $res)===1);
+		}
+
+		if(!$this->checkEmpty($this->alipayPublicKey)) {
+			//释放资源
+			openssl_free_key($res);
+		}
+
+		return $result;
+	}
+
+/** 
+	 *  在使用本方法前,必须初始化AopClient且传入公私钥参数。
+	 *  公钥是否是读取字符串还是读取文件,是根据初始化传入的值判断的。
+	 **/
+	public function checkSignAndDecrypt($params, $rsaPublicKeyPem, $rsaPrivateKeyPem, $isCheckSign, $isDecrypt, $signType='RSA') {
+		$charset = $params['charset'];
+		$bizContent = $params['biz_content'];
+		if ($isCheckSign) {
+			if (!$this->rsaCheckV2($params, $rsaPublicKeyPem, $signType)) {
+				echo "<br/>checkSign failure<br/>";
+				exit;
+			}
+		}
+		if ($isDecrypt) {
+			return $this->rsaDecrypt($bizContent, $rsaPrivateKeyPem, $charset);
+		}
+
+		return $bizContent;
+	}
+
+	/** 
+	 *  在使用本方法前,必须初始化AopClient且传入公私钥参数。
+	 *  公钥是否是读取字符串还是读取文件,是根据初始化传入的值判断的。
+	 **/
+	public function encryptAndSign($bizContent, $rsaPublicKeyPem, $rsaPrivateKeyPem, $charset, $isEncrypt, $isSign, $signType='RSA') {
+		// 加密,并签名
+		if ($isEncrypt && $isSign) {
+			$encrypted = $this->rsaEncrypt($bizContent, $rsaPublicKeyPem, $charset);
+			$sign = $this->sign($encrypted, $signType);
+			$response = "<?xml version=\"1.0\" encoding=\"$charset\"?><alipay><response>$encrypted</response><encryption_type>RSA</encryption_type><sign>$sign</sign><sign_type>$signType</sign_type></alipay>";
+			return $response;
+		}
+		// 加密,不签名
+		if ($isEncrypt && (!$isSign)) {
+			$encrypted = $this->rsaEncrypt($bizContent, $rsaPublicKeyPem, $charset);
+			$response = "<?xml version=\"1.0\" encoding=\"$charset\"?><alipay><response>$encrypted</response><encryption_type>$signType</encryption_type></alipay>";
+			return $response;
+		}
+		// 不加密,但签名
+		if ((!$isEncrypt) && $isSign) {
+			$sign = $this->sign($bizContent, $signType);
+			$response = "<?xml version=\"1.0\" encoding=\"$charset\"?><alipay><response>$bizContent</response><sign>$sign</sign><sign_type>$signType</sign_type></alipay>";
+			return $response;
+		}
+		// 不加密,不签名
+		$response = "<?xml version=\"1.0\" encoding=\"$charset\"?>$bizContent";
+		return $response;
+	}
+
+	/** 
+	 *  在使用本方法前,必须初始化AopClient且传入公私钥参数。
+	 *  公钥是否是读取字符串还是读取文件,是根据初始化传入的值判断的。
+	 **/
+	public function rsaEncrypt($data, $rsaPublicKeyPem, $charset) {
+		if($this->checkEmpty($this->alipayPublicKey)){
+			//读取字符串
+			$pubKey= $this->alipayrsaPublicKey;
+			$res = "-----BEGIN PUBLIC KEY-----\n" .
+				wordwrap($pubKey, 64, "\n", true) .
+				"\n-----END PUBLIC KEY-----";
+		}else {
+			//读取公钥文件
+			$pubKey = file_get_contents($rsaPublicKeyFilePath);
+			//转换为openssl格式密钥
+			$res = openssl_get_publickey($pubKey);
+		}
+
+		($res) or die('支付宝RSA公钥错误。请检查公钥文件格式是否正确'); 
+		$blocks = $this->splitCN($data, 0, 30, $charset);
+		$chrtext  = null;
+		$encodes  = array();
+		foreach ($blocks as $n => $block) {
+			if (!openssl_public_encrypt($block, $chrtext , $res)) {
+				echo "<br/>" . openssl_error_string() . "<br/>";
+			}
+			$encodes[] = $chrtext ;
+		}
+		$chrtext = implode(",", $encodes);
+
+		return base64_encode($chrtext);
+	}
+
+	/** 
+	 *  在使用本方法前,必须初始化AopClient且传入公私钥参数。
+	 *  公钥是否是读取字符串还是读取文件,是根据初始化传入的值判断的。
+	 **/
+	public function rsaDecrypt($data, $rsaPrivateKeyPem, $charset) {
+		
+		if($this->checkEmpty($this->rsaPrivateKeyFilePath)){
+			//读字符串
+			$priKey=$this->rsaPrivateKey;
+			$res = "-----BEGIN RSA PRIVATE KEY-----\n" .
+				wordwrap($priKey, 64, "\n", true) .
+				"\n-----END RSA PRIVATE KEY-----";
+		}else {
+			$priKey = file_get_contents($this->rsaPrivateKeyFilePath);
+			$res = openssl_get_privatekey($priKey);
+		}
+		($res) or die('您使用的私钥格式错误,请检查RSA私钥配置'); 
+		//转换为openssl格式密钥
+		$decodes = explode(',', $data);
+		$strnull = "";
+		$dcyCont = "";
+		foreach ($decodes as $n => $decode) {
+			if (!openssl_private_decrypt($decode, $dcyCont, $res)) {
+				echo "<br/>" . openssl_error_string() . "<br/>";
+			}
+			$strnull .= $dcyCont;
+		}
+		return $strnull;
+	}
+
+	function splitCN($cont, $n = 0, $subnum, $charset) {
+		//$len = strlen($cont) / 3;
+		$arrr = array();
+		for ($i = $n; $i < strlen($cont); $i += $subnum) {
+			$res = $this->subCNchar($cont, $i, $subnum, $charset);
+			if (!empty ($res)) {
+				$arrr[] = $res;
+			}
+		}
+
+		return $arrr;
+	}
+
+	function subCNchar($str, $start = 0, $length, $charset = "gbk") {
+		if (strlen($str) <= $length) {
+			return $str;
+		}
+		$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
+		$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
+		$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
+		$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
+		preg_match_all($re[$charset], $str, $match);
+		$slice = join("", array_slice($match[0], $start, $length));
+		return $slice;
+	}
+
+	function parserResponseSubCode($request, $responseContent, $respObject, $format) {
+
+		if ("json" == $format) {
+
+			$apiName = $request->getApiMethodName();
+			$rootNodeName = str_replace(".", "_", $apiName) . $this->RESPONSE_SUFFIX;
+			$errorNodeName = $this->ERROR_RESPONSE;
+
+			$rootIndex = strpos($responseContent, $rootNodeName);
+			$errorIndex = strpos($responseContent, $errorNodeName);
+
+			if ($rootIndex > 0) {
+				// 内部节点对象
+				$rInnerObject = $respObject->$rootNodeName;
+			} elseif ($errorIndex > 0) {
+
+				$rInnerObject = $respObject->$errorNodeName;
+			} else {
+				return null;
+			}
+
+			// 存在属性则返回对应值
+			if (isset($rInnerObject->sub_code)) {
+
+				return $rInnerObject->sub_code;
+			} else {
+
+				return null;
+			}
+
+
+		} elseif ("xml" == $format) {
+
+			// xml格式sub_code在同一层级
+			return $respObject->sub_code;
+
+		}
+
+
+	}
+
+	function parserJSONSignData($request, $responseContent, $responseJSON) {
+
+		$signData = new SignData();
+
+		$signData->sign = $this->parserJSONSign($responseJSON);
+		$signData->signSourceData = $this->parserJSONSignSource($request, $responseContent);
+
+
+		return $signData;
+
+	}
+
+	function parserJSONSignSource($request, $responseContent) {
+
+		$apiName = $request->getApiMethodName();
+		$rootNodeName = str_replace(".", "_", $apiName) . $this->RESPONSE_SUFFIX;
+
+		$rootIndex = strpos($responseContent, $rootNodeName);
+		$errorIndex = strpos($responseContent, $this->ERROR_RESPONSE);
+
+
+		if ($rootIndex > 0) {
+
+			return $this->parserJSONSource($responseContent, $rootNodeName, $rootIndex);
+		} else if ($errorIndex > 0) {
+
+			return $this->parserJSONSource($responseContent, $this->ERROR_RESPONSE, $errorIndex);
+		} else {
+
+			return null;
+		}
+
+
+	}
+
+	function parserJSONSource($responseContent, $nodeName, $nodeIndex) {
+		$signDataStartIndex = $nodeIndex + strlen($nodeName) + 2;
+		$signIndex = strrpos($responseContent, "\"" . $this->SIGN_NODE_NAME . "\"");
+		// 签名前-逗号
+		$signDataEndIndex = $signIndex - 1;
+		$indexLen = $signDataEndIndex - $signDataStartIndex;
+		if ($indexLen < 0) {
+
+			return null;
+		}
+
+		return substr($responseContent, $signDataStartIndex, $indexLen);
+
+	}
+
+	function parserJSONSign($responseJSon) {
+
+		return $responseJSon->sign;
+	}
+
+	function parserXMLSignData($request, $responseContent) {
+
+
+		$signData = new SignData();
+
+		$signData->sign = $this->parserXMLSign($responseContent);
+		$signData->signSourceData = $this->parserXMLSignSource($request, $responseContent);
+
+
+		return $signData;
+
+
+	}
+
+	function parserXMLSignSource($request, $responseContent) {
+
+
+		$apiName = $request->getApiMethodName();
+		$rootNodeName = str_replace(".", "_", $apiName) . $this->RESPONSE_SUFFIX;
+
+
+		$rootIndex = strpos($responseContent, $rootNodeName);
+		$errorIndex = strpos($responseContent, $this->ERROR_RESPONSE);
+		//		$this->echoDebug("<br/>rootNodeName:" . $rootNodeName);
+		//		$this->echoDebug("<br/> responseContent:<xmp>" . $responseContent . "</xmp>");
+
+
+		if ($rootIndex > 0) {
+
+			return $this->parserXMLSource($responseContent, $rootNodeName, $rootIndex);
+		} else if ($errorIndex > 0) {
+
+			return $this->parserXMLSource($responseContent, $this->ERROR_RESPONSE, $errorIndex);
+		} else {
+
+			return null;
+		}
+
+
+	}
+
+	function parserXMLSource($responseContent, $nodeName, $nodeIndex) {
+		$signDataStartIndex = $nodeIndex + strlen($nodeName) + 1;
+		$signIndex = strrpos($responseContent, "<" . $this->SIGN_NODE_NAME . ">");
+		// 签名前-逗号
+		$signDataEndIndex = $signIndex - 1;
+		$indexLen = $signDataEndIndex - $signDataStartIndex + 1;
+
+		if ($indexLen < 0) {
+			return null;
+		}
+
+
+		return substr($responseContent, $signDataStartIndex, $indexLen);
+
+
+	}
+
+	function parserXMLSign($responseContent) {
+		$signNodeName = "<" . $this->SIGN_NODE_NAME . ">";
+		$signEndNodeName = "</" . $this->SIGN_NODE_NAME . ">";
+
+		$indexOfSignNode = strpos($responseContent, $signNodeName);
+		$indexOfSignEndNode = strpos($responseContent, $signEndNodeName);
+
+
+		if ($indexOfSignNode < 0 || $indexOfSignEndNode < 0) {
+			return null;
+		}
+
+		$nodeIndex = ($indexOfSignNode + strlen($signNodeName));
+
+		$indexLen = $indexOfSignEndNode - $nodeIndex;
+
+		if ($indexLen < 0) {
+			return null;
+		}
+
+		// 签名
+		return substr($responseContent, $nodeIndex, $indexLen);
+
+	}
+
+	/**
+	 * 验签
+	 * @param $request
+	 * @param $signData
+	 * @param $resp
+	 * @param $respObject
+	 * @throws Exception
+	 */
+	public function checkResponseSign($request, $signData, $resp, $respObject) {
+
+		if (!$this->checkEmpty($this->alipayPublicKey) || !$this->checkEmpty($this->alipayrsaPublicKey)) {
+
+
+			if ($signData == null || $this->checkEmpty($signData->sign) || $this->checkEmpty($signData->signSourceData)) {
+
+				throw new Exception(" check sign Fail! The reason : signData is Empty");
+			}
+
+
+			// 获取结果sub_code
+			$responseSubCode = $this->parserResponseSubCode($request, $resp, $respObject, $this->format);
+
+
+			if (!$this->checkEmpty($responseSubCode) || ($this->checkEmpty($responseSubCode) && !$this->checkEmpty($signData->sign))) {
+
+				$checkResult = $this->verify($signData->signSourceData, $signData->sign, $this->alipayPublicKey, $this->signType);
+
+
+				if (!$checkResult) {
+
+					if (strpos($signData->signSourceData, "\\/") > 0) {
+
+						$signData->signSourceData = str_replace("\\/", "/", $signData->signSourceData);
+
+						$checkResult = $this->verify($signData->signSourceData, $signData->sign, $this->alipayPublicKey, $this->signType);
+
+						if (!$checkResult) {
+							throw new Exception("check sign Fail! [sign=" . $signData->sign . ", signSourceData=" . $signData->signSourceData . "]");
+						}
+
+					} else {
+
+						throw new Exception("check sign Fail! [sign=" . $signData->sign . ", signSourceData=" . $signData->signSourceData . "]");
+					}
+
+				}
+			}
+
+
+		}
+	}
+
+	private function setupCharsets($request) {
+		if ($this->checkEmpty($this->postCharset)) {
+			$this->postCharset = 'UTF-8';
+		}
+		$str = preg_match('/[\x80-\xff]/', $this->appId) ? $this->appId : print_r($request, true);
+		$this->fileCharset = mb_detect_encoding($str, "UTF-8, GBK") == 'UTF-8' ? 'UTF-8' : 'GBK';
+	}
+
+	// 获取加密内容
+
+	private function encryptJSONSignSource($request, $responseContent) {
+
+		$parsetItem = $this->parserEncryptJSONSignSource($request, $responseContent);
+
+		$bodyIndexContent = substr($responseContent, 0, $parsetItem->startIndex);
+		$bodyEndContent = substr($responseContent, $parsetItem->endIndex, strlen($responseContent) + 1 - $parsetItem->endIndex);
+
+		$bizContent = decrypt($parsetItem->encryptContent, $this->encryptKey);
+		return $bodyIndexContent . $bizContent . $bodyEndContent;
+
+	}
+
+
+	private function parserEncryptJSONSignSource($request, $responseContent) {
+
+		$apiName = $request->getApiMethodName();
+		$rootNodeName = str_replace(".", "_", $apiName) . $this->RESPONSE_SUFFIX;
+
+		$rootIndex = strpos($responseContent, $rootNodeName);
+		$errorIndex = strpos($responseContent, $this->ERROR_RESPONSE);
+
+
+		if ($rootIndex > 0) {
+
+			return $this->parserEncryptJSONItem($responseContent, $rootNodeName, $rootIndex);
+		} else if ($errorIndex > 0) {
+
+			return $this->parserEncryptJSONItem($responseContent, $this->ERROR_RESPONSE, $errorIndex);
+		} else {
+
+			return null;
+		}
+
+
+	}
+
+
+	private function parserEncryptJSONItem($responseContent, $nodeName, $nodeIndex) {
+		$signDataStartIndex = $nodeIndex + strlen($nodeName) + 2;
+		$signIndex = strpos($responseContent, "\"" . $this->SIGN_NODE_NAME . "\"");
+		// 签名前-逗号
+		$signDataEndIndex = $signIndex - 1;
+
+		if ($signDataEndIndex < 0) {
+
+			$signDataEndIndex = strlen($responseContent)-1 ;
+		}
+
+		$indexLen = $signDataEndIndex - $signDataStartIndex;
+
+		$encContent = substr($responseContent, $signDataStartIndex+1, $indexLen-2);
+
+
+		$encryptParseItem = new EncryptParseItem();
+
+		$encryptParseItem->encryptContent = $encContent;
+		$encryptParseItem->startIndex = $signDataStartIndex;
+		$encryptParseItem->endIndex = $signDataEndIndex;
+
+		return $encryptParseItem;
+
+	}
+
+	// 获取加密内容
+
+	private function encryptXMLSignSource($request, $responseContent) {
+
+		$parsetItem = $this->parserEncryptXMLSignSource($request, $responseContent);
+
+		$bodyIndexContent = substr($responseContent, 0, $parsetItem->startIndex);
+		$bodyEndContent = substr($responseContent, $parsetItem->endIndex, strlen($responseContent) + 1 - $parsetItem->endIndex);
+		$bizContent = decrypt($parsetItem->encryptContent, $this->encryptKey);
+
+		return $bodyIndexContent . $bizContent . $bodyEndContent;
+
+	}
+
+	private function parserEncryptXMLSignSource($request, $responseContent) {
+
+
+		$apiName = $request->getApiMethodName();
+		$rootNodeName = str_replace(".", "_", $apiName) . $this->RESPONSE_SUFFIX;
+
+
+		$rootIndex = strpos($responseContent, $rootNodeName);
+		$errorIndex = strpos($responseContent, $this->ERROR_RESPONSE);
+		//		$this->echoDebug("<br/>rootNodeName:" . $rootNodeName);
+		//		$this->echoDebug("<br/> responseContent:<xmp>" . $responseContent . "</xmp>");
+
+
+		if ($rootIndex > 0) {
+
+			return $this->parserEncryptXMLItem($responseContent, $rootNodeName, $rootIndex);
+		} else if ($errorIndex > 0) {
+
+			return $this->parserEncryptXMLItem($responseContent, $this->ERROR_RESPONSE, $errorIndex);
+		} else {
+
+			return null;
+		}
+
+
+	}
+
+	private function parserEncryptXMLItem($responseContent, $nodeName, $nodeIndex) {
+
+		$signDataStartIndex = $nodeIndex + strlen($nodeName) + 1;
+
+		$xmlStartNode="<".$this->ENCRYPT_XML_NODE_NAME.">";
+		$xmlEndNode="</".$this->ENCRYPT_XML_NODE_NAME.">";
+
+		$indexOfXmlNode=strpos($responseContent,$xmlEndNode);
+		if($indexOfXmlNode<0){
+
+			$item = new EncryptParseItem();
+			$item->encryptContent = null;
+			$item->startIndex = 0;
+			$item->endIndex = 0;
+			return $item;
+		}
+
+		$startIndex=$signDataStartIndex+strlen($xmlStartNode);
+		$bizContentLen=$indexOfXmlNode-$startIndex;
+		$bizContent=substr($responseContent,$startIndex,$bizContentLen);
+
+		$encryptParseItem = new EncryptParseItem();
+		$encryptParseItem->encryptContent = $bizContent;
+		$encryptParseItem->startIndex = $signDataStartIndex;
+		$encryptParseItem->endIndex = $indexOfXmlNode+strlen($xmlEndNode);
+
+		return $encryptParseItem;
+
+	}
+
+
+	function echoDebug($content) {
+
+		if ($this->debugInfo) {
+			echo "<br/>" . $content;
+		}
+
+	}
+
+
+}

+ 76 - 0
extend/alipay/aop/AopEncrypt.php

@@ -0,0 +1,76 @@
+<?php
+/**
+ *   加密工具类
+ *
+ * User: jiehua
+ * Date: 16/3/30
+ * Time: 下午3:25
+ */
+
+
+/**
+ * 加密方法
+ * @param string $str
+ * @return string
+ */
+ function encrypt($str,$screct_key){
+	//AES, 128 模式加密数据 CBC
+	$screct_key = base64_decode($screct_key);
+	$str = trim($str);
+	$str = addPKCS7Padding($str);
+
+	//设置全0的IV
+	$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC);
+	$iv = str_repeat("\0", $iv_size);
+
+	$encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC, $iv);
+	return base64_encode($encrypt_str);
+}
+
+/**
+ * 解密方法
+ * @param string $str
+ * @return string
+ */
+ function decrypt($str,$screct_key){
+	//AES, 128 模式加密数据 CBC
+	$str = base64_decode($str);
+	$screct_key = base64_decode($screct_key);
+
+	//设置全0的IV
+	$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC);
+	$iv = str_repeat("\0", $iv_size);
+
+	$decrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_CBC, $iv);
+	$decrypt_str = stripPKSC7Padding($decrypt_str);
+	return $decrypt_str;
+}
+
+/**
+ * 填充算法
+ * @param string $source
+ * @return string
+ */
+function addPKCS7Padding($source){
+	$source = trim($source);
+	$block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
+
+	$pad = $block - (strlen($source) % $block);
+	if ($pad <= $block) {
+		$char = chr($pad);
+		$source .= str_repeat($char, $pad);
+	}
+	return $source;
+}
+/**
+ * 移去填充算法
+ * @param string $source
+ * @return string
+ */
+function stripPKSC7Padding($source){
+	$char = substr($source, -1);
+	$num = ord($char);
+	if($num==62)return $source;
+	$source = substr($source,0,-$num);
+	return $source;
+}

+ 19 - 0
extend/alipay/aop/EncryptParseItem.php

@@ -0,0 +1,19 @@
+<?php
+/**
+ *  TODO 补充说明 
+ *
+ * User: jiehua
+ * Date: 16/3/30
+ * Time: 下午8:55
+ */
+
+class EncryptParseItem {
+
+
+	public $startIndex;
+
+	public $endIndex;
+
+	public $encryptContent;
+
+} 

+ 18 - 0
extend/alipay/aop/EncryptResponseData.php

@@ -0,0 +1,18 @@
+<?php
+/**
+ *  TODO 补充说明 
+ *
+ * User: jiehua
+ * Date: 16/3/30
+ * Time: 下午8:51
+ */
+
+class EncryptResponseData {
+
+
+	public $realContent;
+
+	public $returnContent;
+
+
+} 

+ 16 - 0
extend/alipay/aop/SignData.php

@@ -0,0 +1,16 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: jiehua
+ * Date: 15/5/2
+ * Time: 下午6:21
+ */
+
+class SignData {
+
+    public $signSourceData=null;
+
+
+    public $sign=null;
+
+} 

+ 118 - 0
extend/alipay/aop/request/AftAifinFireeyeOcrImageQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: aft.aifin.fireeye.ocr.image.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AftAifinFireeyeOcrImageQueryRequest
+{
+	/** 
+	 * OCR火眼识别
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "aft.aifin.fireeye.ocr.image.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AftFinsecureRiskplusSecurityPolicyQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: aft.finsecure.riskplus.security.policy.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AftFinsecureRiskplusSecurityPolicyQueryRequest
+{
+	/** 
+	 * 策略咨询服务输出
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "aft.finsecure.riskplus.security.policy.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAccountExrateAdviceAcceptRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.account.exrate.advice.accept request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAccountExrateAdviceAcceptRequest
+{
+	/** 
+	 * 标准的兑换交易受理接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.account.exrate.advice.accept";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAccountExrateAllclientrateQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.account.exrate.allclientrate.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAccountExrateAllclientrateQueryRequest
+{
+	/** 
+	 * 查询客户的所有币种对最新有效汇率
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.account.exrate.allclientrate.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAccountExrateRatequeryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.account.exrate.ratequery request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAccountExrateRatequeryRequest
+{
+	/** 
+	 * 对于部分签约境内当面付的商家,为了能够在境外进行推广,因此需要汇率进行币种之间的转换,本接口提供此业务场景下的汇率查询服务
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.account.exrate.ratequery";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAccountExrateTraderequestCreateRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.account.exrate.traderequest.create request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAccountExrateTraderequestCreateRequest
+{
+	/** 
+	 * 受理外汇交易请求
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.account.exrate.traderequest.create";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 171 - 0
extend/alipay/aop/request/AlipayAcquireCancelRequest.php

@@ -0,0 +1,171 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.cancel request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayAcquireCancelRequest
+{
+	/** 
+	 * 操作员ID。
+	 **/
+	private $operatorId;
+	
+	/** 
+	 * 操作员的类型:
+0:支付宝操作员
+1:商户的操作员
+如果传入其它值或者为空,则默认设置为1
+	 **/
+	private $operatorType;
+	
+	/** 
+	 * 支付宝合作商户网站唯一订单号。
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 该交易在支付宝系统中的交易流水号。
+最短16位,最长64位。
+如果同时传了out_trade_no和trade_no,则以trade_no为准。
+	 **/
+	private $tradeNo;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setOperatorId($operatorId)
+	{
+		$this->operatorId = $operatorId;
+		$this->apiParas["operator_id"] = $operatorId;
+	}
+
+	public function getOperatorId()
+	{
+		return $this->operatorId;
+	}
+
+	public function setOperatorType($operatorType)
+	{
+		$this->operatorType = $operatorType;
+		$this->apiParas["operator_type"] = $operatorType;
+	}
+
+	public function getOperatorType()
+	{
+		return $this->operatorType;
+	}
+
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setTradeNo($tradeNo)
+	{
+		$this->tradeNo = $tradeNo;
+		$this->apiParas["trade_no"] = $tradeNo;
+	}
+
+	public function getTradeNo()
+	{
+		return $this->tradeNo;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.cancel";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 152 - 0
extend/alipay/aop/request/AlipayAcquireCloseRequest.php

@@ -0,0 +1,152 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.close request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayAcquireCloseRequest
+{
+	/** 
+	 * 卖家的操作员ID
+	 **/
+	private $operatorId;
+	
+	/** 
+	 * 支付宝合作商户网站唯一订单号
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 该交易在支付宝系统中的交易流水号。
+最短16位,最长64位。
+如果同时传了out_trade_no和trade_no,则以trade_no为准
+	 **/
+	private $tradeNo;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setOperatorId($operatorId)
+	{
+		$this->operatorId = $operatorId;
+		$this->apiParas["operator_id"] = $operatorId;
+	}
+
+	public function getOperatorId()
+	{
+		return $this->operatorId;
+	}
+
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setTradeNo($tradeNo)
+	{
+		$this->tradeNo = $tradeNo;
+		$this->apiParas["trade_no"] = $tradeNo;
+	}
+
+	public function getTradeNo()
+	{
+		return $this->tradeNo;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.close";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 550 - 0
extend/alipay/aop/request/AlipayAcquireCreateandpayRequest.php

@@ -0,0 +1,550 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.createandpay request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-18 14:08:22
+ */
+class AlipayAcquireCreateandpayRequest
+{
+	/** 
+	 * 证书签名
+	 **/
+	private $alipayCaRequest;
+	
+	/** 
+	 * 对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
+	 **/
+	private $body;
+	
+	/** 
+	 * 买家支付宝账号,可以为email或者手机号。
+	 **/
+	private $buyerEmail;
+	
+	/** 
+	 * 买家支付宝账号对应的支付宝唯一用户号。
+以2088开头的纯16位数字。
+	 **/
+	private $buyerId;
+	
+	/** 
+	 * 描述多渠道收单的渠道明细信息,json格式,具体请参见“4.5 渠道明细说明”。
+	 **/
+	private $channelParameters;
+	
+	/** 
+	 * 订单金额币种。
+目前只支持传入156(人民币)。
+如果为空,则默认设置为156。
+	 **/
+	private $currency;
+	
+	/** 
+	 * 动态ID。
+	 **/
+	private $dynamicId;
+	
+	/** 
+	 * 动态ID类型:
+&#1048698;
+soundwave:声波
+&#1048698;
+qrcode:二维码
+&#1048698;
+barcode:条码
+&#1048698;
+wave_code:声波,等同soundwave
+&#1048698;
+qr_code:二维码,等同qrcode
+&#1048698;
+bar_code:条码,等同barcode
+建议取值wave_code、qr_code、bar_code。
+	 **/
+	private $dynamicIdType;
+	
+	/** 
+	 * 用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。
+比如可传递声波支付场景下的门店ID等信息,以json格式传输,具体请参见“4.7 业务扩展参数说明”。
+	 **/
+	private $extendParams;
+	
+	/** 
+	 * xml或json
+	 **/
+	private $formatType;
+	
+	/** 
+	 * 描述商品明细信息,json格式,具体请参见“4.3 商品明细说明”。
+	 **/
+	private $goodsDetail;
+	
+	/** 
+	 * 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。
+取值范围:1m~15d。
+m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。
+该参数数值不接受小数点,如1.5h,可转换为90m。
+该功能需要联系支付宝配置关闭时间。
+	 **/
+	private $itBPay;
+	
+	/** 
+	 * 描述预付卡相关的明细信息,json格式,具体请参见“4.8 预付卡明细参数说明”。
+	 **/
+	private $mcardParameters;
+	
+	/** 
+	 * 卖家的操作员ID。
+	 **/
+	private $operatorId;
+	
+	/** 
+	 * 操作员的类型:
+&#1048698;
+0:支付宝操作员
+&#1048698;
+1:商户的操作员
+如果传入其它值或者为空,则默认设置为1。
+	 **/
+	private $operatorType;
+	
+	/** 
+	 * 支付宝合作商户网站唯一订单号。
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 订单中商品的单价。
+如果请求时传入本参数,则必须满足total_fee=price×quantity的条件。
+	 **/
+	private $price;
+	
+	/** 
+	 * 订单中商品的数量。
+如果请求时传入本参数,则必须满足total_fee=price×quantity的条件。
+	 **/
+	private $quantity;
+	
+	/** 
+	 * 业务关联ID集合,用于放置商户的订单号、支付流水号等信息,json格式,具体请参见“4.6 业务关联ID集合说明”。
+	 **/
+	private $refIds;
+	
+	/** 
+	 * 描述分账明细信息,json格式,具体请参见“4.4 分账明细说明”。
+	 **/
+	private $royaltyParameters;
+	
+	/** 
+	 * 卖家的分账类型,目前只支持传入ROYALTY(普通分账类型)。
+	 **/
+	private $royaltyType;
+	
+	/** 
+	 * 卖家支付宝账号,可以为email或者手机号。
+如果seller_id不为空,则以seller_id的值作为卖家账号,忽略本参数。
+	 **/
+	private $sellerEmail;
+	
+	/** 
+	 * 卖家支付宝账号对应的支付宝唯一用户号。
+以2088开头的纯16位数字。
+如果和seller_email同时为空,则本参数默认填充partner的值。
+	 **/
+	private $sellerId;
+	
+	/** 
+	 * 收银台页面上,商品展示的超链接。
+	 **/
+	private $showUrl;
+	
+	/** 
+	 * 商品的标题/交易标题/订单标题/订单关键字等。
+该参数最长为128个汉字。
+	 **/
+	private $subject;
+	
+	/** 
+	 * 该笔订单的资金总额,取值范围[0.01,100000000],精确到小数点后2位。
+	 **/
+	private $totalFee;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setAlipayCaRequest($alipayCaRequest)
+	{
+		$this->alipayCaRequest = $alipayCaRequest;
+		$this->apiParas["alipay_ca_request"] = $alipayCaRequest;
+	}
+
+	public function getAlipayCaRequest()
+	{
+		return $this->alipayCaRequest;
+	}
+
+	public function setBody($body)
+	{
+		$this->body = $body;
+		$this->apiParas["body"] = $body;
+	}
+
+	public function getBody()
+	{
+		return $this->body;
+	}
+
+	public function setBuyerEmail($buyerEmail)
+	{
+		$this->buyerEmail = $buyerEmail;
+		$this->apiParas["buyer_email"] = $buyerEmail;
+	}
+
+	public function getBuyerEmail()
+	{
+		return $this->buyerEmail;
+	}
+
+	public function setBuyerId($buyerId)
+	{
+		$this->buyerId = $buyerId;
+		$this->apiParas["buyer_id"] = $buyerId;
+	}
+
+	public function getBuyerId()
+	{
+		return $this->buyerId;
+	}
+
+	public function setChannelParameters($channelParameters)
+	{
+		$this->channelParameters = $channelParameters;
+		$this->apiParas["channel_parameters"] = $channelParameters;
+	}
+
+	public function getChannelParameters()
+	{
+		return $this->channelParameters;
+	}
+
+	public function setCurrency($currency)
+	{
+		$this->currency = $currency;
+		$this->apiParas["currency"] = $currency;
+	}
+
+	public function getCurrency()
+	{
+		return $this->currency;
+	}
+
+	public function setDynamicId($dynamicId)
+	{
+		$this->dynamicId = $dynamicId;
+		$this->apiParas["dynamic_id"] = $dynamicId;
+	}
+
+	public function getDynamicId()
+	{
+		return $this->dynamicId;
+	}
+
+	public function setDynamicIdType($dynamicIdType)
+	{
+		$this->dynamicIdType = $dynamicIdType;
+		$this->apiParas["dynamic_id_type"] = $dynamicIdType;
+	}
+
+	public function getDynamicIdType()
+	{
+		return $this->dynamicIdType;
+	}
+
+	public function setExtendParams($extendParams)
+	{
+		$this->extendParams = $extendParams;
+		$this->apiParas["extend_params"] = $extendParams;
+	}
+
+	public function getExtendParams()
+	{
+		return $this->extendParams;
+	}
+
+	public function setFormatType($formatType)
+	{
+		$this->formatType = $formatType;
+		$this->apiParas["format_type"] = $formatType;
+	}
+
+	public function getFormatType()
+	{
+		return $this->formatType;
+	}
+
+	public function setGoodsDetail($goodsDetail)
+	{
+		$this->goodsDetail = $goodsDetail;
+		$this->apiParas["goods_detail"] = $goodsDetail;
+	}
+
+	public function getGoodsDetail()
+	{
+		return $this->goodsDetail;
+	}
+
+	public function setItBPay($itBPay)
+	{
+		$this->itBPay = $itBPay;
+		$this->apiParas["it_b_pay"] = $itBPay;
+	}
+
+	public function getItBPay()
+	{
+		return $this->itBPay;
+	}
+
+	public function setMcardParameters($mcardParameters)
+	{
+		$this->mcardParameters = $mcardParameters;
+		$this->apiParas["mcard_parameters"] = $mcardParameters;
+	}
+
+	public function getMcardParameters()
+	{
+		return $this->mcardParameters;
+	}
+
+	public function setOperatorId($operatorId)
+	{
+		$this->operatorId = $operatorId;
+		$this->apiParas["operator_id"] = $operatorId;
+	}
+
+	public function getOperatorId()
+	{
+		return $this->operatorId;
+	}
+
+	public function setOperatorType($operatorType)
+	{
+		$this->operatorType = $operatorType;
+		$this->apiParas["operator_type"] = $operatorType;
+	}
+
+	public function getOperatorType()
+	{
+		return $this->operatorType;
+	}
+
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setPrice($price)
+	{
+		$this->price = $price;
+		$this->apiParas["price"] = $price;
+	}
+
+	public function getPrice()
+	{
+		return $this->price;
+	}
+
+	public function setQuantity($quantity)
+	{
+		$this->quantity = $quantity;
+		$this->apiParas["quantity"] = $quantity;
+	}
+
+	public function getQuantity()
+	{
+		return $this->quantity;
+	}
+
+	public function setRefIds($refIds)
+	{
+		$this->refIds = $refIds;
+		$this->apiParas["ref_ids"] = $refIds;
+	}
+
+	public function getRefIds()
+	{
+		return $this->refIds;
+	}
+
+	public function setRoyaltyParameters($royaltyParameters)
+	{
+		$this->royaltyParameters = $royaltyParameters;
+		$this->apiParas["royalty_parameters"] = $royaltyParameters;
+	}
+
+	public function getRoyaltyParameters()
+	{
+		return $this->royaltyParameters;
+	}
+
+	public function setRoyaltyType($royaltyType)
+	{
+		$this->royaltyType = $royaltyType;
+		$this->apiParas["royalty_type"] = $royaltyType;
+	}
+
+	public function getRoyaltyType()
+	{
+		return $this->royaltyType;
+	}
+
+	public function setSellerEmail($sellerEmail)
+	{
+		$this->sellerEmail = $sellerEmail;
+		$this->apiParas["seller_email"] = $sellerEmail;
+	}
+
+	public function getSellerEmail()
+	{
+		return $this->sellerEmail;
+	}
+
+	public function setSellerId($sellerId)
+	{
+		$this->sellerId = $sellerId;
+		$this->apiParas["seller_id"] = $sellerId;
+	}
+
+	public function getSellerId()
+	{
+		return $this->sellerId;
+	}
+
+	public function setShowUrl($showUrl)
+	{
+		$this->showUrl = $showUrl;
+		$this->apiParas["show_url"] = $showUrl;
+	}
+
+	public function getShowUrl()
+	{
+		return $this->showUrl;
+	}
+
+	public function setSubject($subject)
+	{
+		$this->subject = $subject;
+		$this->apiParas["subject"] = $subject;
+	}
+
+	public function getSubject()
+	{
+		return $this->subject;
+	}
+
+	public function setTotalFee($totalFee)
+	{
+		$this->totalFee = $totalFee;
+		$this->apiParas["total_fee"] = $totalFee;
+	}
+
+	public function getTotalFee()
+	{
+		return $this->totalFee;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.createandpay";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 402 - 0
extend/alipay/aop/request/AlipayAcquirePrecreateRequest.php

@@ -0,0 +1,402 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.precreate request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayAcquirePrecreateRequest
+{
+	/** 
+	 * 对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body
+	 **/
+	private $body;
+	
+	/** 
+	 * 描述多渠道收单的渠道明细信息,json格式
+	 **/
+	private $channelParameters;
+	
+	/** 
+	 * 订单金额币种。目前只支持传入156(人民币)。
+如果为空,则默认设置为156
+	 **/
+	private $currency;
+	
+	/** 
+	 * 公用业务扩展信息。用于商户的特定业务信息的传递,只有商户与支付宝约定了传递此参数且约定了参数含义,此参数才有效。
+比如可传递二维码支付场景下的门店ID等信息,以json格式传输。
+	 **/
+	private $extendParams;
+	
+	/** 
+	 * 描述商品明细信息,json格式。
+	 **/
+	private $goodsDetail;
+	
+	/** 
+	 * 订单支付超时时间。设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。
+取值范围:1m~15d。
+m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。
+该参数数值不接受小数点,如1.5h,可转换为90m。
+该功能需要联系支付宝配置关闭时间。
+	 **/
+	private $itBPay;
+	
+	/** 
+	 * 操作员的类型:
+0:支付宝操作员
+1:商户的操作员
+如果传入其它值或者为空,则默认设置为1
+	 **/
+	private $operatorCode;
+	
+	/** 
+	 * 卖家的操作员ID
+	 **/
+	private $operatorId;
+	
+	/** 
+	 * 支付宝合作商户网站唯一订单号
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 订单中商品的单价。
+如果请求时传入本参数,则必须满足total_fee=price×quantity的条件
+	 **/
+	private $price;
+	
+	/** 
+	 * 订单中商品的数量。
+如果请求时传入本参数,则必须满足total_fee=price×quantity的条件
+	 **/
+	private $quantity;
+	
+	/** 
+	 * 分账信息。
+描述分账明细信息,json格式
+	 **/
+	private $royaltyParameters;
+	
+	/** 
+	 * 分账类型。卖家的分账类型,目前只支持传入ROYALTY(普通分账类型)
+	 **/
+	private $royaltyType;
+	
+	/** 
+	 * 卖家支付宝账号,可以为email或者手机号。如果seller_id不为空,则以seller_id的值作为卖家账号,忽略本参数
+	 **/
+	private $sellerEmail;
+	
+	/** 
+	 * 卖家支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字。如果和seller_email同时为空,则本参数默认填充partner的值
+	 **/
+	private $sellerId;
+	
+	/** 
+	 * 收银台页面上,商品展示的超链接
+	 **/
+	private $showUrl;
+	
+	/** 
+	 * 商品购买
+	 **/
+	private $subject;
+	
+	/** 
+	 * 订单金额。该笔订单的资金总额,取值范围[0.01,100000000],精确到小数点后2位。
+	 **/
+	private $totalFee;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBody($body)
+	{
+		$this->body = $body;
+		$this->apiParas["body"] = $body;
+	}
+
+	public function getBody()
+	{
+		return $this->body;
+	}
+
+	public function setChannelParameters($channelParameters)
+	{
+		$this->channelParameters = $channelParameters;
+		$this->apiParas["channel_parameters"] = $channelParameters;
+	}
+
+	public function getChannelParameters()
+	{
+		return $this->channelParameters;
+	}
+
+	public function setCurrency($currency)
+	{
+		$this->currency = $currency;
+		$this->apiParas["currency"] = $currency;
+	}
+
+	public function getCurrency()
+	{
+		return $this->currency;
+	}
+
+	public function setExtendParams($extendParams)
+	{
+		$this->extendParams = $extendParams;
+		$this->apiParas["extend_params"] = $extendParams;
+	}
+
+	public function getExtendParams()
+	{
+		return $this->extendParams;
+	}
+
+	public function setGoodsDetail($goodsDetail)
+	{
+		$this->goodsDetail = $goodsDetail;
+		$this->apiParas["goods_detail"] = $goodsDetail;
+	}
+
+	public function getGoodsDetail()
+	{
+		return $this->goodsDetail;
+	}
+
+	public function setItBPay($itBPay)
+	{
+		$this->itBPay = $itBPay;
+		$this->apiParas["it_b_pay"] = $itBPay;
+	}
+
+	public function getItBPay()
+	{
+		return $this->itBPay;
+	}
+
+	public function setOperatorCode($operatorCode)
+	{
+		$this->operatorCode = $operatorCode;
+		$this->apiParas["operator_code"] = $operatorCode;
+	}
+
+	public function getOperatorCode()
+	{
+		return $this->operatorCode;
+	}
+
+	public function setOperatorId($operatorId)
+	{
+		$this->operatorId = $operatorId;
+		$this->apiParas["operator_id"] = $operatorId;
+	}
+
+	public function getOperatorId()
+	{
+		return $this->operatorId;
+	}
+
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setPrice($price)
+	{
+		$this->price = $price;
+		$this->apiParas["price"] = $price;
+	}
+
+	public function getPrice()
+	{
+		return $this->price;
+	}
+
+	public function setQuantity($quantity)
+	{
+		$this->quantity = $quantity;
+		$this->apiParas["quantity"] = $quantity;
+	}
+
+	public function getQuantity()
+	{
+		return $this->quantity;
+	}
+
+	public function setRoyaltyParameters($royaltyParameters)
+	{
+		$this->royaltyParameters = $royaltyParameters;
+		$this->apiParas["royalty_parameters"] = $royaltyParameters;
+	}
+
+	public function getRoyaltyParameters()
+	{
+		return $this->royaltyParameters;
+	}
+
+	public function setRoyaltyType($royaltyType)
+	{
+		$this->royaltyType = $royaltyType;
+		$this->apiParas["royalty_type"] = $royaltyType;
+	}
+
+	public function getRoyaltyType()
+	{
+		return $this->royaltyType;
+	}
+
+	public function setSellerEmail($sellerEmail)
+	{
+		$this->sellerEmail = $sellerEmail;
+		$this->apiParas["seller_email"] = $sellerEmail;
+	}
+
+	public function getSellerEmail()
+	{
+		return $this->sellerEmail;
+	}
+
+	public function setSellerId($sellerId)
+	{
+		$this->sellerId = $sellerId;
+		$this->apiParas["seller_id"] = $sellerId;
+	}
+
+	public function getSellerId()
+	{
+		return $this->sellerId;
+	}
+
+	public function setShowUrl($showUrl)
+	{
+		$this->showUrl = $showUrl;
+		$this->apiParas["show_url"] = $showUrl;
+	}
+
+	public function getShowUrl()
+	{
+		return $this->showUrl;
+	}
+
+	public function setSubject($subject)
+	{
+		$this->subject = $subject;
+		$this->apiParas["subject"] = $subject;
+	}
+
+	public function getSubject()
+	{
+		return $this->subject;
+	}
+
+	public function setTotalFee($totalFee)
+	{
+		$this->totalFee = $totalFee;
+		$this->apiParas["total_fee"] = $totalFee;
+	}
+
+	public function getTotalFee()
+	{
+		return $this->totalFee;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.precreate";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 136 - 0
extend/alipay/aop/request/AlipayAcquireQueryRequest.php

@@ -0,0 +1,136 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayAcquireQueryRequest
+{
+	/** 
+	 * 支付宝合作商户网站唯一订单号
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 该交易在支付宝系统中的交易流水号。
+最短16位,最长64位。
+如果同时传了out_trade_no和trade_no,则以trade_no为准。
+	 **/
+	private $tradeNo;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setTradeNo($tradeNo)
+	{
+		$this->tradeNo = $tradeNo;
+		$this->apiParas["trade_no"] = $tradeNo;
+	}
+
+	public function getTradeNo()
+	{
+		return $this->tradeNo;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 236 - 0
extend/alipay/aop/request/AlipayAcquireRefundRequest.php

@@ -0,0 +1,236 @@
+<?php
+/**
+ * ALIPAY API: alipay.acquire.refund request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayAcquireRefundRequest
+{
+	/** 
+	 * 卖家的操作员ID。
+	 **/
+	private $operatorId;
+	
+	/** 
+	 * 操作员的类型:
+0:支付宝操作员
+1:商户的操作员
+如果传入其它值或者为空,则默认设置为1。
+	 **/
+	private $operatorType;
+	
+	/** 
+	 * 商户退款请求单号,用以标识本次交易的退款请求。
+如果不传入本参数,则以out_trade_no填充本参数的值。同时,认为本次请求为全额退款,要求退款金额和交易支付金额一致。
+	 **/
+	private $outRequestNo;
+	
+	/** 
+	 * 商户网站唯一订单号
+	 **/
+	private $outTradeNo;
+	
+	/** 
+	 * 业务关联ID集合,用于放置商户的退款单号、退款流水号等信息,json格式
+	 **/
+	private $refIds;
+	
+	/** 
+	 * 退款金额;退款金额不能大于订单金额,全额退款必须与订单金额一致。
+	 **/
+	private $refundAmount;
+	
+	/** 
+	 * 退款原因说明。
+	 **/
+	private $refundReason;
+	
+	/** 
+	 * 该交易在支付宝系统中的交易流水号。
+最短16位,最长64位。
+如果同时传了out_trade_no和trade_no,则以trade_no为准
+	 **/
+	private $tradeNo;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setOperatorId($operatorId)
+	{
+		$this->operatorId = $operatorId;
+		$this->apiParas["operator_id"] = $operatorId;
+	}
+
+	public function getOperatorId()
+	{
+		return $this->operatorId;
+	}
+
+	public function setOperatorType($operatorType)
+	{
+		$this->operatorType = $operatorType;
+		$this->apiParas["operator_type"] = $operatorType;
+	}
+
+	public function getOperatorType()
+	{
+		return $this->operatorType;
+	}
+
+	public function setOutRequestNo($outRequestNo)
+	{
+		$this->outRequestNo = $outRequestNo;
+		$this->apiParas["out_request_no"] = $outRequestNo;
+	}
+
+	public function getOutRequestNo()
+	{
+		return $this->outRequestNo;
+	}
+
+	public function setOutTradeNo($outTradeNo)
+	{
+		$this->outTradeNo = $outTradeNo;
+		$this->apiParas["out_trade_no"] = $outTradeNo;
+	}
+
+	public function getOutTradeNo()
+	{
+		return $this->outTradeNo;
+	}
+
+	public function setRefIds($refIds)
+	{
+		$this->refIds = $refIds;
+		$this->apiParas["ref_ids"] = $refIds;
+	}
+
+	public function getRefIds()
+	{
+		return $this->refIds;
+	}
+
+	public function setRefundAmount($refundAmount)
+	{
+		$this->refundAmount = $refundAmount;
+		$this->apiParas["refund_amount"] = $refundAmount;
+	}
+
+	public function getRefundAmount()
+	{
+		return $this->refundAmount;
+	}
+
+	public function setRefundReason($refundReason)
+	{
+		$this->refundReason = $refundReason;
+		$this->apiParas["refund_reason"] = $refundReason;
+	}
+
+	public function getRefundReason()
+	{
+		return $this->refundReason;
+	}
+
+	public function setTradeNo($tradeNo)
+	{
+		$this->tradeNo = $tradeNo;
+		$this->apiParas["trade_no"] = $tradeNo;
+	}
+
+	public function getTradeNo()
+	{
+		return $this->tradeNo;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.acquire.refund";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAppTokenGetRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.app.token.get request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-26 17:00:00
+ */
+class AlipayAppTokenGetRequest
+{
+	/** 
+	 * 应用安全码
+	 **/
+	private $secret;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setSecret($secret)
+	{
+		$this->secret = $secret;
+		$this->apiParas["secret"] = $secret;
+	}
+
+	public function getSecret()
+	{
+		return $this->secret;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.app.token.get";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayAssetPointBalanceQueryRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.asset.point.balance.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAssetPointBalanceQueryRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.asset.point.balance.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayAssetPointBudgetQueryRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.asset.point.budget.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAssetPointBudgetQueryRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.asset.point.budget.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAssetPointOrderCreateRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.asset.point.order.create request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAssetPointOrderCreateRequest
+{
+	/** 
+	 * 商户在采购完集分宝后可以通过此接口发放集分宝
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.asset.point.order.create";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayAssetPointOrderQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.asset.point.order.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayAssetPointOrderQueryRequest
+{
+	/** 
+	 * 商户在调用集分宝发放接口后可以通过此接口查询发放情况
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.asset.point.order.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayBossCsChannelQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.boss.cs.channel.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayBossCsChannelQueryRequest
+{
+	/** 
+	 * 云客服热线数据查询,云客服会有很多外部客服,他们需要查询落地在站内的自己公司的服务数据。
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.boss.cs.channel.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayBossFncXwbtestRetModifyRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.boss.fnc.xwbtest.ret.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayBossFncXwbtestRetModifyRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.boss.fnc.xwbtest.ret.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayBossProdArrangementOfflineQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.boss.prod.arrangement.offline.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayBossProdArrangementOfflineQueryRequest
+{
+	/** 
+	 * 签约销售方案的主站产品码,目前只支持ONLINE_TRADE_PAY(在线购买签约)和FACE_TO_FACE_PAYMENT(当面付)两个常量值,不允许传入其他值,否则报SYSTEM_ERROR异常。不传值时,默认查询FACE_TO_FACE_PAYM(当面付产品)。
+	 **/
+	private $productCode;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setProductCode($productCode)
+	{
+		$this->productCode = $productCode;
+		$this->apiParas["product_code"] = $productCode;
+	}
+
+	public function getProductCode()
+	{
+		return $this->productCode;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.boss.prod.arrangement.offline.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayCommerceAdContractSignRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.ad.contract.sign request
+ *
+ * @author auto create
+ * @since 1.0, 2019-02-21 15:05:00
+ */
+class AlipayCommerceAdContractSignRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.ad.contract.sign";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceAirXfgDsgModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.air.xfg.dsg.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceAirXfgDsgModifyRequest
+{
+	/** 
+	 * 吃饭更好
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.air.xfg.dsg.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorCityQueryRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.city.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorCityQueryRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.city.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositCancelRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.deposit.cancel request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorDepositCancelRequest
+{
+	/** 
+	 * 合作渠道可通过该接口补登扣款取消请求,以帮助支付宝将用户的资金退给用户
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.deposit.cancel";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositConfirmRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.deposit.confirm request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorDepositConfirmRequest
+{
+	/** 
+	 * 合作渠道可通过该接口补登单笔圈存确认扣款请求,以帮助支付宝将用户的资金结算给指定的渠道,不支持单笔拆分
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.deposit.confirm";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorDepositQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.deposit.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorDepositQueryRequest
+{
+	/** 
+	 * 商户查询用户的充值转账记录
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.deposit.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorFunctionQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.function.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorFunctionQueryRequest
+{
+	/** 
+	 * 基于设备和城市查询当前支持的功能
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.function.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorScriptQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.script.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorScriptQueryRequest
+{
+	/** 
+	 * 查询城市一卡通的判卡、读卡脚本
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.script.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorStationQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.station.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorStationQueryRequest
+{
+	/** 
+	 * 地铁购票站点查询
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.station.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherBatchqueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.batchquery request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherBatchqueryRequest
+{
+	/** 
+	 * 地铁购票订单批量查询
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.batchquery";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherCancelRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.cancel request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherCancelRequest
+{
+	/** 
+	 * 钱包中地铁票购票,获得核销码,线下渠道商凭核销码撤销该笔交易
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.cancel";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherConfirmRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.confirm request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherConfirmRequest
+{
+	/** 
+	 * 钱包中地铁票购票,获得核销码,线下地铁自助购票机上凭核销码取票,购票确认
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.confirm";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherGenerateRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.generate request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherGenerateRequest
+{
+	/** 
+	 * 地铁购票核销码发码
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.generate";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherQueryRequest
+{
+	/** 
+	 * 钱包中地铁票购票,获得核销码,线下地铁自助购票机上凭核销码取票,渠道商凭用户输入的核销码调接口查询核销码的有效性。
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherRefundRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.refund request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherRefundRequest
+{
+	/** 
+	 * 地铁购票发码退款
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.refund";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceCityfacilitatorVoucherUploadRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.cityfacilitator.voucher.upload request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceCityfacilitatorVoucherUploadRequest
+{
+	/** 
+	 * 钱包中地铁票购票,获得核销码,线下地铁自助购票机上凭核销码取票,票号上传接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.cityfacilitator.voucher.upload";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceDataCustommetricSyncRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.data.custommetric.sync request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-22 18:10:00
+ */
+class AlipayCommerceDataCustommetricSyncRequest
+{
+	/** 
+	 * 商户自主监控自定义指标数据上报接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.data.custommetric.sync";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceDataLogdataSyncRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.data.logdata.sync request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-22 15:25:00
+ */
+class AlipayCommerceDataLogdataSyncRequest
+{
+	/** 
+	 * 商户自主监控日志数据上报接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.data.logdata.sync";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceDataMonitordataSyncRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.data.monitordata.sync request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceDataMonitordataSyncRequest
+{
+	/** 
+	 * 自助监控服务接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.data.monitordata.sync";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayCommerceEducateStudentinfoShareRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.educate.studentinfo.share request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceEducateStudentinfoShareRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.educate.studentinfo.share";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceIotDeviceserviceCancelRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.iot.deviceservice.cancel request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceIotDeviceserviceCancelRequest
+{
+	/** 
+	 * 撤销指定的设备服务
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.iot.deviceservice.cancel";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceLotteryPresentSendRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.lottery.present.send request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceLotteryPresentSendRequest
+{
+	/** 
+	 * 商家给用户赠送彩票,由亚博科技提供服务
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.lottery.present.send";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceLotteryPresentlistQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.lottery.presentlist.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceLotteryPresentlistQueryRequest
+{
+	/** 
+	 * 查询调用者指定时间范围内的彩票赠送列表,由亚博科技提供服务
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.lottery.presentlist.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayCommerceLotteryTypelistQueryRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.lottery.typelist.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceLotteryTypelistQueryRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.lottery.typelist.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceTransportNfccardSendRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.transport.nfccard.send request
+ *
+ * @author auto create
+ * @since 1.0, 2019-08-07 18:20:01
+ */
+class AlipayCommerceTransportNfccardSendRequest
+{
+	/** 
+	 * NFC用户卡信息同步
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.transport.nfccard.send";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayCommerceTransportOfflinepayKeyQueryRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.transport.offlinepay.key.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceTransportOfflinepayKeyQueryRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.transport.offlinepay.key.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceTransportOfflinepayRecordVerifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.transport.offlinepay.record.verify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceTransportOfflinepayRecordVerifyRequest
+{
+	/** 
+	 * 支付宝脱机操作信息验证
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.transport.offlinepay.record.verify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayCommerceTransportOfflinepayUserblacklistQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.commerce.transport.offlinepay.userblacklist.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayCommerceTransportOfflinepayUserblacklistQueryRequest
+{
+	/** 
+	 * 脱机交易黑名单列表
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.commerce.transport.offlinepay.userblacklist.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderCancelRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.cancel request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderCancelRequest
+{
+	/** 
+	 * 到位订单取消
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.cancel";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderConfirmRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.confirm request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderConfirmRequest
+{
+	/** 
+	 * 订单确认接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.confirm";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderModifyRequest
+{
+	/** 
+	 * 服务订单修改接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderQueryRequest
+{
+	/** 
+	 * 到位订单查询接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderRefundRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.refund request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderRefundRequest
+{
+	/** 
+	 * 订单退款接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.refund";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderRefuseRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.refuse request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderRefuseRequest
+{
+	/** 
+	 * 到位的单笔订单拒绝接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.refuse";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderSpModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.sp.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderSpModifyRequest
+{
+	/** 
+	 * 订单服务者变更接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.sp.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiOrderTransferRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.order.transfer request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiOrderTransferRequest
+{
+	/** 
+	 * 订单状态推进接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.order.transfer";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiServiceModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.service.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiServiceModifyRequest
+{
+	/** 
+	 * 创建或更新服务信息接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.service.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiSpModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.sp.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiSpModifyRequest
+{
+	/** 
+	 * 创建或更新服务者信息接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.sp.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDaoweiSpScheduleModifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.daowei.sp.schedule.modify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDaoweiSpScheduleModifyRequest
+{
+	/** 
+	 * 更新服务者可用时间接口
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.daowei.sp.schedule.modify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataAiserviceSgxGatewayQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.aiservice.sgx.gateway.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-05-22 16:25:01
+ */
+class AlipayDataAiserviceSgxGatewayQueryRequest
+{
+	/** 
+	 * 查询sgx集群的IAS report
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.aiservice.sgx.gateway.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 134 - 0
extend/alipay/aop/request/AlipayDataBillDownloadurlGetRequest.php

@@ -0,0 +1,134 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.bill.downloadurl.get request
+ *
+ * @author auto create
+ * @since 1.0, 2019-03-08 15:29:11
+ */
+class AlipayDataBillDownloadurlGetRequest
+{
+	/** 
+	 * 账单时间:日账单格式为yyyy-MM-dd,月账单格式为yyyy-MM
+	 **/
+	private $billDate;
+	
+	/** 
+	 * 账单类型,目前支持的类型由:trade、air、air_b2b;trade指商户通过接口所获取的账单,或商户经开放平台授权后其所属服务商通过接口所获取的账单;air、air_b2b是航旅行业定制的账单,一般商户没有此账单;
+	 **/
+	private $billType;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBillDate($billDate)
+	{
+		$this->billDate = $billDate;
+		$this->apiParas["bill_date"] = $billDate;
+	}
+
+	public function getBillDate()
+	{
+		return $this->billDate;
+	}
+
+	public function setBillType($billType)
+	{
+		$this->billType = $billType;
+		$this->apiParas["bill_type"] = $billType;
+	}
+
+	public function getBillType()
+	{
+		return $this->billType;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.bill.downloadurl.get";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataexchangeSfasdfRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataexchange.sfasdf request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDataDataexchangeSfasdfRequest
+{
+	/** 
+	 * 1232456374
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataexchange.sfasdf";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdCreativeBatchqueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.creative.batchquery request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 22:10:01
+ */
+class AlipayDataDataserviceAdCreativeBatchqueryRequest
+{
+	/** 
+	 * 查询创意列表
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.creative.batchquery";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdCreativeCreateormodifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.creative.createormodify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:41:57
+ */
+class AlipayDataDataserviceAdCreativeCreateormodifyRequest
+{
+	/** 
+	 * 新增或修改创意
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.creative.createormodify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdCreativeQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.creative.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:42:16
+ */
+class AlipayDataDataserviceAdCreativeQueryRequest
+{
+	/** 
+	 * 查询创意详情
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.creative.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdGroupCreateormodifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.group.createormodify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:45:01
+ */
+class AlipayDataDataserviceAdGroupCreateormodifyRequest
+{
+	/** 
+	 * 创建/修改单元
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.group.createormodify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdOfflineRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.offline request
+ *
+ * @author auto create
+ * @since 1.0, 2019-05-17 10:30:01
+ */
+class AlipayDataDataserviceAdOfflineRequest
+{
+	/** 
+	 * 广告暂停API
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.offline";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdOnlineRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.online request
+ *
+ * @author auto create
+ * @since 1.0, 2019-05-15 16:45:01
+ */
+class AlipayDataDataserviceAdOnlineRequest
+{
+	/** 
+	 * 广告启用API
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.online";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdPlanCreateormodifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.plan.createormodify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:39:59
+ */
+class AlipayDataDataserviceAdPlanCreateormodifyRequest
+{
+	/** 
+	 * 创建/修改计划
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.plan.createormodify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdPrincipalCreateormodifyRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.principal.createormodify request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:39:32
+ */
+class AlipayDataDataserviceAdPrincipalCreateormodifyRequest
+{
+	/** 
+	 * 新增/修改商家
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.principal.createormodify";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdPrincipalQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.principal.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 22:00:01
+ */
+class AlipayDataDataserviceAdPrincipalQueryRequest
+{
+	/** 
+	 * 查询商家信息
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.principal.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdUserCreateRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.user.create request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:39:52
+ */
+class AlipayDataDataserviceAdUserCreateRequest
+{
+	/** 
+	 * 投放账户开户
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.user.create";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdUserbalanceOfflineRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.userbalance.offline request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:30:01
+ */
+class AlipayDataDataserviceAdUserbalanceOfflineRequest
+{
+	/** 
+	 * 投放账户余额下线
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.userbalance.offline";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceAdUserbalanceOnlineRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.ad.userbalance.online request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-30 21:40:04
+ */
+class AlipayDataDataserviceAdUserbalanceOnlineRequest
+{
+	/** 
+	 * 投放账户余额上线
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.ad.userbalance.online";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceBillDownloadurlQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.bill.downloadurl.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-07-18 17:00:01
+ */
+class AlipayDataDataserviceBillDownloadurlQueryRequest
+{
+	/** 
+	 * 无授权模式的查询对账单下载地址
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.bill.downloadurl.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceChinaremodelQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.chinaremodel.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-08-13 16:29:50
+ */
+class AlipayDataDataserviceChinaremodelQueryRequest
+{
+	/** 
+	 * 中再核保结果查询
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.chinaremodel.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceCodeRecoRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.code.reco request
+ *
+ * @author auto create
+ * @since 1.0, 2019-08-13 16:30:28
+ */
+class AlipayDataDataserviceCodeRecoRequest
+{
+	/** 
+	 * 改api为数立提供验证码识别服务。isv可以通过该接口,使用我们的图片识别能力。
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.code.reco";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 103 - 0
extend/alipay/aop/request/AlipayDataDataserviceSdfsdfRequest.php

@@ -0,0 +1,103 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.sdfsdf request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDataDataserviceSdfsdfRequest
+{
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.sdfsdf";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceShoppingmallrecShopQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.shoppingmallrec.shop.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDataDataserviceShoppingmallrecShopQueryRequest
+{
+	/** 
+	 * 商场店铺推荐
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.shoppingmallrec.shop.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

+ 118 - 0
extend/alipay/aop/request/AlipayDataDataserviceShoppingmallrecVoucherQueryRequest.php

@@ -0,0 +1,118 @@
+<?php
+/**
+ * ALIPAY API: alipay.data.dataservice.shoppingmallrec.voucher.query request
+ *
+ * @author auto create
+ * @since 1.0, 2019-01-07 20:51:15
+ */
+class AlipayDataDataserviceShoppingmallrecVoucherQueryRequest
+{
+	/** 
+	 * 商场券推荐
+	 **/
+	private $bizContent;
+
+	private $apiParas = array();
+	private $terminalType;
+	private $terminalInfo;
+	private $prodCode;
+	private $apiVersion="1.0";
+	private $notifyUrl;
+	private $returnUrl;
+    private $needEncrypt=false;
+
+	
+	public function setBizContent($bizContent)
+	{
+		$this->bizContent = $bizContent;
+		$this->apiParas["biz_content"] = $bizContent;
+	}
+
+	public function getBizContent()
+	{
+		return $this->bizContent;
+	}
+
+	public function getApiMethodName()
+	{
+		return "alipay.data.dataservice.shoppingmallrec.voucher.query";
+	}
+
+	public function setNotifyUrl($notifyUrl)
+	{
+		$this->notifyUrl=$notifyUrl;
+	}
+
+	public function getNotifyUrl()
+	{
+		return $this->notifyUrl;
+	}
+
+	public function setReturnUrl($returnUrl)
+	{
+		$this->returnUrl=$returnUrl;
+	}
+
+	public function getReturnUrl()
+	{
+		return $this->returnUrl;
+	}
+
+	public function getApiParas()
+	{
+		return $this->apiParas;
+	}
+
+	public function getTerminalType()
+	{
+		return $this->terminalType;
+	}
+
+	public function setTerminalType($terminalType)
+	{
+		$this->terminalType = $terminalType;
+	}
+
+	public function getTerminalInfo()
+	{
+		return $this->terminalInfo;
+	}
+
+	public function setTerminalInfo($terminalInfo)
+	{
+		$this->terminalInfo = $terminalInfo;
+	}
+
+	public function getProdCode()
+	{
+		return $this->prodCode;
+	}
+
+	public function setProdCode($prodCode)
+	{
+		$this->prodCode = $prodCode;
+	}
+
+	public function setApiVersion($apiVersion)
+	{
+		$this->apiVersion=$apiVersion;
+	}
+
+	public function getApiVersion()
+	{
+		return $this->apiVersion;
+	}
+
+  public function setNeedEncrypt($needEncrypt)
+  {
+
+     $this->needEncrypt=$needEncrypt;
+
+  }
+
+  public function getNeedEncrypt()
+  {
+    return $this->needEncrypt;
+  }
+
+}

部分文件因为文件数量过多而无法显示