Page 226 - AngularJS权威教程
P. 226

206  第 18 章  服务器通信


                                 } else {
                                     Stripe.card.createToken(obj,
                                        function(status, resp) {
                                             if (status == 200) {
                                                 d.resolve(resp);
                                             } else {
                                                 d.reject(status);
                                            }
                                     });
                                 }

                                 return d.promise;
                            }
                         }
                     }
                 });
                 如果你没有Stripe账号,那就到stripe.com 注册一个。Stripe是一个非常适合开发人员的支付
                                                    ①
             处理网关,这使得它对于创建我们的ngroad市场来说非常理想。
                 一旦我们有了账号,就想找到Account Setting页面,定位到API Keys页面。我们的第一件事是
             要找到publishable key(可以是不真正产生费用的测试版,也可以是生产版本),并且把它记一下。
                 在我们的scripts/app.js文件中,我们只是添加了下面的代码,并且把“pk_test_YOUR_KEY”
             这个publishable key替换成了自己的。

                 // ...
                 .config(function(StripeServiceProvider) {
                     StripeServiceProvider
                         .setPublishableKey('pk_test_YOUR_KEY');
                 })

             18.23 使用 Stripe


                 当用户点击他喜欢的图像时,我们在浏览器中打开一个表单,获取信用卡信息。我们要设置
             这个表单,让它提交到控制器上一个叫submitPayment()的操作。

                 注意到在上面有图像缩略图的地方,我们包含了一个操作,当图像被点击时,调用图像的
             sellImage()操作。
                 在MainController中实现sellImage()函数,如下所示:

                 // ...
                 $scope.sellImage = function(image) {
                     $scope.showCC = true;
                     $scope.currentItem = image;
                 }
                 // ...
                 现在,当图像被点击时,showCC属性会是true,我们可以显示信用卡表单。下面是一个极
             简表单:

                  <div ng-show="showCC">
                    <form ng-submit="submitPayment()">
             ——————————
                ① http://stripe.com
   221   222   223   224   225   226   227   228   229   230   231