PayPal Pro:«OrderTotal(Amt):必填参数缺失»
虽然该字段确实有值,但我在DoDirectPayment代码的响应中得到了«[L_LONGMESSAGE0] => OrderTotal(Amt):必需参数缺失»。PayPal Pro:«OrderTotal(Amt):必填参数缺失»
PayPal的这一功能非常完美,但使用与PayPal Sandbox完全相同的代码很有效。这里是我的PayPal类:
这是我的DoDirectPayment代码:
代码看起来不错,假设$_SESSION['total_price']
设置。但是,一些东西肯定会阻止AMT价值到达PayPal。你可以做一个原始的$ request和$ response字符串的背对背打印输出,而不是阵列吗?第21行和第34行。
你想看到print_f($ request)和print_f($ response)的输出吗?我不知道该怎么做,因为这个错误只发生在真实的PayPal上,所以我不得不做出真正的付款。然而,这可能是错误不会系统地发生,我的付款已成功处理。你建议我做什么? – drake035 2013-03-02 19:47:07
使用虚假信用卡号码[getcreditcardnumbers.com](http://www.getcreditcardnumbers.com)或沙箱中的买方帐户中的“查看详情”进行“真实”非沙盒支付。您可能会下降,当然,但这会显示AMT传递正确... – 2013-03-02 20:10:10
谢谢。我用'3'替换$ _SESSION ['total_price']并使用你的方法,我发现AMT正确传递(AMT = 3&ITEMAMT = 3在$ request中,[AMT] => 3.00在$ response中)。这表明$ _SESSION ['total_price']存在问题。但是如果是这样的话,付款应该同样失败,PayPal Sandbox不是吗?然而,他们与沙盒一起工作。 – drake035 2013-03-02 22:16:57
您可以包含$ request的结果吗? – Robert 2013-03-02 12:21:35
这是:Array [[TIMESTAMP] => 2013-03-02T00:12:38Z [CORRELATIONID] => 34588b295e39a [ACK] =>失败[VERSION] => 94.0 [BUILD] => 5294323 [L_ERRORCODE0] => 81100 [L_SHORTMESSAGE0] =>缺少参数[L_LONGMESSAGE0] => OrderTotal(Amt):缺少必需的参数[L_SEVERITYCODE0] =>错误) – drake035 2013-03-02 16:10:56
这就是响应,我们需要原始请求。 – Robert 2013-03-02 22:24:22