我使用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页面上。
请帮忙。
答案 0 :(得分:1)
您使用的是哪个版本的API?我知道SHIPPINGAMT可以使用60或更早版本,但后来的版本改变了定义
这是API reference for SetExpressCheckout(这是我认为你所称的)。他们将SHIPPINGAMT列为折旧,而是选择PAYMENTREQUEST_n_SHIPPINGAMT(即PAYMENTREQUEST_0_SHIPPINGAMT)。因此,您可以将API版本调用回滚到60或更改为此新字段。