【发布时间】:2021-01-20 04:11:20
【问题描述】:
我正在使用 paypal express checkout API,但在设置数量时遇到了问题。以下是我的 URI 参数:
$params = array(
'METHOD' => 'SetExpressCheckout',
'PAYMENTREQUEST_0_SHIPPINGAMT' => '0',
'PAYMENTREQUEST_0_TAXAMT' => '0',
'PAYMENTREQUEST_0_HANDLINGAMT' => '0',
'PAYMENTREQUEST_0_AMT' => "50.00",
'RETURNURL' => $this->_returnUri,
'CANCELURL' => $this->_cancelUri,
'HDRIMG' => $this->_logoUri,
'PAYMENTREQUEST_0_CURRENCYCODE' => 'GBP',
'L_PAYMENTREQUEST_0_DESC0' => 'Product description',
'L_PAYMENTREQUEST_0_NAME0' => 'Product name',
'L_PAYMENTREQUEST_0_AMT0' => "50.00",
'L_PAYMENTREQUEST_0_QTY0' => "2"
);
如果 L_PAYMENTREQUEST_0_QTY0 设置为 1,则流程正常。但是,将其更改为 2 并将 'PAYMENTREQUEST_0_ITEMAMT' => "100.00" 添加到数组中会给我以下错误:
TIMESTAMP: 2012-04-17T12:11:16Z
CORRELATIONID: da43f6c91254
ACK: Failure
VERSION: 88.0
BUILD: 2808426
L_ERRORCODE0: 10413
L_SHORTMESSAGE0: Transaction refused because of an invalid argument. See additional error messages for details.
L_LONGMESSAGE0: The totals of the cart item amounts do not match order amounts.
L_SEVERITYCODE0: Error
我已经尝试了几个小时来修复它并放弃了。有人可以强调我需要做些什么才能让它工作吗?
【问题讨论】:
-
您是否尝试过在
'PAYMENTREQUEST_0_AMT' => "100.00"时制作L_PAYMENTREQUEST_0_QTY0 = 2和'L_PAYMENTREQUEST_0_AMT0' => "100.00"?也许贝宝不计算 2x50.00,而只是寻找每行的总计。我只是在这里做假设。 -
唉,那没用。
-
我不知道它是否有帮助,但也许你所有的美元值都应该正确格式化为 '0.00'
标签: php paypal express-checkout