尝试使用 ActiveMerchant 设置 Paypal 定期付款时“令牌无效”

Posted

技术标签:

【中文标题】尝试使用 ActiveMerchant 设置 Paypal 定期付款时“令牌无效”【英文标题】:"The token is invalid" when trying to setup Paypal recurring payments with ActiveMerchant 【发布时间】:2014-05-02 10:47:07 【问题描述】:

我觉得很多关于这方面的文档都已经过时了,但这是我迄今为止一直在尝试的:

我正在使用ActiveMerchant::Billing::PaypalExpressGateway 网关。

首先我设置购买并将用户重定向到 Paypal:

response = gateway.setup_purchase price,
  return_url: <confirm url>,
  cancel_return_url: <cancel url>,
  items: [
    
      name: 'My Item',
      quantity: 1,
      description: "My Item Description",
      amount: price
    
  ]
redirect_to gateway.redirect_url_for(response.token)

这行得通,我可以作为沙盒买家登录并确认付款,这让我从上面回到&lt;confirm url&gt;。在确认中,我这样做:

response = gateway.recurring price, nil,
  token: params[:token],
  period: 'Year',
  frequency: 1,
  start_date: Time.now,
  description: 'My Item Subscription'

执行此操作时,我在 response 变量中收到来自 Paypal 的无效令牌错误。令牌似乎很好,当我返回确认 URL 时,它出现在 URL 中。然后我直接把它(params[:token])发回Paypal。

我做错了什么吗?就像我说的那样,这种类型的流程的很多文档似乎已经过时了(或者我正在尝试的是过时的东西......)

【问题讨论】:

我们没有设置定期付款,但我们有 Paypal express gateway 为 ActiveMerchant 在firststopcosmeticshop.co.uk(开发应用程序)工作 -> 你要我粘贴代码吗?跨度> @RichPeck:我正在尝试快速结帐,但我遇到了this 问题。你能帮忙吗 【参考方案1】:

在查看了 ActiveMerchant 的 Paypal express checkout gateway 的源代码后,我得出的结论是,在处理定期付款时它已经过时了。我改用paypal-recurring gem,一切正常。

【讨论】:

以上是关于尝试使用 ActiveMerchant 设置 Paypal 定期付款时“令牌无效”的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMerchant 规范无法连接到 API,而开发模式使用相同的凭据工作正常

ActiveMerchant 获取 Braintree ClientToken

Paypal Express Checkout:可以使用 ActiveMerchant 设置收件人吗?

Paypal、定期计费和 ActiveMerchant

ActiveMerchant:买家账户余额不会减少

使用 ActiveMerchant 退款(Paypal checkout Express)