无法理解PayPal付款响应错误或至少警告。我是澳大利亚开发商(至少我位于澳大利亚并使用澳元作为货币)。
您能否告诉我为什么如果沙箱用户资金不足,交易对付款请求有积极(有效)的回复?
所以我有买家的user_A和seller_user。 user_A有0AUD并进行20AUD的定期付款交易,响应成功???为什么呢?
有什么方法可以了解用户没有足够的资金进行交易?
gem: paypal-recurring
rails: 3.2.14
location: Australia
======重定向到结帐网址的控制器操作
ppl = PayPal::Recurring.new(
return_url: paypal_confirm_url(:plan_id => params[:plan_id], :user_id => current_user.id),
cancel_url: paypal_no_checkout_url,
description: "Starter",
amount: 15,
currency: "AUD"
)
response = ppl.checkout
if response.valid?
redirect_to response.checkout_url
else
redirect_to :back
end
====确认后的控制器操作
ppr = PayPal::Recurring.new(
token: params[:token],
payer_id: params[:PayerID],
description: plan.name,
amount: plan.value,
currency: "AUD",
period: :monthly,
start_at: Time.zone.now,
frequency: 1
)
response = ppr.request_payment
if response.errors.any?
flash.keep[:error] = "Something went wrong please contact paypal or ask our development team: team.grapple1@gmail.com"
return false
end
response = ppr.create_recurring_profile
paypal_recurring_profile_token = response.profile_id # response.profile_id = nil????
save!
答案 0 :(得分:1)
所有PayPal沙盒帐户都有一个附有无限资金的虚拟银行帐户。因此,当PayPal账户有0美元时,它只是从那个“银行”中拉出来。如果发生资金不足错误,您需要以某种方式打开负面测试,但我认为这会产生基于触发器AMT变量的错误。对于经典API,我建议您只需让代码查找包含Success的ACK响应并将其余部分视为异常(可能会将RESPMSG打印为客户通知,但有时您会希望将其替换为您自己的错误消息)< / p>