将 Stripe.com 和 Parse.com 与 iOS 集成 - 无法向客户添加订阅

integrating Stripe.com and Parse.com with iOS - can't add a subscription to a customer

提前致谢!

我一整天都在用头撞桌子,想弄明白为什么我不能通过 Parse 向客户添加 Stripe 订阅。

这是我的字典在 objective-C 中的样子:

NSDictionary *productInfo = @{ @"tokenId": token.tokenId,
                               @"plan": @"Test Plan",
                               @"email": currentUser.email };

我正在后台调用这个 PFCloud 函数:

Parse.Cloud.define("createSubscription", function(request, response) {

var Stripe = require('stripe');

// Test
Stripe.initialize('abcdefghijklmnopqrstuvwxyz');

Stripe.Customers.create({

    card: request.params.tokenId,
    email: request.params.email,
    plan: request.params.plan

},  {

    success: function(httpResponse) {
        response.success("Success - subscription created");
    },

    error: function(httpResponse) {
        response.error("Error - subscription canceled");
    }

})

});

我已将 "card" 与 "source" 互换,如 Stripe 文档中所述:https://stripe.com/docs/tutorials/subscriptions.

我也试过使用计划 ID 而不是名称。有谁知道我做错了什么?

编辑:我忘了说我收到了这条错误消息,其中一半是我写的 - [错误]:错误 - 订阅已取消(代码:141,版本:1.6.3)。

对于任何对集成 Parse 和 Stripe 感兴趣的人,这里是解决方案。我与 Stripe 客户支持的优秀人员进行了交谈,他们告诉了我两件重要的事情。

首先,如果您使用的是最新的 Stripe API 版本 (2015-02-18),那么您将要使用密钥 "source",但如果您使用的是旧版本版本那么你将要使用密钥 "card".

其次,确保使用计划的 ID 而不是密钥的名称 "plan"。