【问题标题】:Implementing Stripe Connect using JSONP in an Ember.js app在 Ember.js 应用程序中使用 JSONP 实现 Stripe Connect
【发布时间】:2014-10-02 05:45:32
【问题描述】:

我目前正在将 Stripe ConnectEmber.js 1.7.0-beta.4 应用程序(支持查询参数)集成。根据Stripe documentation我需要在我的 Ember.js 应用程序中接收来自 Stripe 的 GET 重定向,并使用查询参数发出最终的 POST 请求

到目前为止,我已经捕获了查询参数并尝试从同一个控制器进行 AJAX POST,但 AJAX POST 返回错误,因为显然 Stripe 的 API 不再支持 CORS -despite a 2-year-old Stripe blog entry saying otherwise

XMLHttpRequest 无法加载 https://connect.stripe.com/oauth/token。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin。

当前的 Stripe 文档说要使用 JSONP,在同一篇博文中指出 “由于 JSONP 仅支持 GET 请求,但我们的 API 使用多种请求方法,我们必须使用_method 查询参数。”

很遗憾,我不知道如何将 JSONP 方法集成到 Ember.js 应用程序中。

Stripe 的文档指导我“将此脚本标签添加到您的页面以开始使用 Stripe.js。”

<script type="text/javascript" src="https://js.stripe.com/v2/"></script>

我是否只是将这个逐字粘贴到 Handlebars.js 模板中?那么如何使用查询参数发出所需的 POST 请求?在哪里?

底线:如何集成 Stripe 的 JSON 方法以在我的 Ember.js 应用程序中启用 Stripe Connect?

【问题讨论】:

    标签: javascript ajax ember.js jsonp stripe-payments


    【解决方案1】:

    你可以在服务器端做这一切,不需要在 Ember 中工作。

    工作流程是您使用您的客户端 ID 将用户重定向到条带服务器。它使用代码将用户重定向回服务器上的端点。您使用该代码调用条带化以获取令牌。之后(或期间,如果您想保持冷静和异步),您将用户重定向回适当的 ember 端点。这部分根本不需要 Stripe js 文件。

    https://stripe.com/docs/connect/oauth#token-request

    【讨论】:

      【解决方案2】:

      我没有用条纹测试它,但我会将你的问题分成 3 个部分,并尝试回答每个部分。

      1) 脚本标签放在哪里?
      脚本标签将放在标题中

      <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
      

      2) 如何发出 JSONP 请求?
      您将使用$.getJSON 发出定期请求,您需要做的就是确保包含?callback=?,请参阅:http://api.jquery.com/jquery.getjson/#jsonp

      3) 如何使用 _method 执行 GET 请求来覆盖该方法。
      你会做类似的事情

      $.getJSON('http://connect.stripe.com/whatever-the-correct-url-is?callback=?', {
        _method: 'POST'
      })
      

      如果您发出这样的请求,服务器应将其作为 POST 处理


      要将所有这些结合在一起,您应该需要执行第 3 步中的操作,但还需要添加条带所需的其余参数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 2014-08-04
        • 1970-01-01
        • 2021-10-12
        • 2017-11-22
        • 2018-03-19
        • 1970-01-01
        相关资源
        最近更新 更多