Magento 1.9.0.1 Errore Paypal I totali degli importi degli articoli nel carrello non corrispondono agli importi degli ordini (# 10413:


9

questo usando magento 1.9.0.1 ha integrato la casella expres paypal, oltre a questo hai il plugin pro punti punti come punti premio per acquistare alcuni prodotti che quando è diventata l'integrazione e l'acquisto di prodotti senza usare punti di ricompensa, pagamento tramite paypal nigun può essere fatto senza problemi, ma quando i clienti utilizzano i punti premio, un errore durante la conferma dell'ordine, che è

Il gateway di PayPal ha respinto la richiesta. I totali dell'articolo carrello Importi Importi non corrispondono all'ordine (# 10413: Transazione rifiutata a causa di un argomento non valido Per ulteriori dettagli, vedere i messaggi di errore aggiuntivi).

Cercando in rete per provare a correggere questo errore, ti suggerisco di modificare il file Nav.php paypal aggiungendo due codici che ho inserito di seguito:

primo codice

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

secondo codice

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

//fine

Aggiungendo uno dei due codici, se consentito ed effettuando il pagamento per quei punti di sconto, ma il problema è che quando vedi il pagamento paypal, addebita l'importo dello sconto anziché l'importo totale, il tempo in cui i clienti paypal accedono e passano attraverso il expres box, tutti gli importi sono corretti e desglozadas alla fine l'importo totale del pagamento va bene, torna al negozio e conferma l'ordine, che viene effettuato con successo, ma quando il pagamento paypal nell'importo dello sconto è quello che riceviamo, si esemplifica a chiariscilo

Costo del prodotto> 340 punti usuados per cliente> 125 equivalenti a 20.54 Totale acquisti in negozio e paypal confezionati expres> 319.46 Quantità ricambiata per vedere l'account su paypal> 20.54

A parte questo, quando si acquistano punti premio inutilizzati per il pagamento, viene visualizzato un errore che indica che l'importo della transazione è valido perché appare Zero.

Sono perplesso nel vedere quali sono i codici di errore per modificarlo, ma non posso farlo, non se qualcuno sa che devo fare o può aiutare


Dove si trova Nav.php?
Giuseppe

Il tuo problema è stato risolto o no?
Gemma,

Risposte:


7

Problema

Il problema è abbastanza chiaro dal messaggio: il totale degli importi degli articoli e l'importo totale del carrello inviati a Paypal non corrispondono.
Come hai capito, questo sembra essere un problema con l'estensione dei punti (o la completa mancanza di supporto per Paypal Express).

Soluzione preferita

La prima cosa che raccomando è di verificare che tu usi l'ultima versione dell'estensione Reward Points Pro, poiché potrebbero aver già aggiunto il supporto per Paypal Express o risolto il problema che stai riscontrando. In caso contrario, contatta il loro supporto e cerca di ottenere aiuto da loro.

Soluzione personalizzata

NOTA: non modificare mai un file Magento di base. Se non ci sono alternative (usando un osservatore, ecc.) Copia il file nel pool di codici locali e sovrascrivi lì.

Dovresti dare un'occhiata al file app / code / core / Mage / Paypal / Model / Cart.php linea # 318 . Come puoi vedere, Magento invia un evento lì che puoi usare per provare a risolvere questo problema.
Osservando quell'evento sarai in grado di accedere all'oggetto Mage_Paypal_Model_Cart effettivo che contiene gli articoli e i totali del carrello che verrà inviato a Paypal.

Mi dispiace, ma non sapendo come l'estensione Reward Points Pro funzioni internamente, non posso darti una guida esatta con il codice e tutto il resto. Fondamentalmente, dovresti provare a capire cosa succede nei metodi _render () e _validate () in app / code / core / Mage / Paypal / Model / Cart.php e assicurarti che lo sconto dall'uso dei punti sia applicato correttamente.

Inoltre, non sono riuscito a capire esattamente l'ultima parte dopo il codice, ma per favore fatemi sapere se avete domande.


Soluzioni eccellenti, funziona perfettamente, ma è necessaria un'altra modifica. Sullo stesso file php c'è un altro metodo _addRegularItem (). AMount menzionato anche lì. Devo modificarlo.
Butterfly,

0

Il problema non è nel codice, ma è un problema di configurazione. Assicurati solo che la tua tassa sia applicata al totale parziale anziché al totale generale. Controlla lo screenshot allegato. Assicurati che i "Trasferisci articoli del carrello" siano impostati su SÌ e anche su "Trasferisci opzioni di spedizione" su SÌ.inserisci qui la descrizione dell'immagine


0

Abbiamo avuto gli stessi errori di paypal e abbiamo scoperto che quando un articolo è "esente da imposte" il problema scompare. Quindi abbiamo disattivato un plug-in di pagamento parziale che ha ricalcolato alcuni totali. Quindi questo ha aiutato nel nostro caso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.