Rails:Localhost 中的 PayPal Express Checkout 集成

Posted

技术标签:

【中文标题】Rails:Localhost 中的 PayPal Express Checkout 集成【英文标题】:Rails: PayPal Express Checkout Integration in Localhost 【发布时间】:2013-06-05 17:23:10 【问题描述】:

我不知道,从哪里开始。我在我的本地主机服务器的 RoR 应用程序中集成了 PayPal Express Checkout。

是的,我正在使用一个 gem,merchant-sdk-ruby。

在此集成中,我尝试遵循以下工作流程:

    set_express_checkout get_express_checkout do_express_checkout

set_express_checkout 中,我能够成功生成token,并且能够使用我生成的令牌重定向到https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=EC-93W211694E768010D。

在生成token 的方法中,我的意思是在set_express_checkout 中,我必须提供3 个URL。

    返回网址 NotifyUrl 取消网址

不是 ReturnUrl(我的应用程序的 URL (在 localhost 中)tokenpayerID),其中 PayPal 在生成结帐详细信息后重定向?

我的问题是: PayPal 是否在我的本地服务器上托管的应用程序的特定 URL 中重定向?

请帮助将 PayPal Express Checkout 集成到我的本地主机中。

【问题讨论】:

我在这里得到了答案:railscasts.com/episodes/142-paypal-notifications?view=comments 【参考方案1】:

您可以在ReturnURL 字段中配置您的本地应用网址(例如:http://localhost:3000/return)。

试用现场示例:https://paypal-sdk-samples.herokuapp.com/merchant/set_express_checkout

【讨论】:

谢谢,西迪克。是的,我正在借助该文档进行集成。但是 PayPal 如何能够访问我的本地主机中的 URL?我认为这是不可能的。 这只是发送到您的浏览器的重定向,所以只要您的浏览器可以与 localhost 通信,返回 URL 就可以从他们的沙箱中正常工作。 这不适用于 IPN 地址,因为这是从 PayPal 的服务器请求的【参考方案2】:

我建议您首先浏览以下 Railscast 剧集 (http://railscasts.com/episodes?search=paypal) 以了解有关 Paypal 的信息。

【讨论】:

谢谢@Aditya。是的,我已经检查了这些。并得到答案,无法在 localhost 上检查它,但我们可以模拟这个。或者通过静态 IP 和转发端口使 localhost 生效。 railscasts.com/episodes/142-paypal-notifications?view=comments【参考方案3】:

实际上,我从那个discussion得到了我的问题的答案。

使用动态 dns 将我的 localhost 指向公共域名,我们可以对其进行测试。 另一种解决方案是使用localtunnel。这真是一项很酷的服务。

【讨论】:

以上是关于Rails:Localhost 中的 PayPal Express Checkout 集成的主要内容,如果未能解决你的问题,请参考以下文章

金额无效 paypal_adaptive gem rails

Rails3 中的 Paypal Express 结帐

Ruby on Rails - 来自 Paypal 的参数:utf-8 中的无效字节序列

PayPal Express Checkout 与多件商品在 Rails 中的活跃商家

触发 rails 控制器功能 - Paypal 网站标准 IPN

Rails PayPal 自适应