我看到所有答案已经出现,目的是他们没有回应我的问题。我花了好几天才真的不明白。
我使用NVP方法,我尝试了一个非常简单的测试SetExpressCheckout配置,如下所示:
$param = array('METHOD'=>'SetExpressCheckout'
, 'VERSION' =>74.0
, 'USER' => $user
, 'SIGNATURE' => $signature
, 'PWD' => $password
, 'RETURNURL' => 'http://localhost/paypaltest/index.html'
, 'CANCELURL' => 'http://localhost/paypaltest/cancel.html'
, 'PAYMENTREQUEST_0_AMT' => 83.00
, 'PAYMENTREQUEST_0_CURRENCYCODE' => 'EUR'
, 'PAYMENTREQUEST_0_SHIPPINGAMT' => 10.00
, 'PAYMENTREQUEST_0_ITEAMT' => 73.00
);
通常 AMT = ITEAMT + SHIPPINGAMT ?? 我尝试使用1或2个小数,但我有相同的“失败”错误。 奇怪的是,如果我删除了SHIPPING AMT ,它就会起作用,我的总数等于沙箱上的83.
感谢您的帮助!
答案 0 :(得分:0)
SHIPPINGAMT字段已弃用,因为版本63使用PAYMENTREQUEST_ n_SHIPPINGAMT代替。见https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/
答案 1 :(得分:0)
我发现了自己的错误。我忘记了一个" M" for" PAYMENTREQUEST_0 ITE M AMT"。我把" ITEAMT"虽然需要ITE M AMT。 Paypal答案是不妥协的。它应该有一个错误" XXXXX_ITEAMT"不存在或类似的东西。我希望这对你们中的一些人有所帮助。