[英]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
使用自适应支付平台,您必须分两部分来考虑:
当事务未完成时,API调用很可能会成功,这似乎就是您在此处遇到的问题,因此我认为您所做的是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.