Mike 7 gadi atpakaļ
vecāks
revīzija
c51513e252

+ 32 - 5
miaomiao/www/js/controllers/my.js

xqd xqd
@@ -413,7 +413,22 @@
                 $scope.vm = result.data.data;
                 $scope.vm.number = '';
                 $scope.vm.payType = 2;
-            })
+            });
+            if($scope.ios.isIOS){
+                var productIds = ['apple100000','apple100001','apple100002','apple100003','apple100004']; // <- Add your product Ids here
+                msg.loading();
+                inAppPurchase
+                  .getProducts(productIds)
+                  .then(function (products) {
+                    msg.hide();
+                    $scope.products = products;
+                    console.log('products:'+JSON.stringify(products));
+                  })
+                  .catch(function (err) {
+                    msg.hide();
+                    console.log(err);
+                  });
+            }
         });
         $scope.payExplain = function(){
             $state.go("app.payExplain")
@@ -460,21 +475,33 @@
       //充值
       $scope.charge = function(number){
           if($scope.ios.isIOS){
-            if ($scope.ios.productid.length<2){
+            if (number<2){
                 msg.text('请选择充值金额');
                 return;
             } 
+            console.log('购买productid:'+number);
+            msg.loading();
             inAppPurchase
-            .buy($scope.ios.productid)
+            .buy(number)
             .then(function (data) {
+                msg.hide();
+                console.log('购买then:'+JSON.stringify(data));
               return inAppPurchase.consume(data.productType, data.receipt, data.signature);
             })
-            .then(function () {
+            .then(function (data) {
+                msg.hide();
+                myService.orderIos(number).then(function (result) {
+                console.log('服务器端购买成功:'+number);
+                }, function (erro) {
+                });
+                console.log('购买成功:'+number);
                 msg.success('购买成功');
                 $ionicHistory.goBack();
             })
             .catch(function (err) {
-                alert('购买失败:'+err);
+                msg.hide();
+                console.log('购买失败:'+JSON.stringify(err));
+                // alert('购买失败:'+JSON.stringify(err));
             });
           }else{
             if (!number) {

+ 8 - 1
miaomiao/www/js/services/myservice.js

xqd
@@ -30,10 +30,17 @@
             orderStatus:function(number,type){
                 return $http({
                     url:config.server + "api/pay/order_status",
-                    method:"post",
+                    method:"get",
                     data: { number:number,goods:1,type:type}
                 })
             },
+            orderIos:function(number){
+                return $http({
+                    url:config.server + "api/pay/order_ios",
+                    method:"get",
+                    data: { number:number}
+                })
+            },
             setting:function(){
                 return $http({
                     url:config.server + "api/my/setting",

+ 6 - 5
miaomiao/www/templates/my/my-recharge.html

xqd xqd
@@ -40,13 +40,14 @@
                 </ion-list>      
             </div>
           <div ng-if="ios.isIOS">
-                <div class="item" style="color: #969696; padding-top: 40px">
-                     充值金额
+                <div class="item" style="color: #969696; padding-top: 20px">
+                     请选择充值金额
              </div>
             <ion-list>
-                <ion-radio ng-model="ios.productid"  ng-value="'apple100000'">
-                    <span>充值1元</span>
+                <ion-radio ng-repeat="product in products" ng-model="vm.number"  ng-value="product.productId">
+                  <span>{{product.title}}</span>
                 </ion-radio>
+                    <!-- 
                 <ion-radio ng-model="ios.productid" ng-value="'apple100001'">
                     <span>充值6元</span>
                 </ion-radio>
@@ -58,7 +59,7 @@
                 </ion-radio>
                 <ion-radio ng-model="ios.productid" ng-value="apple100004">
                     <span>充值898元</span>
-                </ion-radio>
+                </ion-radio> -->
             
             </ion-list> 
           </div>

+ 36 - 0
server/app/Http/Controllers/Api/V1/PayController.php

xqd xqd
@@ -2,6 +2,7 @@
 
 namespace App\Http\Controllers\Api\V1;
 
+use Illuminate\Support\Facades\Log;
 use Omnipay\Omnipay;
 use App\Helper\LogHelper;
 use App\Helper\PayHelper;
@@ -377,4 +378,39 @@ class PayController extends Controller
         return false;
     }
 
+    public function orderIos(Request $request)
+    {
+
+        $validator = Validator::make($data = $request->all(),
+            [
+                'number' => 'required',
+            ],
+            [
+                'number.required' => '请输入产品ID',
+            ]
+        );
+
+        if ($validator->fails()) {
+            return $this->validatorError($validator->messages()->all(), ErrorCode::CLIENT_WRONG_PARAMS);
+        }
+        $order = new OrderInfoModel();
+
+        Log::info($data['number']);
+        $order->code            = $data['code'];
+        $order->transaction_id  = $data['transaction_id'];
+        $order->user_id         = $data['user_id'];
+        $order->goods_id        = $data['goods_id'];
+        $order->price           = $data['price'];
+        $order->number          = $data['number'];
+        $order->amount          = $data['amount'];
+        $order->pay_type        = $data['pay_type'];
+        if (isset($data['ext_info'])) {
+            $order->ext_info = $data['ext_info'];
+        }
+
+        if ($order->save()) {
+            return $order->find($order->id);
+        }
+        return false;
+    }
 }

+ 8 - 1
server/routes/api.php

xqd
@@ -322,10 +322,17 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1'], function ($a
         'uses' => 'PayController@charge',
     ]);
 
-    //商户充值
+    //充值状态
     $api->get('pay/order_status', [
         'as' => 'pay.order_status',
         'uses' => 'PayController@orderStatus',
     ]);
 
+
+    //商户充值
+    $api->get('pay/order_ios', [
+        'as' => 'pay.order_ios',
+        'uses' => 'PayController@orderIos',
+    ]);
+
 });