当我尝试以实用方式向购物车添加折扣时我遇到了一个问题我能够做到但是然后用户尝试填写creditcard然后paypal显示错误:
PayPal错误10413(" PayPal网关已拒绝请求。购物车项目金额的总数与订单金额不匹配(#10413:由于参数无效而导致交易被拒绝。有关详细信息,请参阅其他错误消息&#34 ;)
如果有人知道,请告诉我。
答案 0 :(得分:3)
如果您通过自定义模块添加折扣,则必须添加paypal的活动。因此,在您的模块 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>
现在你必须在模块中创建一个观察者类,然后在其中创建一个新函数 updatePaypalTotal
在 observer.php
中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;
}
如果您有任何疑问,请与我们联系。
答案 1 :(得分:0)
请检查您的代码是否可以在$ address-&gt;中添加额外的内容节
否则一切正常。或者请粘贴您的代码