【问题标题】:Parse.com create stripe card token in cloud code (main.js)Parse.com 在云代码 (main.js) 中创建条带卡令牌
【发布时间】:2015-02-24 04:17:56
【问题描述】:

我正在寻找在解析云代码中创建条带令牌..

我不想在客户端 HTML 页面中创建令牌。我完整的网络应用程序是 HTML + Javascript,所以不想暴露我的 Stripe.setPublishableKey('pk_test_xxxxxxx');

由于这个原因,人们对在云代码中定义函数感兴趣。

Parse.Cloud.define("addCreditCard", function(request, response) {
    var token;
    var group;

    var Stripe = require('https://js.stripe.com/v2/');
    Stripe.setPublishableKey('pk_test_xxxxxxxxx');

    Stripe.card.createToken({
        number : request.params.number,
        cvc : request.params.cvc,
        exp_month : request.params.month,
        exp_year : request.params.year
    }, {
        sucsess: function(result) { response.success("Ok"); },
        error : function(error) { response.error(error); }
    });
});

这里解析云无法调用var Stripe = require('https://js.stripe.com/v2/');

如果有很多地方建议使用 parse cloud stripe 模块 var Stripe = require('stripe'); var STRIPE_SECRET_KEY = 'sk_test_xxxxxxxxxx';

但是这里没有定义函数Stripe.card.createToken

【问题讨论】:

  • 尝试使用 Stripe.tokens.create 而不是 Stripe.cart.createToken? stripe.com/docs/api#token_object
  • 没有这样的方法 createToken 我指的是parse.com/docs/js/symbols/Stripe.Tokens.html
  • 您为什么不想公开您的可发布密钥?这是完全安全的,如下所述:support.stripe.com/questions/… 执行您的计划需要卡的详细信息才能到达您的服务器,并且您必须自己符合 PCI 标准,这需要大量工作
  • 我想尽量减少客户端的东西,把大部分的东西都规划在云功能中。因为客户端源代码暴露了

标签: javascript parse-platform token stripe-payments parse-cloud-code


【解决方案1】:

终于我的研究结束了,我得到了解决方案:

Parse.Cloud.httpRequest({
    method : 'POST',
    url : 'https://api.stripe.com/v1/tokens',
    headers : {
        'Authorization' : 'Bearer sk_test_xxxxxxxxxxxxxx'
    },
    body : {
        "card[number]" : request.params.number,
        "card[exp_month]" : request.params.month,
        "card[exp_year]" : request.params.year,
        "card[cvc]" : request.params.cvc
    },
    success : function(httpResponse) {
        token = httpResponse.data.id; // Its token which required for create payment/charge
    },
    error : function(httpResponse) {
        // Error
    }
})

上面的代码可以用在任何用main.js编写的云函数中

【讨论】:

  • 正如其他人所说,这将要求您符合 pci 标准。这远远超出了 SSL 背后的一切
  • 无论如何,如果我们在我们的页面上获取支付信息,我们需要符合 PCI 的证书和 SSL。否则我们必须在支付网关页面上重定向,因为它们是符合 PCI 的..
  • 实际上并不完全正确。如果您按预期使用条带,则敏感的信用卡详细信息永远不会传递到服务器,因此永远不要离开客户端,因此不需要 pci 合规性
猜你喜欢
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 2015-08-08
  • 2016-05-04
  • 1970-01-01
  • 2014-08-31
  • 1970-01-01
  • 2014-11-23
相关资源
最近更新 更多