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
Réponses:
Problème
Le problème est assez clair d'après le message: le total des montants des articles et le montant total du panier qui sont envoyés à Paypal ne correspondent pas.
Comme vous l'avez compris, cela semble être un problème avec cette extension de points (ou un manque total de support pour Paypal Express).
Solution préférée
La première chose que je recommande est de vérifier que vous utilisez la dernière version de l'extension Reward Points Pro, car ils ont peut-être déjà ajouté la prise en charge de Paypal Express ou résolu le problème que vous rencontrez. Sinon, contactez leur support et essayez d'obtenir de leur aide.
Solution personnalisée
REMARQUE: veuillez ne jamais modifier un fichier Magento de base. S'il n'y a pas d'alternative (en utilisant un observateur, etc.) copiez le fichier dans le pool de code local et écrasez-le.
Vous devriez jeter un œil au fichier app / code / core / Mage / Paypal / Model / Cart.php ligne # 318 . Comme vous pouvez le voir, Magento y envoie un événement que vous pouvez utiliser pour essayer de résoudre ce problème.
En observant cet événement, vous pourrez accéder à l' objet Mage_Paypal_Model_Cart réel qui contient les articles et les totaux du panier qui seront envoyés à Paypal.
Je suis désolé, mais ne sachant pas comment l'extension Reward Points Pro fonctionne en interne, je ne peux pas vous donner de conseils précis avec le code et tout. Fondamentalement, vous devez essayer de comprendre ce qui se passe dans les méthodes _render () & _validate () dans app / code / core / Mage / Paypal / Model / Cart.php et vous assurer que la remise de l'utilisation de points est correctement appliquée.
De plus, je ne pouvais pas comprendre exactement la dernière partie après le code, mais faites-moi savoir si vous avez des questions.
la source
Le problème n'est pas dans le code, mais c'est un problème de configuration. Assurez-vous simplement que votre taxe est appliquée au sous-total au lieu du grand total.Vérifiez la capture d'écran ci-jointe. Assurez-vous que vos "Articles de ligne de panier de transfert" sont définis sur OUI et les "Options de transfert de transfert" sur OUI.
la source
Nous avons eu les mêmes erreurs paypal et nous avons découvert que lorsqu'un article est "hors taxes", le problème a disparu. Nous avons donc désactivé un plugin de paiement partiel qui a recalculé certains totaux. Donc, cela a aidé dans notre cas.
la source