joway пре 2 година
родитељ
комит
0c3247e73e

+ 14 - 0
backendApi/config/menu.php

@@ -392,6 +392,20 @@ return [
             ['name'=>'显示文章', 'class'=>'', 'icon'=>'', 'controller'=>'article', 'action'=>'article-un-hide', 'routePath'=>'article/article-un-hide', 'show'=>0,],
         ]
     ],
+    'demo'=>[
+        'name'=>'Demo Management',
+        'class' => '',
+        'icon'=>'el-icon-picture-outline',
+        'controller'=>'demo',
+        'action'=>'',
+        'routePath'=>'demo',
+        'show'=>1,
+        'wiki' => 'demoManagement',
+        'child'=>[
+            ['name'=>'Demo Pay', 'class'=>'', 'icon'=>'', 'controller'=>'demo', 'action'=>'pay', 'routePath'=>'demo/pay', 'show'=>1, 'wiki' => 'demoPay'],
+            ['name'=>'Demo Ipay', 'class'=>'', 'icon'=>'', 'controller'=>'demo', 'action'=>'ipay', 'routePath'=>'demo/ipay', 'show'=>1, 'wiki' => 'demoIpay'],
+        ]
+    ],
     'ad'=>[
         'name'=>'Ad Management',
         'class' => '',

+ 2 - 2
backendApi/config/params.php

@@ -1,6 +1,6 @@
 <?php
 return [
     'adminEmail' => 'admin@example.com',
-    'noCheckTokenActions' => ['v1/oauth/login', 'v1/oauth/no-login-modify-password', 'v1/oauth/refresh-access-token', 'v1/oauth/refresh-refresh-token', 'v1/oauth/refresh-token', 'v1/site/days-diff', 'v1/site/page-data', 'v1/site/captcha', 'v1/site/send-notice', 'v1/ad/sort','v1/demo/payments'],
-    'noCheckPermissionActions' => ['oauth/login', 'oauth/no-login-modify-password', 'oauth/refresh-access-token', 'oauth/refresh-refresh-token', 'oauth/refresh-token', 'oauth/info', 'site/base-info', 'site/days-diff', 'site/page-data', 'site/captcha', 'user/full-info', 'user/filter-user', 'user/generate-user-name', 'reconsume/cant-deduct-date', 'user/get-sub-com', 'user/chk-relation', 'user/get-period-num', 'user/company-bank-get', 'user/main-divide', 'user/chk-del-user', 'reconsume/deduct-audit-add', 'finance/perf-apply-get','file/upload-excel', 'user/move-net-type', 'user/move-get', 'user/reg-info-audit-get', 'user/status-audit-get', 'user/status-audit-get-statuses', 'user/close-login-get', 'user/close-dec-get', 'atlas/main-user-info', 'reconsume/change-audit-get', 'reconsume/cant-deduct-month', 'finance/change-balance-type', 'finance/balance-audit-get', 'file/token', 'finance/perf-audit-get', 'finance/invoice-audit-get', 'finance/withdraw-get', 'finance/deal-type-get', 'ad/upload', 'config/reg-type-get', 'config/pact-get', 'user/reg-info-audit-add-opt', 'reconsume/get-flow-deal-type', 'user/status-close-get', 'finance/mult-point', 'shop/upload', 'article/upload', 'site/send-notice', 'ad/sort','demo/payments'],
+    'noCheckTokenActions' => ['v1/oauth/login', 'v1/oauth/no-login-modify-password', 'v1/oauth/refresh-access-token', 'v1/oauth/refresh-refresh-token', 'v1/oauth/refresh-token', 'v1/site/days-diff', 'v1/site/page-data', 'v1/site/captcha', 'v1/site/send-notice', 'v1/ad/sort','v1/demo/payments','v1/demo/ipayments'],
+    'noCheckPermissionActions' => ['oauth/login', 'oauth/no-login-modify-password', 'oauth/refresh-access-token', 'oauth/refresh-refresh-token', 'oauth/refresh-token', 'oauth/info', 'site/base-info', 'site/days-diff', 'site/page-data', 'site/captcha', 'user/full-info', 'user/filter-user', 'user/generate-user-name', 'reconsume/cant-deduct-date', 'user/get-sub-com', 'user/chk-relation', 'user/get-period-num', 'user/company-bank-get', 'user/main-divide', 'user/chk-del-user', 'reconsume/deduct-audit-add', 'finance/perf-apply-get','file/upload-excel', 'user/move-net-type', 'user/move-get', 'user/reg-info-audit-get', 'user/status-audit-get', 'user/status-audit-get-statuses', 'user/close-login-get', 'user/close-dec-get', 'atlas/main-user-info', 'reconsume/change-audit-get', 'reconsume/cant-deduct-month', 'finance/change-balance-type', 'finance/balance-audit-get', 'file/token', 'finance/perf-audit-get', 'finance/invoice-audit-get', 'finance/withdraw-get', 'finance/deal-type-get', 'ad/upload', 'config/reg-type-get', 'config/pact-get', 'user/reg-info-audit-add-opt', 'reconsume/get-flow-deal-type', 'user/status-close-get', 'finance/mult-point', 'shop/upload', 'article/upload', 'site/send-notice', 'ad/sort','demo/payments','demo/ipayments'],
 ];

+ 2 - 0
backendApi/config/urlManagerRules.php

@@ -589,6 +589,8 @@ return [
         'extraPatterns' => [
             'POST pay' => 'pay',
             'GET,POST payments' => 'payments',
+            'POST ipay' => 'ipay',
+            'GET,POST ipayments' => 'ipayments',
         ],
     ],
 ];

+ 100 - 0
backendApi/modules/v1/controllers/DemoController.php

@@ -287,4 +287,104 @@ class DemoController extends BaseController
         }
         return "No Value Returned";
     }
+
+    public function actionIpay(){
+        $data = array(
+            'ApiVersion' => '2.0',
+            'MerchantCode' => 'ID00001',
+            'PaymentId' => '71',
+            'Currency' => 'IDR',
+            'RefNo' => 'A00000001',
+            'Amount' => '3000',
+            'ProdDesc' => 'test',
+            'UserName' => 'Thoriq',
+            'UserEmail' => 'thoriq@ipay88.co.id',
+            'UserContact' => '08123123123',
+            'Lang' => 'UTF-8',
+            'ResponseURL' => 'http://16.163.228.151:8040/v1/demo/ipayments',
+            'BackendURL' => 'http://16.163.228.151:8040/v1/demo/ipay',
+            'ItemTransactions' => array(
+                "Id" => "00001",
+                "Name" => "Smartphone Wireless Charger",
+                "Quantity" => "1",
+                "Amount" =>  "3000",
+                "ParentType" => "SELLER",
+                "ParentId" => "SELLER123",
+            ),
+            'ShippingAddress' => array(
+                "FirstName" =>  "Techsupp",
+                "LastName" => "Alpha",
+                "Address" =>  "Jl. Test BlokRNo.1",
+                "City" => "Jakarta",
+                "State" => "DKI Jakarta",
+                "PostalCode" => "18800",
+                "Phone" => "08123456789",
+                "CountryCode" => "1",
+            ),
+            'BillingAddress' => array(
+                "FirstName" => 'test',
+                "LastName" => "test",
+                "Address" => "test",
+                "City" => "test",
+                "State" => "test",
+                "PostalCode" => "11480",
+                "Phone" => "08788888888",
+                "CountryCode" => "2222",
+            ),
+            'Sellers' => array(
+                "Id" => "SELLER123",
+                "Name" => "Sellername",
+                "LegalId" => "3274011001900001",
+                "SellerIdNumber" => null,
+                "Email" => "sellername@gmail.com",
+                "Url" => "www.sunrise.com",
+                "address" => array(
+                    "FirstName" => 'test',
+                    "LastName" => "test",
+                    "Address" => "test",
+                    "City" => "test",
+                    "State" => "test",
+                    "PostalCode" => "11480",
+                    "Phone" => "08788888888",
+                    "CountryCode" => "2222",
+                ),
+            ),
+            "SettingField" => array(
+                "Name" => 'TenorInstallment',
+                "Value" => '3',
+            ),
+        );
+        $MerchantKey = 'apple';
+        $url = "https://sandbox.ipay88.co.id/ePayment/WebService/PaymentAPI/Checkout";
+        $str = "||" . $MerchantKey . "||" . $data['MerchantCode'] . "||" . $data['RefNo'] . "||" . $data['Amount'] . "||" . $data['Currency'] . "||";
+        $data['Signature'] = hash('sha256', $str);
+        $res = $this->curl_post($url,json_encode($data));
+        print_r($res);die;
+        //return static::notice($res);
+    }
+
+
+    private function curl_post($url,$param){
+        if (empty($url) || empty($param)) {
+            return false;
+        }
+
+        $postUrl = $url;
+        $curlPost = $param;
+        $ch = curl_init();//初始化curl
+        curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
+        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
+        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
+        curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
+        $data = curl_exec($ch);//运行curl
+        curl_close($ch);
+        print_r($data);die;
+        return $data;
+    }
+
+    public function actionIpayments(){
+        $data = file_get_contents('php://input');
+        file_put_contents('./text1.txt',$data);
+    }
 }