es que usando magento 1.9.0.1 se ha integrado la caja express paypal, además de esto tienes el plugin pro puntos de recompensa como puntos de recompensa para comprar algunos productos que cuando se convirtió en la integración y comprar productos sin usar puntos de recompesa, pago por paypal nigun se puede hacer sin problemas, pero cuando los clientes usan puntos de recompensa, un error al confirmar el pedido, que es
La puerta de enlace de PayPal rechazó la solicitud. Los totales del artículo del carrito Montos Los montos no coinciden con el pedido (# 10413: Transacción rechazada debido a un argumento no válido Ver mensajes de error adicionales para más detalles).
Buscando en la red para tratar de corregir este error, sugiero que pueda modificar el archivo Nav.php paypal agregando cualquiera de los dos códigos que pongo a continuación:
primer código
// Hack Start
$totalValue = $request['TAXAMT'] + $request['ITEMAMT'];
$finalValue = $totalValue - $request['AMT'];
if($request['SHIPPINGAMT'] > 0) {
$request['SHIPPINGAMT'] = ($request['AMT'] - ($request['TAXAMT'] + $request['ITEMAMT']));
$totalValue = $request['TAXAMT'] + $request['ITEMAMT'] + $request['SHIPPINGAMT'];
$finalValue = $totalValue - $request['AMT'];
}
if($request['AMT'] != $totalValue) {
if($totalValue > $request['AMT']) {
$request['TAXAMT'] = $request['TAXAMT'] - $finalValue;
}elseif($totalValue < $request['AMT']) {
$request['TAXAMT'] = $request['TAXAMT'] + $finalValue;
}else{
$request['AMT'] = $request['TAXAMT'] + $request['ITEMAMT'];
}
}
// Hack End
segundo código
// Check discount
$lineAmt = 0;
$discount = 0;
$line = 0;
$discountIndex = 0;
while(isset($request["L_AMT{$line}"])) {
if($request["L_NAME{$line}"] == 'Discount') {
$discount += $request["L_AMT{$line}"];
$discountIndex = $line;
}
else {
$lineAmt += $request["L_AMT{$line}"];
}
$line++;
}
if($discount) {
if($discount + $lineAmt != $request['ITEMAMT']) {
// Do correction
$request["L_AMT{$discountIndex}"] = ($request['ITEMAMT'] - $lineAmt);
}
} else {
// Check item amount adds up
$correctItemAmt = $request['AMT'] - $request['SHIPPINGAMT'] - $request['TAXAMT'];
if($correctItemAmt != $request['ITEMAMT']) {
$request['ITEMAMT'] = $correctItemAmt;
}
//final
Agregar cualquiera de los códigos, si está permitido y realizar el pago de esos puntos de descuento, pero el problema es que cuando ve el pago de PayPal, está cobrando el monto del descuento en lugar del monto total, el tiempo que los clientes de PayPal inician sesión y pasan por el caja express, todos los montos son correctos y desglozadas al final el monto total del pago está bien, regrese a la tienda y confirme el pedido, que se realiza con éxito, pero cuando el pago de paypal en el monto del descuento es lo que recibimos, ejemplifica a acláralo
Costo del producto> 340 puntos usuados por cliente> 125 equivalentes a 20.54 Total de compra en tienda y paypal en caja expres> 319.46 Cantidad recibda para ver la cuenta en paypal> 20.54
Aparte de esto, cuando se realiza la compra de puntos de recompensa no utilizados, aparece un error que indica que el monto de la transacción es válido porque es Cero.
Me ha intrigado ver cuáles son los códigos de error para modificarlo, pero no puedo hacerlo, no si alguien sabe que tengo que hacerlo o puedo ayudarlo.