paypal: geld angkommen, keine bestellung registriert
hi,
ich nutze die 1.4er version von myoos.
bei manchen bestellungen mit paypal bezahlung wird zwar das geld gutgeschrieben, aber die bestellung wird weder per email versendet, noch im adminbereich aufgeführt.
verschiedene testbestellungen funktionierten einwandfrei aber hin und wieder kommt es trotzdem vor.
woran könnte das liegen?
kann man irgendwie die bestellung schon vor dem bezahlen abschliessen?
versand ist ja eh erst nach geldeingang.
viele grüße,
kutte128
ich nutze die 1.4er version von myoos.
bei manchen bestellungen mit paypal bezahlung wird zwar das geld gutgeschrieben, aber die bestellung wird weder per email versendet, noch im adminbereich aufgeführt.
verschiedene testbestellungen funktionierten einwandfrei aber hin und wieder kommt es trotzdem vor.
woran könnte das liegen?
kann man irgendwie die bestellung schon vor dem bezahlen abschliessen?
versand ist ja eh erst nach geldeingang.
viele grüße,
kutte128
Hallo,
hier steht
function before_process() {
return false;
}
oder
function after_process() {
return false;
}
zur Verfügung.
Ich verwende in der 1.7.x
<div class='codetop'>CODE[/align]<div class='codemain' style='height:200px;white-space:pre;overflow:auto'> function after_process() {
global $oOrder, $oCurrencies;
$my_currency = 'EUR';
$aFilename = oos_get_filename();
$aModules = oos_get_modules();
$sAmount = number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sShipping = number_format($oOrder->info['shipping_cost] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sReturn = oos_href_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
$sCancel_return = oos_href_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
$sLink = 'https://www.paypal.com/de/cgi-bin/websc ... &business=' . MODULE_PAYMENT_PAYPAL_ID .
'&item_name=' . STORE_NAME .
'&amount=' . urlencode($sAmount) .
'&shipping=' . urlencode($sShipping) .
'&return=' . urlencode($sReturn) .
'&cancel_return=' . urlencode($sCancel_return) .
'¤cy_code=EUR';
oos_redirect($sLink);
return false;
}[/align]
D.h. hier werden aus den $_Post Daten unter
function process_button() {
}
einfach $_GET Daten gemacht.
Nachteil: Sollte der Kunde bei PayPal die Zahlung abbrechen ist im Shop die
Bestellung als "bezahlt" aufgenommen worden.
In einer etwas aufwendigen Methode speichert ein Modul den Warenkorb
für den Kunden und leitet die Komunikation zwischen PayPal und Kunden per
Curl Sitzung weiter.
Sollten Probleme bei der Änderung der PayPal Klasse auftreten sind wir gerne
bereit für 45 euro + mwst) die Klasse zu ändern...
cu
ralf
Man kann die Reihenfolge der Aktionen in der Payment Klasse ändern.kann man irgendwie die bestellung schon vor dem bezahlen abschliessen?
hier steht
function before_process() {
return false;
}
oder
function after_process() {
return false;
}
zur Verfügung.
Ich verwende in der 1.7.x
<div class='codetop'>CODE[/align]<div class='codemain' style='height:200px;white-space:pre;overflow:auto'> function after_process() {
global $oOrder, $oCurrencies;
$my_currency = 'EUR';
$aFilename = oos_get_filename();
$aModules = oos_get_modules();
$sAmount = number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sShipping = number_format($oOrder->info['shipping_cost] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sReturn = oos_href_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
$sCancel_return = oos_href_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
$sLink = 'https://www.paypal.com/de/cgi-bin/websc ... &business=' . MODULE_PAYMENT_PAYPAL_ID .
'&item_name=' . STORE_NAME .
'&amount=' . urlencode($sAmount) .
'&shipping=' . urlencode($sShipping) .
'&return=' . urlencode($sReturn) .
'&cancel_return=' . urlencode($sCancel_return) .
'¤cy_code=EUR';
oos_redirect($sLink);
return false;
}[/align]
D.h. hier werden aus den $_Post Daten unter
function process_button() {
}
einfach $_GET Daten gemacht.
Nachteil: Sollte der Kunde bei PayPal die Zahlung abbrechen ist im Shop die
Bestellung als "bezahlt" aufgenommen worden.
In einer etwas aufwendigen Methode speichert ein Modul den Warenkorb
für den Kunden und leitet die Komunikation zwischen PayPal und Kunden per
Curl Sitzung weiter.
Sollten Probleme bei der Änderung der PayPal Klasse auftreten sind wir gerne
bereit für 45 euro + mwst) die Klasse zu ändern...
cu
ralf
Hallo,
> wir setzen meiner meinung nach die version 1.6 ein
damit wir helfen können, benötigen wir die genaue Version.
Bitte einmal aus der
~/shop/includes/oos_version.php
die Werte von den Konstanten OOS_VERSION_MAJOR, OOS_VERSION_MINOR und OOS_VERSION_MICRO
mitteilen. (einfach ins Forum posten)
cu
ralf
> wir setzen meiner meinung nach die version 1.6 ein
damit wir helfen können, benötigen wir die genaue Version.
Bitte einmal aus der
~/shop/includes/oos_version.php
die Werte von den Konstanten OOS_VERSION_MAJOR, OOS_VERSION_MINOR und OOS_VERSION_MICRO
Code: Alles auswählen
/**
* Major software version
*/
define('OOS_VERSION_MAJOR', '1');
/**
* Minor software version
*/
define('OOS_VERSION_MINOR', '6');
/**
* Micro software version
*/
define('OOS_VERSION_MICRO', '14');
cu
ralf
hallo,
die Datei bitte als paypal.php nach
~/shop/includes/modules/payment kopieren.
http://www.oos-shop.de/service/oos16x/paypal.txt
Das script ist ungeprüft. Evtl. Fehlermeldungen hier bitte veröffetnlichen.
Beste Grüße
ralf
die Datei bitte als paypal.php nach
~/shop/includes/modules/payment kopieren.
http://www.oos-shop.de/service/oos16x/paypal.txt
Das script ist ungeprüft. Evtl. Fehlermeldungen hier bitte veröffetnlichen.
Beste Grüße
ralf
Hallo,
der Shop speichert in
~/shop/includes/pages/checkout/process.php
die Bestellung.
in Zeile 112
steht nun die Betellnummer in der $insert_id
in Zeile 383
gibt man die Bestellummer "weiter"
im Script selbst, kann man is_numeric($variable) überprüfen, ob eine zahl
übergeben wurde.
Hoffe dies hilft weiter
Ralf
der Shop speichert in
~/shop/includes/pages/checkout/process.php
die Bestellung.
in Zeile 112
Code: Alles auswählen
$insert_id = $db->Insert_ID();
in Zeile 383
Code: Alles auswählen
$payment_modules->after_process();
Code: Alles auswählen
$payment_modules->after_process($insert_id);
übergeben wurde.
Hoffe dies hilft weiter
Ralf
hallo, leider geht es noch nicht ganz.
ich habe jetzt in der process.php folgenden eintrag:
// load the after_process function from the payment modules
$payment_modules->after_process($insert_id);
$_SESSION['cart]->reset(true);
in der paypal.php:
function after_process($insert_id) {
global $oOrder, $oCurrencies;
$my_currency = 'EUR';
$aFilename = oos_get_filename();
$aModules = oos_get_modules();
$sAmount = number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sShipping = number_format($oOrder->info['shipping_cost] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sReturn = oos_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
$sCancel_return = oos_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
$sLink = 'https://www.paypal.com/de/cgi-bin/websc ... &business=' . MODULE_PAYMENT_PAYPAL_ID .
'&item_name= BestellNr.: ' . urlencode($insert_id) .
leider bekomme ich weder die bestellnr noch den betrag/versandkosten.
was mache ich da falsch? muss ich noch woanders was eintragen?
gruss
ich habe jetzt in der process.php folgenden eintrag:
// load the after_process function from the payment modules
$payment_modules->after_process($insert_id);
$_SESSION['cart]->reset(true);
in der paypal.php:
function after_process($insert_id) {
global $oOrder, $oCurrencies;
$my_currency = 'EUR';
$aFilename = oos_get_filename();
$aModules = oos_get_modules();
$sAmount = number_format(($oOrder->info['total] - $oOrder->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sShipping = number_format($oOrder->info['shipping_cost] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sReturn = oos_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
$sCancel_return = oos_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
$sLink = 'https://www.paypal.com/de/cgi-bin/websc ... &business=' . MODULE_PAYMENT_PAYPAL_ID .
'&item_name= BestellNr.: ' . urlencode($insert_id) .
leider bekomme ich weder die bestellnr noch den betrag/versandkosten.
was mache ich da falsch? muss ich noch woanders was eintragen?
gruss
[quote='sedata',index.php?page=Thread&postID=1736#post1736]habe es hinbekommen, musste noch in der class_payment.php
die funktionen ändern
[/quote]
sorry...
dann könnte man
verwenden.
bei der 1.6.10 ist das Objekt noch $order
Hoffe deies hilft weiter?
Ralf
die funktionen ändern
[/quote]
sorry...
dann könnte man
Code: Alles auswählen
function after_process() {
global $insert_id,
grummel.leider geht das aber mit der betragsübergabe noch nicht
bei der 1.6.10 ist das Objekt noch $order
Code: Alles auswählen
function after_process() {
global $insert_id, $order, $oCurrencies;
$my_currency = 'EUR';
$aFilename = oos_get_filename();
$aModules = oos_get_modules();
$sAmount = number_format(($order->info['total] - $order->info['shipping_cost]) * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sShipping = number_format($order->info['shipping_cost] * $oCurrencies->get_value($my_currency), $oCurrencies->get_decimal_places($my_currency));
$sReturn = oos_link($aModules['checkout], $aFilename['checkout_success], '', 'SSL');
$sCancel_return = oos_link($aModules['checkout], $aFilename['checkout_payment], '', 'SSL');
$sLink = 'https://www.paypal.com/de/cgi-bin/webscr?cmd=_xclick&business=' . MODULE_PAYMENT_PAYPAL_ID .
Ralf