2014-05-19 35 views
0

我面临的一个问题,当我尝试折扣添加到购物车务实的,我能够做到这一点,但随后用户尝试填写的信用卡,然后贝宝显示错误:Magento的加入折扣务实显示错误在PayPal支付

贝宝错误10413(“PayPal网关已拒绝请求,购物车项目金额的总数与订单金额不匹配(#10413:交易因为参数无效而被拒绝,详情请参阅其他错误消息”)

请让我知道任何人都知道

+0

您是否为此创建了自定义模块? –

回答

3

如果你通过自定义模块添加折扣,那么你必须添加支付朋友的事件。所以在你的模块的Config.xml添加新的事件paypal_prepare_line_items

,如: -

<events> 
     <paypal_prepare_line_items> 
      <observers> 
       <paypal_prepare_line_items> 
        <class>Your_Module_Name/observer</class> 
        <method>updatePaypalTotal</method> 
       </paypal_prepare_line_items> 
      </observers> 
     </paypal_prepare_line_items> 
</events> 

现在,你有你的模块中在

observer.php

创建一个观察者类,然后创建一个新的功能 updatePaypalTotal
public function updatePaypalTotal(Varien_Event_Observer $observer) 
{ 
    $cart = $observer->getEvent()->getPaypalCart(); 
    $new_amount = '10'; // This is your Discount amount. 
    $cart->updateTotal(Mage_Paypal_Model_Cart::TOTAL_DISCOUNT, $new_amount); 

    return $this; 
} 

让我知道你是否有任何疑问。

+0

我使用快速结账时,我在$ new_discount中添加折扣,显示总计与购物车中的商品不符。它的paypal错误。 –

+0

@SandeepSingh:您需要定义贝宝事件,因为我在这个答案中显示....让我知道,如果您有任何疑问 –

+0

嗨感谢您的答复。首先,我正在以编程方式在报价中添加折扣(其折扣类似折扣 - 如果用户使用优惠券我在报价中添加更多折扣,然后折扣变成优惠券+以编程方式折扣)其折扣如折扣那么用户可以在报价和填充后看到折扣在结帐用户的所有信息可以看到折扣审查,但一旦用户点击的地方订单贝宝收到订单,但订单没有新的折扣旧折扣与优惠券代码工作,但新的折扣不......我面临巨大的问题 –

0

请检查你的代码是这可能要添加在$地址 - 额外的东西>部分

否则一切工作正常。或者请粘贴您的代码

+0

谢谢我得到了我在地址中添加自定义折扣字段。非常感谢 – user3627307