[Release] Paysafecard API Script

04/14/2012 22:50 M2Commander#1
~~~~~~~~~~~~~~~~~~~~~~~~
English:
~~~~~~~~~~~~~~~~~~~~~~~~
Hello together,

after one year of inactivity in this board, I would like to release something that could be quite helpful for many of you.

I was often asked in the past if I could not develop an easy to use psc script which could be easily implemented into different websites and scripts. Now I would like to comply with this wish.

To hold the scope of functions small and easy to use, the PSC API currently contains 5 functions and 3 getable values. Further you have the ability to catch a huge amount of exceptions to customize your UI and give detailed informations in case of an error.

A nice feature is to get the value and the serialnumber of the added pincode after calling the AddPin-function.

Because I'm setting a high value on the privacy protection, the username and password for the myPin account isn't send to any other websites, except Paysafecard, at any time.

To ensure to not have any name conflict the whole API is embedded into an own namespace.

You can find it and a documentation here: [Only registered and activated users can see links. Click Here To Register...]

M2Commander

~~~~~~~~~~~~~~~~~~~~~~~~
Deutsch:
~~~~~~~~~~~~~~~~~~~~~~~~
Hallo zusammen,

nach knapp einem Jahr glänzender Abwesenheit möchte ich euch hier wieder das Leben versüßen - ich hoffe ich schaffe es.

Ich bin in letzter Zeit immer öfter darauf angesprochen worden, dass man doch gerne wieder ein allg. Paysafecard-Skript möchte. Dem möchte ich nun nachkommen.
Das ganze ist in PHP 5 geschrieben.

Um den Funktionsumfang so übersichtlich und einfach wie möglich zu halten, besteht die PSC API zur Zeit aus 5 Funktionen und 3 abrufbaren Eigenschaften und desweiteren eine Reihe von abfangbaren Fehlermeldungen, um die gezielt dem Nutzer eine Rückmeldung zu geben.

Nach dem Hinzufügen einer neuen Pin wird der Ladungsbetrag und die dazugehörige Seriennnummer zurückgegeben.

Da ich immer auch Wert auf Datenschutz lege, wird der Benutzername und das Passwort des myPin Accounts, außer zu Paysafecard, zu keiner Zeit an andere Webseiten übertragen.

Um sicherzustellen, dass es keine Namenskonflikte gibt, wurde die API in einen eigenen Namespace eingebettet.

Ihr findet das Skript samt Dokumentation hier: [Only registered and activated users can see links. Click Here To Register...]

M2Commander
04/15/2012 00:31 °~Dennis~°#2
Echt klasse und es funktioniert bind ir sehr dankbar dafür damit hast du mir
sehr weiter geholfen.
04/15/2012 00:42 soulreafer#3
can u explain why u sends the same request to your own server?!
[Only registered and activated users can see links. Click Here To Register...]
ApiUser
LetMeIn
//////////////////////////////////////////////
kann das ma jemand trusten?!


Edit:
Selbst wenn es gehen sollte....
Wenn ich jemanden sehe der das Script nutzt kann ich in nichtmal 2 Minuten dessen Account bannen lassen ;). Niemals direkt in MyPSC eincashen ohne Kartenprüfung!

Davon abgesehen das das Script alles Mitschneidet und an seinen Server schickt rühre ich das nicht an.
04/15/2012 01:25 M2Commander#4
Hallo soulreafer,

alle, also JEDER Input wird geprüft und schmeißt dir ne Fehlermeldung wenn du irgendwas nicht benutzt hast, falls das Format nicht eingehalten wurde.

Es gibt insg. 15 verschiedene Exceptions die geworfen werden können. Das geht von kein Input über falsches Format bis hin zu Invaliden Kartennummern, Bonus pins bis hin zu anderen Dingen.

Quote:
Wenn ich jemanden sehe der das Script nutzt kann ich in nichtmal 2 Minuten dessen Account bannen lassen . Niemals direkt in MyPSC eincashen ohne Kartenprüfung!
Aus diesem Grunde sollte man vor dem Eincashen grundsätzlich die Check Funktion ausführen. Ein entsprechendes Beispiel findet sich in der Beispiel - Datei. Verbesserungsvorschläge herzlich willkommen.

Dazu kommt dass die public file knapp 250 Zeilen Quelltext (dokumentiert etwa 280) enthält. Die eig. API enthält aber noch weitere 300 Zeilen. Und nein, ich übermittel nicht die gleichen Daten sondern du bekommst von der ausgelagerten API Seite die Rückgaben und verarbeiteten Werte.

Wie du vllt feststellst, werden dort keinerlei Nutzerbezogene Daten, wie Benutzernamen oder Passwörter übermittelt - das wollte ich anfangs tun hab mich aber bewusst dagegen entschieden.

Ich bin aber jederzeit bereit den eig. Quelltext rauszugeben, wenn man dafür einen entsprechenden Betrag locker macht, weil das der eig. Kern der API ist und entsprechend einen gewissen Wert beinhaltet, den ich ungerne mal so in die Welt raushaue.

Leider ist es schwer ein solches Script wirklich sicher abzuschotten und gegen den "Diebstahl" zu sichern. Mit dieser Variante ist das gewährleistet.

Wer eine gute und vor allem diebstahlsichere Alternative kennt, der ist herzlich eingeladen sie mit mir zu teilen. Bei dieser Methode weiß man zumindest, dass niemand an die Accountdaten kommt.
04/15/2012 02:04 ms​#5
Naja, die PINs und Session-IDs werden schon an dein API-Script übergeben. Klar, sonst würde das ganze ja auch nicht funktionieren können.

Man muss dir hier also vertrauen, dass du nichts speicherst.
04/15/2012 02:36 M2Commander#6
Na klar recht hast du schon. Aber was würde es mir bringen, irgendetwas abzugreifen?
Die Session ist nicht unendlich lange gültig zum anderen sind die Pins nunmal auch eingecasht, wenn sie eingecasht sind. Umbuchen geht ja schlecht ^.^

Desweiteren hab ich nen Ruf zu verlieren, denn ich kenn ja selbst das Problem mit dem Vertrauen, weshalb ich normal alles selbst entwickel und nicht irgendwelche Skripts nutze.
Aus diesem Grund schreib ich hier auch nicht soviel zu Dingen, die ich entwickel, weil die meisten es nicht nutzen würden, weil sie dieses berechtigte Misstrauen haben.
Aber wenn ich soetwas vorhätte, dann würde ich sicher nicht hier im Board posten, weil hier lesen genug fähige Personen mit. Falls an dem kein Interesse besteht, dann nutz ich es selbst :P

Man muss es immer so sehen: Vertraut man einem (Entwickler) oder einer allen (den Nutzern). Klar auf der einen Seite wäre es schön, wenn man alles einsehen kann. Das gibt Sicherheit - seh ich ein.

Auf der anderen Seite lassen sich Bugs so viel viel schneller beheben, da nicht jeden ne neue Aktualisierung zwangsläufig braucht. Ein Update (z.B. neue Sessionnamen) brauch ich nur an einer Stelle in einer Datei(!) und nicht bei jedem Scriptnutzer (was ein Update zur Folge hätte) ändern. Hat also alles vor und Nachteile.

Ich kann nicht von jedem verlangen mir zu trauen. Aber ich stehe Voll und Ganz hinter jeder einzelnen Person die Hilfe braucht und helfe und gebe auch immer Tipps, falls ich Sicherheitslücken etc. sehe und ich hab schon viel mist gesehen =) Schlechter Code, schlechte oder ungenügende Sicherheitseinstellungen.. schlecht geschützte Datenbanken und und..
04/15/2012 03:12 boxxiebabee#7
ionCube könntest dir mal anschauen.
04/15/2012 14:40 M2Commander#8
Quote:
Originally Posted by Lizzaran View Post
ionCube könntest dir mal anschauen.
Danke, ich hab gerade eine Alternative gefunden. Ich werde mir das mal anschauen und wenn alles klappt eine standalone Variante in den nächsten Tagen publishen.
04/15/2012 17:32 soulreafer#9
ich weiss zwar nicht wie du das problem löst aber fakt ist das psc die pins sperrt beim prüfen über das welcome applet wenn es eine statische ip ist. ich kann mein script nicht mehr über meinen server nutzen da die ip blacklistet ist.
proxys wären ne alternative. glaube aber das auch dort kartensperrungen vollzogen werden.
04/15/2012 18:37 M2Commander#10
Quote:
Originally Posted by soulreafer View Post
ich weiss zwar nicht wie du das problem löst aber fakt ist das psc die pins sperrt beim prüfen über das welcome applet wenn es eine statische ip ist. ich kann mein script nicht mehr über meinen server nutzen da die ip blacklistet ist.
proxys wären ne alternative. glaube aber das auch dort kartensperrungen vollzogen werden.
Fakt ist, dass ich eine statische IP besitze (an meinem Hausanschluss) weil ich direkt an das Rechenzentrum angebunden bin ;)
Wäre also ziemlich dumm, wenn paysafecard mich Blacklisten würden, weil ich von meiner (statischen) IP immer über das Welcome Applet prüfe. Also kann es daran höchstwahrscheinlich nicht liegen.

Ps: Während dem Testen hab ich auch eine Pin verraucht, weil ich die Pin zuoft falsch geprüft hatte bzw. die falschen Daten übertragen habe. Psc sperrt die IP dann temporär für eine gewisse Zeit und lässt dann wieder Prüfungen zu.
04/15/2012 23:45 soulreafer#11
nagut das kann sein. zumal die mit der methode eh probleme kriegen wenn ipv6 für alle gilt.

grüße
04/16/2012 16:35 M2Commander#12
So allerseits. Ich habe gerade die standalone Version abgeschlossen. Meinen Startpost aktualisiere ich gleich auch noch.

Die Standalone Version könnt ihr auf der Sourceforgeseite runterladen. Das ganze ist im gleichen Paket verpackt wo auch das plugin drin ist. Dazu hab ich 2 Unterordner erstellt. Die Dokumentation ist auch bereits aktualisiert.

[Only registered and activated users can see links. Click Here To Register...]

M2Commander
05/09/2012 17:12 xUnbekannt#13
Ich kapier das net:D Was bringt das und was soll ich damit machen? Erklären bitte :D
05/09/2012 18:09 M2Commander#14
Was es bringt:
  1. Du kannst PSC als Spenden / Zahlungsmethode anbieten
  2. Du kannst weiterhin PSCs automatisch aktzeptieren und verarbeiten
  3. Es ist so abstrakt (einfach) gehalten, dass du es in nahezu jede Webseite einbauen kannst
  4. Die älteren Scripts funktionieren nicht da sie das Passwort geändert haben (was nicht mehr existiert) und nun stattdessen ein myPins Konto vorhanden sein muss auf das die Karte eingezahlt werden muss.
Was du damit machen kannst:
  1. In deinem Webshop als Bezahlmethode Paysafecard anbieten
  2. Es als Spendenmethode anbieten
  3. Dein bestehendes Paysafecardscript (was nicht mehr geht) aktualisieren.
05/10/2012 15:59 xUnbekannt#15
Aso, Danke!