est-ce en utilisant magento 1.9.0.1 a intégré la boîte expres paypal, en plus de cela vous avez le plugin pro des points de récompenses comme points de récompense pour acheter des produits qui, quand il est devenu l'intégration et acheter des produits sans utiliser des points de recompesa, paiement par paypal nigun peut être fait sans problème, mais lorsque les clients utilisent des points de récompense, une erreur lors de la confirmation de la commande, qui est
La passerelle de PayPal a rejeté la demande. Les totaux de l'article du panier Montants Les montants ne correspondent pas à la commande (# 10413: Transaction refusée en raison d'un argument non valide Voir les messages d'erreur supplémentaires pour plus de détails.)
En cherchant sur le net pour essayer de corriger cette erreur, je vous suggère de modifier le fichier Nav.php paypal en ajoutant deux codes que je mets ci-dessous:
premier code
// 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
deuxième code
// 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;
}
//fin
L'ajout de l'un ou l'autre code, s'il est autorisé et effectue le paiement pour ces points de remise, mais le problème est que lorsque vous voyez le paiement paypal, le montant de la remise est facturé plutôt que le montant total, le temps que les clients paypal se connectent et passent par le expres box, tous les montants sont corrects et desglozadas à la fin le montant total du paiement est bien, retournez au magasin et confirmez la commande, qui est effectuée avec succès, mais lorsque le paiement paypal du montant de la remise est ce que nous recevons, il illustre à préciser
Coût du produit> 340 points usuados par client> 125 équivalent à 20,54 Achat total en magasin et expres en boîte paypal> 319,46 Quantité recibda pour voir le compte sur paypal> 20,54
En dehors de cela, lors de l'achat de points de récompense inutilisés, une erreur indiquant que le montant de la transaction est valide car il est nul apparaît.
Je suis perplexe pour voir quels sont les codes d'erreur pour le modifier, mais je ne peux pas le faire, pas si quelqu'un sait que je dois le faire ou peut aider