ios - 解析服务器 + strip 连接 - iOS

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

如何使用 Stripe Connect 设置 Parse Server?我过得很痛苦......

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

例如,Lyft 从客户的信用卡中扣款,收取一定比例的行程费用,剩余余额转给司机。我如何在 Stripe 中自动执行此操作?!

最佳答案

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

假设:

  • 您在 Stripe 上有一个帐户
  • 您已将 Stripe 添加到您的 Parse Server example here .如果您不明白,请给我发消息了解详情。
  • 您已将 Stripe SDK 添加到您的 Xcode 项目
  • 您已经在您的 Parse Server 上设置了 Cloud Code(如果感到困惑,请再次发送消息)

好的,所以我们要从信用卡中扣款,向第三方付款,但要保留一笔“费用”。首先,您将转到 Stripe.com 仪表板(单击屏幕右上角,查看所有选项)。然后单击连接并填写信息。

重要提示:您无需填写“重定向 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
        }  
    });
});

最后,快速查看左侧导航 Pane 中的“关联帐户”选项:

occurs after you turn on Connected Accounts

哇哦。你完成了。

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

关于ios - 解析服务器 + strip 连接 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40353864/

相关文章:

django - 如何在 heroku-django 项目中设置环境变量?

ssl - Heroku 错误 : Websockets and ssl-endpoint features misconfiguration

javascript - 未处理的拒绝 (TypeError) : Cannot read property 'id' of undefined Stripe Javascript

java - objective-C : extending UIViewController leads to unexpected sense of "self" and "super"

ios - 从 2 个 View Controller 传递数据而不使用 segue

ruby-on-rails - 实现 ElasticSearch 后,Rails 应用程序在 Heroku 上崩溃

ruby-on-rails - 使用 Rails 在 Stripe 中添加新卡总是显示 Missing required param : source

javascript - Stripe JS 使 token 无效/销毁?

ios - 尝试镜像 Apple Watch 屏幕进行演示

ios - 升级到 iOS 7.1 SDK 后出错 - 不再允许精度损失的隐式转换