Ist dies mit Magento 1.9.0.1 integriert hat die Box Expres Paypal, zusätzlich haben Sie das Plugin Pro Belohnungspunkte als Belohnungspunkte, um einige Produkte zu kaufen, die, als es die Integration wurde und Produkte ohne Verwendung von Punkten der Vergütung, Zahlung per Paypal nigun kann problemlos durchgeführt werden, aber wenn Kunden Prämienpunkte verwenden, ist dies ein Fehler bei der Bestätigung der Bestellung
Das Gateway von PayPal lehnte die Anfrage ab. Die Gesamtsummen des Warenkorbartikels Beträge Beträge stimmen nicht mit der Bestellung überein (# 10413: Transaktion aufgrund eines ungültigen Arguments abgelehnt. Weitere Informationen finden Sie in den zusätzlichen Fehlermeldungen.)
Wenn Sie im Internet suchen, um diesen Fehler zu beheben, empfehlen wir Ihnen, die Datei Nav.php paypal zu ändern, indem Sie zwei der folgenden Codes hinzufügen:
erster 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
zweiter 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;
}
//Ende
Wenn Sie einen der beiden Codes hinzufügen, sofern dies zulässig ist, und die Zahlung für diese Rabattpunkte vornehmen, besteht das Problem darin, dass beim Anzeigen der Paypal-Zahlung der Rabattbetrag und nicht der Gesamtbetrag berechnet wird, dh die Zeit, zu der sich die Paypal-Kunden anmelden und die expres box, alle Beträge sind korrekt und desglozadas am Ende ist der gesamte Zahlungsbetrag in Ordnung, kehren Sie zum Geschäft zurück und bestätigen Sie die Bestellung, die erfolgreich ausgeführt wurde, aber wenn Paypal-Zahlung in Höhe des Rabatts das ist, was wir erhalten, zeigt es beispielhaft mach es klar
Produktkosten> 340 Punkte usuados pro Kunde> 125 entspricht 20,54 Gesamtkauf im Geschäft und Paypal-Box-Ausdruck> 319,46 Menge recibda, um das Konto auf Paypal zu sehen> 20,54
Abgesehen davon wird beim Kauf nicht verwendeter Prämienpunkte ein Fehler angezeigt, der angibt, dass der Transaktionsbetrag gültig ist, da er Null ist.
Ich habe mich gewundert, welche Fehlercodes es gibt, um sie zu ändern, aber ich kann es nicht tun, nicht wenn jemand weiß, dass ich es tun muss oder helfen kann