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 中) 与 token
和 payerID
),其中 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
Ruby on Rails - 来自 Paypal 的参数:utf-8 中的无效字节序列
PayPal Express Checkout 与多件商品在 Rails 中的活跃商家