Zitat:
Original geschrieben von jensn
Und, schon was erreicht?
|
jepp
Zitat:
|
Würde mich über Beispiele freuen ;-)
|
die willst du nicht sehen. ich stehe ein wenig unter zeitdruck und hab mir
da was zusammengezimmert, das kann man keinem zeigen (bitte nicht
falsch verstehen, ist wirkl. so).
im prinzip habe ich die übergabe aus diesen beispielscripten nur in meine
funktionen integriert. IPN hab ich erstmal aussen vor gelassen.
das ganze sieht so aus:
- abschluss der bestellung
- auswahl der zahlmethode
--> paypal
-- via header ausgabe eines forms mit hidden-fields
---- gleichzeitig anlegen einer einmalig gültigen datei mit kryptischem namen für den rücksprung
-- das formular wird verschickt
-- der kunde zahlt
-- rücksprung auf die datei
---- update der datenbank
---- weiterleitung danke-seite
---- einmal-datei löschen
thats it. zugegeben, nicht schön, aber selten. die IPN
prüfung kommt
später mit in die einmaldatei: "doppelt gemoppelt hält besser".
PHP-Code:
<?
// machen wir eine dynamische rueckleitungsseite
$returnUrl = $this->makeReturn();
// paypal parameter
$array_name['cmd']='_xclick';
$array_name['business']='test@sandbox.de';
// email-adresse, die emfänger kennzeichnet bei paypal
$array_name['item_name']='ShirtyHarry Bestellung (ID: '.$_orderid.')';
// anzeige, wofür der kunde zahlt
$array_name['quantity']=1;
// menge (=1 da kompletter warenkorbinhalt)
$array_name['invoice']=$_orderid;
// ohne anzeige, muss zurückkommen, tuts aber nicht ???
$array_name['custom']= 'PayPal Payment '.$_orderid;
// wird nicht angezeigt, aber zurückgeliefert, quark ???
$array_name['memo']='memo';
// uninteressant
$array_name['tax']=0;
// keine steuer berechnen
$array_name['no_shipping']=1;
// keine frachtkosten berechnen
$array_name['amount'] = $_SESSION['order']['basket_sum'];
// gesamtbetrag
$array_name['currency_code']='EUR';
// währung
$array_name['rm']=2;
// rückgabe per GET=1, POST=2
$array_name['return'] = 'http://www.domain.de/'.
$returnUrl.'?'.session_name().'='.session_id();
// rücksprung-adresse
$array_name['cancel_return'] = 'http://www.domain.de/ppcancel.php?'.
session_name().'='.session_id();
// rücksprung bei abbruch, was laut paypal nicht vorgesehen ist ???
// besteller daten ... vorher in anderer fkt. validiert
$array_name['country_code']='DE';
$array_name['first_name']=$_POST['vName'];
$array_name['last_name']=$_POST['nName'];
$array_name['address1']= $_POST['str'];
$array_name['zip']=$_POST['plz'];
$array_name['city']=$_POST['ort'];
$array_name['night_phone_b']=$_POST['tel'];
$array_name['email']=$_POST['email'];
?>
für das ganze hin und her arbeite ich mit sessions.
wenn noch fragen sind, meld dich.
EDIT:
zeilenumbrüche auf besonderen wunsch einer einzelnen dame 