解析服务器+条纹连接 - iOS

时间:2016-11-01 03:45:35

标签: ios heroku stripe-payments parse-server stripe-connect

如何使用Stripe Connect设置解析服务器?我有一个悲惨的时间......

我正在尝试将我的Parse Server(托管在Heroku上)与Stripe Connect集成(这与标准Stripe不同,它允许您(应用程序)将付款转移给第三方,同时收取“处理费”而只使用Parse Server + Xcode(因为这就是我所熟悉的)。

例如,Lyft向客户的信用卡收费,占用了一定比例,剩余的余额转移给了司机。如何在Stripe中自动执行此操作?!

1 个答案:

答案 0 :(得分:4)

Stripe的文档没有给我一个明确的例子,我挣扎了好几个小时......好吧,我终于得到了它并希望与你分享。希望你们都觉得这很有用:

假设:

  • 您在Stripe上有一个帐户
  • 您已将Stripe添加到您的Parse Server example here。如果您不理解,请向我发送详细信息。
  • 您已将Stripe SDK添加到Xcode项目
  • 您已在解析服务器上设置了云代码(如果混淆,则再次发送消息)

好的,我们将收取一张信用卡,向第三方付款,但要收取费用。首先,您将转到Stripe.com仪表板(单击屏幕右上角,查看所有选项)。然后单击CONNECT并填写信息。

重要提示:您不需要填写字段"重定向URI"。

First fill out the required info

好的,现在我们需要创建一个CONNECTED STRIPE帐户。我们通过云代码执行此操作:

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

    var stripe = require('stripe')('YOUR_SECRET_KEY');

    stripe.accounts.create({
        managed: false,
        country: 'US',
        email: 'example@gmail.com' //THIS IS YOUR THIRD PARTY ACCOUNT EMAIL ADDRESS

}, function(err, account) {
        // asynchronously called
        if (err) {
            //other errror
             response.error(err); // return error
        } else {
            //no error
             response.success(account); // return charge success
        }
    });
});

此帐户由第三方管理。当您运行此代码时,它将为此第三方创建一个Stripe帐户并向他们发送一封电子邮件(到列出的电子邮件中)。基本上,电子邮件会指示他们登录,输入密码并输入银行帐户。当他们激活帐户时,它就会被连接起来'到您的帐户。

连接完成后,现在是时候写一下"给卡充电"方法:

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

    var stripe = require('stripe')('YOUR_SECRET_KEY');

    stripe.charges.create({

        amount: 100, //in CENTS
        currency: "usd",
        customer: request.params.customer, //customer is the id given by stripe when you create a customer. example: cus_EXAMPLE398FMFJKEP876 
        description: "example for people",
        application_fee: 25, //again, in CENTS

        }, {stripe_account: "3RD_PARTY_ACCOUNT_NUMBER"}, function(err, charge) { //the third party account number looks something like this acct_EXAMPLE352JFLE3207ME and can be found by clicking "Connected Accounts" (left side pane option after you set it up).
        // asynchronously called
        if (err && err.type === 'StripeCardError') {
            // The card has been declined
             response.error(err); // card declineded
        } else if (err) {
            //other errror
             response.error(err); // return error
        } else {
            //no error
             response.success(charge); // return charge success
        }  
    });
});

最后,快速了解"关联帐户"左侧导航窗格中的选项:

occurs after you turn on Connected Accounts

Walah。你完成了。

希望这会有所帮助。如果您有任何问题,请告诉我。