ruby-on-rails - Rails 上的 Paypal 自适应支付给出错误的成功

标签 ruby-on-rails ruby paypal paypal-adaptive-payments

我用的是官方Paypal Ruby adaptive payments gem结合embedded payment flow在我的网站上收取一次性付款。

付款本身工作正常,但在我的回调中我想检查付款是否成功。当我使用建议的代码查询付款时 here ,即使我取消付款也是成功的。

require 'paypal-sdk-adaptivepayments'
@api = PayPal::SDK::AdaptivePayments::API.new

# Build request object
@payment_details = @api.build_payment_details({
  :payKey => "AP-xxxxxxxxxxxxxxxx" })

# Make API call & get response
@payment_details_response = @api.payment_details(@payment_details)

# Access Response
if @payment_details_response.success?
  # Comes in here every time as @payment_details_response.success? always = true
else 
  @payment_details_response.error
end

如何检查付款是否已取消? (取消付款是指点击弹出窗口中的 X)

更新: 我现在找到了解决方法,但奇怪的是如何成功?总是正确的

if @payment_details_response.paymentInfoList.paymentInfo[0].transactionStatus 
    && @payment_details_response.paymentInfoList.paymentInfo[0].transactionStatus == "COMPLETED"
    #success
else
    #fail
end 

最佳答案

使用自适应支付平台,您必须分两部分考虑事情:

  1. API调用
  2. 交易

API 调用很可能在事务未完成时成功,这似乎就是您在这里遇到的情况,所以我认为您所做的是正确的。

关于ruby-on-rails - Rails 上的 Paypal 自适应支付给出错误的成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23897600/

相关文章:

ruby-on-rails - IIS上的Ruby on Rails?

ruby - 如何在 Padrino 应用程序中安装 Sinatra 应用程序?

ruby - Git bash chcp windows7编码问题

php - 带有送货和账单地址的 Paypal 表格变量

ruby-on-rails - Rails、Heroku 和 UTF-8 错误中的无效字节序列

jquery - Rails 3 - link_to 使用 jquery ajax 调用部分

ruby-on-rails - 在 Rails 控制台中定义一个类(实例)方法

arrays - 如何在 ruby​​ 中分割单行输入并将其存储为不同的变量和不同的数据类型(即整数/字符串/数组)

php - 为什么在响应成功时不通过 Paypal MassApi 转账

php - Paypal 不允许我登录