Problemas al recibir pagos con magento

grupoiimotion
Nuevo miembro de la comunidad

Lo coloco aqui ya que no encuentro donde mas ponerlo, ya marque a atencion a clientes en soporte tecnico y me pasaron como con 5 personas distintas y explique el mismo numero de veces la problematica y no puedieron ayudar, me pidieron al final que el cliente llamara cuando no es necesario, espero que por aqui pueda tener ayuda

Se esta usuando magento 1.9.0.1 se tiene integrada la caja expres de paypal, adicional a esto se tiene el plugin rewards points pro como puntos de recompensa por comprar algunos productosen la cual cuando se hizo la integracion y cuando compran productos sin usar puntos de recompesa, el pago mediante paypal se puede hacer sin nigun problema, pero cuando los clientes hacen uso de los puntos de recompenza, aparece un error al momento de confirmar el pedido, el cual es

  • La puerta de enlace de PayPal ha rechazado la solicitud. The totals of the cart item amounts do not match order amounts (#10413: Transaction refused because of an invalid argument. See additional error messages for details)


Buscando por la red para tratar de arreglar este error, me indican que se puede modificar el archivo Nav.php de paypal agregando cualquiera de dos codigos los cuales pongo a continuacion:

Primer codigo

//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 codigo

// 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;
}


Agregando cualquiera de los dos codigos, si permite ya hacer el pago con ese descuento de puntos, pero el problema es que al momento de ver el pago en paypal, esta cobrando el monto de descuento en vez de la cantidad total, Al momento que los clientes inician sesion en paypal y pasan por la caja expres, todas las cantidades estan correctas y desglozadas, al final el monto total de pago esta bien, regresan a la tienda y confirman el pedido, el cual se hace de forma exitosa, pero al ver el pago en paypal el monto de descuento es lo que recibimos, lo ejemplifico para que quede claro

Costo de producto > 340
Puntos usuados por cliente > 125 que equivale a 20.54 pesos
Total de la compra en tienda y paypal en caja expres> 319.46
Cantidad recibda al ver la cuenta en paypal > 20.54

Aparte de esto, cuando en la compra se hace el pago sin usar puntos de recompensa, aparece un error indicando que el monto de la transaccion es valida porque es Cero.

Login to Me Too
1 RESPUESTA 1

AlbertMc
Colaborador
Colaborador

Amigo, este no es un problema de PayPal, es un problema del plugin de los puntos, deberías contactarlos a ellos para que lo hagan funcionar correctamente con PayPal. 

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.