Hilfe! Brauche Hilfe bei Premium SMS Script

1Filip

Grünschnabel
ich brauche Hilfe für eine Premium SMS Script d.h. User bekommt eine SMS mit Aktivierungscode gibt den ein und hat virtuelles Guthaben.

Ich habe volgende vorlagen von meinem Anbieter:

Bitte auch wenn der text verdammt lang ist, helft mir^^ :rolleyes:


"Anleitung" (Ich versteh fast nur Bahnhof :p)
Code:
Folgende URL (Bezugsfenster-URL), und die darunter beschriebenen Parameter sind zur Verwendung wichtig:
http://billing.micropayment.de/handypay/event/?project=[projectidentifer]

Zahlungsartabhängige Parameter die zur Verfügung stehen
Artikel
Durch den Parameter title geben Sie dem Paymentfenster bekannt, was der Endkunde nach dem erfolgreichen Bezahlvorgang erhalten soll, bzw. welches Ereignis ausgelöst werden soll. Beispielsweise kann dies eine Benutzeranmeldung oder Mitgliedschaftsverlängerung sein. Am sinnvollsten ist die Übergabe einer ID die diesen Vorgang eindeutig identifiziert, z.B.: title=createaccount_123456 wobei 12345 die userid sein könnte.
Syntax:	&title=[value]
Wert(e):	Zeichenkette / ID die das Event eindeutig identifiziert; z.B. eine UserID
Abrechnungsbetrag
In der Zahlungsartenkonfiguration haben Sie die Möglichkeit einen Standardpreis in Eurocent zu definieren. Diesen Wert können Sie duch Verwendung des Parameters amount überschreiben. Beispielsweise: &amount=200
Syntax:	&amount=[value]
Wert(e):	Abrechnungsbetrag zwischen 49 und 499 Eurocent

Standard-Parameter die immer zur Verfügung stehen
Account
Sollte ihr Projekt webmasterfähig sein, können Sie dies von Webmastern (die bei micropayment™ angemeldet sein) bewerben lassen. Damit die erwirtschafteten Umsätze den richtigen Webmastern zugeordnet werden können, muss der Parameter account verwendet werden.
Syntax:	&account=[value]
Wert(e):	15006 | wenn das Projekt webmasterfähig ist, jeder im System registrerte Account
Layout
Für unsere Kunden stellen wir verschiedene Paymentlayouts zur Verfügung. Die Anzahl der Layouts wird in unregelmäßigen Abständen ausgebaut. Über den Parameter theme können Sie definieren, welches Layout aufgerufen werden soll.
Syntax:	&theme=[value]
Wert(e):	default | d2 | d3 | d4
Hintergrundfarbe
Um die Hintergrundfarbe des Paymentfensters beliebig anzupassen verwenden Sie bitte den Parameter bgcolor. Der übergebene Wert muss ein hexadezimaler Farbcode sein. Beispiel: &bgcolor=ff0000
Syntax:	&bgcolor=[value]
Wert(e):	layoutabhängig | Ein sechs Zeichen langer hexadezimaler Farbcode wie er in HTML üblich ist
Kampagne des Projektinhabers
Zur Unterscheidung Ihrer Umsätze, bzw. zur besseren Auswertung von Werbemaßnahmen können Sie den Parameter projectcampaign verwenden. Beachten Sie bitte, dass die verwendeten Kampagnen von Ihnen in der Kampagnenverwaltung erstellt und aktiviert wurden.
Syntax:	&projectcampaign=[value]
Wert(e):	keine | jede aktivierte Kampagne Ihres Accounts
Versiegelung schützenswerter Parameter
Um zu verhindern, dass übergebene Preis- oder Artikelparameter verändert werden, sollte die erweiterte Sicherheit aktiviert werden und mit diesem Parameter das Siegel übergeben werden.

Das Siegel wird aus allen Parametern vor seal, und Ihrem persönlichen AccessKey mittels MD5-Hash-Algorithmus gebildet.

Bei aktivierter "erweiterter Sicherheit" müssen alle zahlungsartabhängigen Parameter versiegelt werden. Die Versiegelung der Standardparameter ist Ihnen freigestellt. Wir empfehlen Ihnen jedoch, sämtliche Parameter zu versiegeln. Sollte es dennoch nötig sein, einen Parameter nicht zu versiegeln, muss dieser nach dem "seal"-Parameter angehängt werden.

<?php
// parameter werden versiegelt
  $params = 'project=[projectIdentifer]&amount=100&title=test';

// ihr persönlicher AccessKey (Bitte geheim halten)
  $accessKey = 'hier steht eigentlich der AccessKey';

// Bildung des Siegels
  $seal = md5($params . $accessKey);     
 
// URL bilden aus Zieladresse, versiegelte Parameter und Siegel
  $url = 'http://billing.micropayment.de/handypay/event/?' . $params . '&seal=' . $seal;
  echo '<a href="' . $url . '"> Jetzt Bezahlen </a>';
?>

Benutzen Sie den Siegelgenerator um eine URL zu versiegeln.
Syntax:	&seal=[value]
Wert(e):	leer | HashCode der Parameter die versiegelt werden sollen, wenn für die Zahlungsart des Projekts die Versiegelung aktivert ist


"Scriptbeispiel"
Code:
Neben http ist auch https möglich. 
Bei der kompletten URL werden Platzhalter ersetzt, wenn sie gefunden werden. 

Diese Platzhalter haben immer folgende Form:

__platzhaltername__		(2 Unterstriche vor und nach dem Platzhalternamen; alles klein geschrieben)



1) vordefinierte Platzhalter:
--------------------------
Folgende Platzhalternamen stehen z.Z. zur Verfügung:

amount		- Der Parameter amount mit dem das Bezugsfenster initialisiert wurde
currency	- Der Parameter currency mit dem das Bezugsfenster initialisiert wurde; 3 Stellen ISO
country		- Das Land aus dem der Call erfolgte; 2 Stellen ISO
auth		- Eindeutige ID die den Call identifiziert
title		- Der Parameter title mit dem das Bezugsfenster initialisiert wurde

2) frei definierbare Platzhalter:
------------------------------

Dem Platzhalternamen wird ein $ (Dollarzeichen) vorangestellt. Also z.B.

$freeparam
$user

Dieser freie Platzhalter wird mit dem Wert des gleichnamigen GET-Parameters, mit dem das Bezugsfenster
aufgerufen wurde, ersetzt.



Beispiel:
Konfiguriert wurde:
http://projekt.de/api/?amount=__amount__&title=__title__&auth=__auth__&country=__country__&currency=__currency__&free=__$freeparam__


3) Funktionsmodi (Optionen API-URL)
------------------------------------
Beim Aufruf der API-URL wird standardmäßig der Parameter "function" angehängt. 
Der Standardwert ist "billing" und wird immer nach einer erfolgreichen Zahlung aufgerufen.

Wenn in der Konfiguration unter "Optionen API-URL" der Punkt "Das senden zusätlicher Daten aktivieren"
angewählt wurde, werden zusätzliche Ereignisse an die API-URL geschickt. Spätestens mit
Aktivierung dieser Option muß der Parameter "function" ausgewertet werden.

Zur Zeit stehen folgende Funktionen zur Verfügung:

billing	- Aufruf nach einer erfolgreichen (Erst-) Zahlung
storno	- Ein Zahlvorgang wird storniert
backpay	- Ein stornierter Zahlvorgang wurde erfolgreich inkassiert (Storno ist aufgehoben).

diese Funktionen können zukünftig erweitert werden. Sie sollten deshalb immer exakt auf die 
Funktion prüfen (keine Defaultverarbeitung)


Erklärung:

storno
Wenn dem System die Stornierung einer Zahlung bekannt wird, können Sie über diese Funktion 
darüber informiert werden. Die API-URL wird in der selben Form (mit den gleichen Parametern) 
wie bei "billing", also der ursprünglichen Zahlung, aufgerufen. 
Die einzige Unterscheidung ist der Parameter "function".
Sie können dann auf geeignete Art mit dieser Information verfahren.

backpay
Eine stornierte Zahlung wurde erfolgreich inkassiert, d.h. das ursprüngliche Storno 
ist damit aufgehoben. Verhalten ist wie bei "storno", allerdings mit function=backpay.


Hinweis: Der Sessionparameter "auth" ist bei allen Funktionen gleich, wenn die selbe Ursprungszahlung gemeint ist.



Aufruf des Bezugsfensters mit http://billing.micropayment.de/handypay/event/?project=.....&freeparam=das_ist_frei

Die Weiterleitung nach dem Call zeigt auf:
http://projekt.de/api/?amount=100&title=testartikel&auth=1234567890gjgjhgjhgjhgjhgjhgjhg&country=DE&currency=EUR&free=das_ist_frei&function=billing
==============================================================================================

Als Response werden folgende Werte erwartet:
(Diese müssen mit einem Zeilenumbruch (\n) getrennt werden.)

status		- mögliche Werte ok | error
				- wenn error wird eine Fehlermeldung im Bezugsfenster ausgegeben
				- wenn ok auf das in URL angegebene Ziel weitergeleitet
url			- Zieladresse auf die der Kunde weitergeleitet werden soll

optionale parameter:

target		- das (html)Target in dem am Ende die Zieladresse ausgegeben werden soll.
			  default ist _blank ;es wird also ein neues Fenster geöffnet. 
			  
forward		- Am Ende der Zahlung erscheint die "Erfolgsseite". Mit diesem Parameter legt man
			  fest, ob der User auf einen Button klicken muß (0) oder ob versucht werden soll,
			  automatisch das Ziel anzusurfen (1). Achtung, wenn ein neues Fenster automatisch
			  geöffnet werden soll (forward=1 und target=_blank), wird das in vielen Fällen 
			  an Popup-Blockern scheitern.
			  mögliche Werte 0 | 1
			  default ist 0; es wird also nicht automatisch weitergeleitet


Beispiel für einen OK-Response:

status=ok
url=http://projekt.de/member/?testparam=123jhsdkjh
target=_top
forward=1

==============================================================================================

Nachfolgend eine simple Lösung per PHP
*/


// 1. Parameter auswerten und Programmlogik --------------------------------------------------
/*
Aufruf erfolgte entsprechend dem obigen Beispiel mit:
http://projekt.de/api/?amount=100&title=testartikel&auth=1234567890gjgjhgjhgjhgjhgjhgjhg&country=DE&currency=EUR&free=das_ist_frei&function=billing

ergibt....

$amount		= $_GET['amount'];
$title		= $_GET['title'];
$auth		= $_GET['auth'];
$country	= $_GET['country'];
$currency	= $_GET['currency'];
$free		= $_GET['free'];
$function	= $_GET['function'];


... prüfen von $function
	

a)	wenn  == 'billing'
	... prüfen ob der Preis ($amount; $currency) zu dem Artikel ($title) paßt und dann entsprechende
	Aktionen ausführen

	.... $auth für Statistik oder zusätzliche Serviceabfragen speichern
	.... $country für Statistik oder sonstiges verwenden

	.... wenn alles OK ist Parameter url für den Response zusammenbauen....

oder
	
b)	wenn  == 'storno' => eine stornobehandlung
	...	Response wie bei billing zusammenbauen. (Url kann mit beliebigen Wert gefüllt werden)...
	
c)	wenn  == 'backpay' => eine backpaybehandlung
	...	Response wie bei billing zusammenbauen. (Url kann mit beliebigen Wert gefüllt werden)...
		
	
*/

// 2. Response preparieren ------------------------------------------------------------------
$trenner 	= "\n";

$status		= 'ok';
$url		= 'http://projekt.de/member/?testparam=123jhsdkjh';
$target		= '_top';
$forward	= 1;




$response = 'status=' . $status;
$response.= $trenner;
$response.= 'url=' . $url;
$response.= $trenner;
$response.= 'target=' . $target;
$response.= $trenner;
$response.= 'forward=' . $forward;

echo $response;

/*
==============================================================================================
Beispielaufruf der Payment-URL:

http://billing.micropayment.de/handypay/event/?project=testprojekt&amount=250&currency=EUR&title=memberid2342&theme=d2&freeparam=das_ist_frei

==============================================================================================
.htaccess: erweiterte Contentsicherung durch alleinige Freigabe unserer IP:

Order deny,allow
Deny from all
Allow from service.micropayment.de
Allow from proxy.micropayment.de
Allow from access.micropayment.de

==============================================================================================
*/
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück