繁体   English   中英

Paypal在Rails上的自适应支付会带来错误的成功

[英]Paypal Adaptive payments on Rails giving false Success

我正在使用官方的Paypal Ruby自适应支付宝嵌入式支付流程来在我的网站上收集一次付款。

付款本身运行正常,但是在我的回叫中,我希望检查付款是否成功。 当我使用此处建议的代码查询付款时,即使取消付款也成功。

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. 交易(S)

当事务未完成时,API调用很可能会成功,这似乎就是您在此处遇到的问题,因此我认为您所做的是正确的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM