我正在使用PayPal Express Checkout作为非注册用户的付款选项。因此,在使用快速结帐时需要扣除默认的运费。这是发布到PayPal的数组:
Array
(
[CURRENCYCODE] => USD
[L_NAME0] => The Matrix
[L_AMT0] => 30.00
[L_NUMBER0] => 6
[L_QTY0] => 1
[L_TAXAMT0] => 0.00
[L_NAME1] => Blade Runner - Director's Cut
[L_AMT1] => 30.00
[L_NUMBER1] => 5
[L_QTY1] => 1
[L_TAXAMT1] => 0.00
[L_NAME2] => Unreal Tournament
[L_AMT2] => 89.99
[L_NUMBER2] => 22{5}10
[L_QTY2] => 1
[L_TAXAMT2] => 0.00
[L_NAME3] => Microsoft IntelliMouse Explorer
[L_AMT3] => 64.95
[L_NUMBER3] => 26{3}8
[L_QTY3] => 1
[L_TAXAMT3] => 0.00
[ITEMAMT] => 214.94
[TAXAMT] => 0
[ADDROVERRIDE] => 1
[SHIPTONAME] => MARY ROE
[SHIPTOSTREET] => SUITE 5A-1204, 799 E DRAGRAM
[SHIPTOCITY] => Tucson
[SHIPTOSTATE] => AZ
[SHIPTOCOUNTRYCODE] => US
[SHIPTOZIP] => 85705
[L_SHIPPINGOPTIONNAME0] => Flat Rate (Best Way)
[L_SHIPINGPOPTIONLABEL0] => Flat Rate (Best Way)
[L_SHIPPINGOPTIONAMOUNT0] => 5.00
[L_SHIPPINGOPTIONISDEFAULT0] => true
[CALLBACK] => http://example.com/test/ext/modules/payment/paypal/express.php?osC_Action=callbackSet
[CALLBACKTIMEOUT] => 5
[INSURANCEOPTIONSOFFERED] => false
[SHIPPINGAMT] => 5.00
[AMT] => 219.94
[MAXAMT] => 324.94
)
运费已过帐到PayPal(
[SHIPPINGAMT] => 5.00
),但未显示在Paypal页面上。请帮忙。
最佳答案
您正在使用哪个版本的API?我知道SHIPPINGAMT可以在60或更早的版本上运行,但后来的版本改变了定义
这是API reference for SetExpressCheckout(这是我想您所说的)。他们将SHIPPINGAMT列为已贬值资产,而是使用PAYMENTREQUEST_n_SHIPPINGAMT代替(即PAYMENTREQUEST_0_SHIPPINGAMT)。因此,您可以将API版本调用回滚到60,也可以更改为这个新字段。