hallo,
ich habe ebenfalls ein problem mit dem paypalbetrag, der aus virtuemart an paypal übermittelt wird - jedoch weniger.
die rechnung des kunden weißt einen betrag von 13.25 auf.
Über Paypal werden Ihm jedoch nur 13,17 in Rechnung gestellt.
Darauf hin bekomme ich über Virtuemart eine Email:
During a paypal transaction on your site the received amount didn't match the order total.
Order ID: 37.
Order Number: 91335721bcdcccfd2b8a0bd98da10cc7.
The amount received was: 13.17 EUR.
It should be: 13.25 EUR.
Hat jemand das gleiche Problem?
Jetzt habe ich in den Virtuemart Zahlungsarten nach der Paypal Konfig geschaut,
die folgendermaßen aussieht:
PHP-Code:
<?php
$url = "https://www.paypal.com/cgi-bin/webscr";
$tax_total = $db->f("order_tax") + $db->f("order_shipping_tax");
$discount_total = $db->f("coupon_discount") + $db->f("order_discount");
$post_variables = Array(
"cmd" => "_xclick",
"business" => PAYPAL_EMAIL,
"receiver_email" => PAYPAL_EMAIL,
"item_name" => $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_NUMBER.": ". $db->f("order_id"),
"order_id" => $db->f("order_id"),
"invoice" => $db->f("order_number"),
"amount" => round( $db->f("order_subtotal")+$tax_total-$discount_total, 2),
"shipping" => sprintf("%.2f", $db->f("order_shipping")),
"currency_code" => $_SESSION['vendor_currency'],"first_name" => $dbbt->f('first_name'),
"last_name" => $dbbt->f('last_name'),
"address_street" => $dbbt->f('address_1'),
"address_zip" => $dbbt->f('zip'),
"address_city" => $dbbt->f('city'),
"address_state" => $dbbt->f('state'),
"address_country" => $dbbt->f('country'),
"image_url" => $vendor_image_url,
"return" => SECUREURL ."index.php?option=com_virtuemart&page=checkout.result&order_id=".$db->f("order_id"),
"notify_url" => SECUREURL ."administrator/components/com_virtuemart/notify.php",
"cancel_return" => SECUREURL ."index.php",
"undefined_quantity" => "0",
"test_ipn" => PAYPAL_DEBUG,
"pal" => "NRUBJXESJTY24",
"no_shipping" => "1",
"no_note" => "1"
);
if( $page == "checkout.thankyou" ) {
$query_string = "?";
foreach( $post_variables as $name => $value ) {
$query_string .= $name. "=" . urlencode($value) ."&";
}
mosRedirect( $url . $query_string );
} else {
echo '<form action="'.$url.'" method="post" target="_blank">';
echo '<input type="image" name="submit" src="http://images.paypal.com/images/x-click-but6.gif" border="0" alt="Make payments with PayPal, it is fast, free, and secure!" />';
foreach( $post_variables as $name => $value ) {
echo '<input type="hidden" name="'.$name.'" value="'.$value.'" />';
}
echo '</form>';
}
?>
Da ich in der vergangenheit an diversen anderen Stellen gedreht habe, dachte ich das es irgendwie mit der berechnung von Rabatt, Steuern und Versand zusammenhängt.
Deshalb würde ich am liebsten nur den eigentlichen Rechnungsbetrag an Paypal übermitteln und habe mal probiert die Zeile:
PHP-Code:
"amount" => round( $db->f("order_subtotal")+$tax_total-$discount_total, 2),
zu kürzen:
PHP-Code:
"amount" => $db->f("order_subtotal"),
Leider bekomme ich dann einen Fehler von Paypal, das ein falscher Betrag übermittelt wurde - also doch nicht so einfach.
Hat jemand eine Idee wie ich den Gesamtbetrag an Paypal übermitteln kann. Momentan wird auf grund meines Beispiels folgendes bei Paypal angezeigt:
Gesamtbetrag:
€13,17 EUR
Gebühr:
-€0,60 EUR
Nettobetrag:
€12,57 EUR
--------------------------------------------------------------------------------
Betrag:
€11,30 EUR
Versand:
€1,87 EUR
Bearbeitung:
€0,00 EUR
Anzahl:
1
Artikelbezeichnung:
Bestellnummer: 37
Rechnungsnummer:
91335721bcdcccfd2b8a0bd98da10cc7
Kann ich das einfacher gestalten- sprich, einfach nur den Gesamtbetrag, denn dann aber korrekt?
Lesezeichen