我正在使用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,也可以更改为这个新字段。

09-11 20:47