You are not logged in.

  • Login

1

Wednesday, April 6th 2011, 3:34pm

"Anfänger" + php + paypal API = Risiko?

Hallo,

ich will für eine kleine Gruppe von Leuten ein kleines Wettsystem (vorerst nur 1:1 Wetten) aufsetzen.
Nicht wildes.
"Wettobjekte" (z.B. Fussballspiele) werden aus einer DB geladen, User1 meldet sich für dieses Spiel an und setzt 3€ auf MannschaftA. Wenn UserX 3€ gegen MannschaftA setzen will, meldet er sich auch für dieses Spiel an.
Die Zahlung soll über die Paypal Api erfolgen, die das ganze Recht einfach macht (es scheint jedenfall so).

Ich bin jetzt nicht DER Spezialist in Sachen PHP und mit der API habe ich auch noch nicht gearbeitet, vom Aufwand / der Komplexität siehts eigentlich machbar aus. Wie hoch schätzt ihr aber das Sicherheitsrisiko (was durch meine Unerfahrenheit entsteht) ein? Oder gibt es "garkeins", da paypal alles sichert? So wie ich das sehe, muss ich ja nur ein Link von denen einbinden und ein paar Parameter ändern.

Am Ende soll das im Idealfall in ein CMS integriert werden.

Besten Dank für Feedback!
ali

2

Wednesday, April 6th 2011, 4:35pm

Machbar sollte das aufjedenfall für jemanden mit etwas Ahnung sein. Man kann währenddessen ja noch lernen. Das ganze sollte aufjedenfall sicher vor SQL Injections sein, da sonst Missbrauch betrieben werden könnte so wie bei jedem Script was Sicherheitslücken hat.
Ich kenne die PayPal API jetzt noch nicht so ganz, wird das Geld dennoch manuell "überweisen" oder wie sieht das aus? Wenn alles trotzdem manuell gemach oder bestätigt werden muss, so ist das ja wieder ein Punkt für die Sicherheit.


Zum Rechtlichen, da solltest du dich nochmal informieren, bevor du das ganze in ein CMS intregierst. Glücksspiele sind nicht ohne Genehmigung erlaubt und kann unschöne Folgen für dich haben, wenn das ganze auffliegt.

3

Wednesday, April 6th 2011, 4:43pm

Ah. danke für den Hinweis. Das war mir so nicht bewusst.
Grundsätzlich war der Plan, dass jeder User seinen Paypalaccount im Profil hinterlegt.
Möchte nun jemand initial auf ein Spiel setzen, muss er noch den Einsatz definieren (per validiertem Textfeld) und speichern. Will jemand die Gegenwette, wird nurnoch bestätigt. Der Admin müsste nach Spielende das Ergebnis setzen und die Überweisungen anstoßen (wie genau das Vorgehen aussieht, weiß ich noch nicht. Denkbar wäre auch, dass der Admin alle Einsätze erstmal nimmt und manuell umverteilt).

Danke

4

Wednesday, April 6th 2011, 6:34pm

Anhand vom Paypalnamen wirst du nicht einfach Geld abbuchen können. Paypal Zahlungen funktionieren so, dass du direkt bei der Bestellung eine Verbindung zu Paypal aufmachst. Dein Kunde wird während der Betellung dann auch direkt zu Paypal geleitet und bestätigt dort dann die Abbuchung und anschließend wird er wieder zu deiner Seite zurück geleitet. Per Klick aus einem Adminbereich kannst du so eine Aktion nicht auslösen

5

Wednesday, April 6th 2011, 8:20pm

jub. sowas wie das klassische lastschriftverfahren bei normalen banken gibbet da nicht. was man machen kann ist abos dort für einen user im zahlungsprozess anlegen, aber das abo ist beim user angelegt und mehr ne zeitgesteuerte überwisung vom zahlenden ausgehend. einziehen von geld geht nicht.

6

Wednesday, April 6th 2011, 9:19pm

Ich weiß jetzt nicht, ob es ein offizieller Bestandteil der PayPal-API ist, jedoch habe ich letztens über PayPal eine Paketmarke bei DHL online bezahlt und da hatte ich die Option eine Art Einzugsermächtigung für DHL zue rstellen, so dass ich mich in Zukunft nicht immer extra bei PayPal einloggen und die Zahlung extra bestätigen müsste.
Allerdings würde ich weder einem Fremden noch einem Freund (und erst Recht nicht DHL ;) ) einen Freifahrtschein geben über mein Geld zu verfügen.

7

Thursday, April 7th 2011, 8:53am

Ok. Gut zu wissen.
Danke für das Feedback.

Dann müsste halt Option2 herhalten, wo jeder Wettende seinen Betrag pauschal in ein "Pool" überweisen muss, und der Admin zahlt dann die Gewinner aus.

Ciao

8

Thursday, April 7th 2011, 10:59am

Du kannst direkt wenn der Wettinsatz gesetzt wird das Geld via Paypal einzahlen lassen (Ist bei jedem Glücksspiel auf dieser Welt - erst zahlen und dann evtl. gewinnen). Jedoch wirst du ein Problem mit der aktuellen Gesetzeslage bekommen. Glücksspiel ist in Deutschland verboten. Kannst dir ja mal den Glücksspielstaatsvertrag anschauen und der verbietet auch eindeutig Wettspiele.

9

Thursday, April 7th 2011, 1:43pm

Kannst dir ja mal den Glücksspielstaatsvertrag anschauen und der verbietet auch eindeutig Wettspiele.


Das betrifft aber nur öffentliche Glücksspiele !

Quelle Glücksspielstaatsvertrag


Quoted

§2
Die Länder regeln mit diesem Staatsvertrag die Veranstaltung, die Durchführung und die Vermittlung von öffentlichen Glücksspielen.


Quoted

§3
(1) Ein Glücksspiel liegt vor, wenn im Rahmen eines Spiels für den Erwerb einer Ge- winnchance ein Entgelt verlangt wird und die Entscheidung über den Gewinn ganz o- der überwiegend vom Zufall abhängt. Die Entscheidung über den Gewinn hängt in je- dem Fall vom Zufall ab, wenn dafür der ungewisse Eintritt oder Ausgang zukünftiger Ereignisse maßgeblich ist. Auch Wetten gegen Entgelt auf den Eintritt oder Ausgang eines zukünftigen Ereignisses sind Glücksspiele.


Quoted

§3
(2) Ein öffentliches Glücksspiel liegt vor, wenn für einen größeren, nicht geschlosse- nen Personenkreis eine Teilnahmemöglichkeit besteht oder es sich um gewohnheits- mäßig veranstaltete Glücksspiele in Vereinen oder sonstigen geschlossenen Gesell- schaften handelt.




Wenn das Glücksspiel nicht öffentlich (siehe $3 Absatz 2) betrieben wird, dann sollte es keine Probleme geben.


Das ist keine verbindliche Auskunft, im Zweifel ist es besser jemand Fachkundiges zu befragen!

10

Thursday, April 7th 2011, 2:05pm

Hi,

danke für die Rechtsauskunft.
Im Zweifel hätte ich schon einen Anwalt gefragt :)
das hat sich aber mit eurer Auskunft wohl erledigt.

Das Wetten soll zwar auf Spaßbasis passieren und sollte daher auch Einsatzlimits (~2euro) haben, aber die Community ist keineswegs geschlossen und ist für jeden Interessenten erreichbar.

Schade (:

Aber vielen Dank für eure Hilfe!

11

Thursday, April 7th 2011, 3:15pm

Wobei jetzt stellt sich wieder die Frage mit öffentlich. Ein Forum oder eine Seite, bei der sich jeder einfach anmelden kann, ist öffentlich.

Beim dritten Paragraph geht es mehr darum, dass der örtliche Verein einfach zur Unterhaltung etwas veranstaltet oder der Rentnerclub ihr wöchentliches Bingo spielt.

@ali g: lass dich da unbedingt fachkundig beraten.

12

Thursday, April 7th 2011, 8:47pm

Wo ein Wille da ist auch ein Weg! ;)

Wie sieht es denn mit virtuellen Währungen aus?

Sprich Paypal Geld -> Virtuelle Währung -> Auszahlung als Prämien oder Bares ...

Keine Ahnung ob das was ändert! ;)

13

Thursday, April 7th 2011, 9:07pm

Ist halt alles nicht so ein einfaches Thema und nachdem eh nur ein Rechtsanwalt eine Rechtsberatung geben darf, sollte man hier wirklich Fachpersonen aufsuchen. Erstberatungen sind meistens sowieso recht günstig.

HU

Unregistered

14

Friday, April 8th 2011, 12:13am

Anfänger + Frickelsprache wie PHP ist auf jeden Fall auch eine ganz böse Mischung

15

Friday, April 8th 2011, 3:26pm

Hi,

mal gucken wies weiter geht. War ein spontaner Gedanke, der sich seit einigen Tagen bei mir im Kopf entwickelt (Inception??).
Mal ein bisschen Brainstormen und den Anwalt fragen :)

PHP + Anfänger ist zwar ungünstig, aber ich bin recht fit in anderen Sprachen, sodass man da auch etwas Konzept reinbringen könnte :D

ciao

16

Sunday, April 10th 2011, 3:05pm

Noch ein wort zur paypal sicherheit: du wirst bestimmt paypal zahlungen akzeptieren um dein virtuelles guthaben aufzuladen. Die paypal api bietet dazu standardformulare bzw buttons. Dabei übergibt man paypal eine callback url, damit dein php script den eingezahlten automatisch gutschreiben kann. Diese callback url kann einfach manipuliert werden und paypal überträgt dir den falschen betrag (weil in anderer variable). Viele seiten haben dieses sicherheitsrisiko. Entgegnen kannst du dem mit verschlüsselten buttons (gibts auch von paypal) oder manueller kontrolle.

17

Monday, June 13th 2011, 12:12am

Die Integration von Paypal als Zahlmethode in eine "WebApp" ist ein Krampf. Ich hoffe ich bin da nicht allein.

Paypal bietet 1001 Wege um Paypal zu integrieren. Alles funktioniert mal mehr mal weniger gut.

Diesen Zahlbuttons brauch man doch auch nur eine Return URL (return) mit geben, Paypal leitet dann ink. Post Daten auf diese URL weiter, in diesen Post Daten steht dann was gezahlt wurde und an welche Email Adresse.

Ich wollte die IPN Geschichte nutzen bekomme beim validieren der Daten aber immer invalid. Zwischenzeitlich antwortet Paypal auch mal mit Bad Request HTTPOnly ...

Ich bin da mit meinem Chinesisch am Ende -.-

18

Monday, June 13th 2011, 12:38pm

Mit welcher Programmiersprache entwickelst du denn? Für PHP gibt es sehr viele Paypal Wrapper.

19

Monday, June 13th 2011, 8:12pm

PHP ...

Ist bekannt, wir haben aber auch schon mehre Sachen durch getestet ...

Ich bin leicht genervt.

Paypal Sandbox == Fail ... Wieso? Macht mal einen Test mit der Sandbox.
Soweit ich das jetzt recherchiert habe, bekommt man von Paypal immer (!) als Zahlstatus pending wenn man beim Zahlen über die Sandbox NICHT per Kredit Karte gezahlt hat.

Was mir normal schon reichen würde wäre:

- User wird von uns zu Paypal geschickt
- User tätigt die Zahlung
- Paypal sendet den User ink. Informationen zur Zahlung zu uns zurück

Nur wie sieht es mit der Sicherheit aus wenn ich jetzt diese Daten NICHT nochmal zum validieren an Paypal sende, sondern mit zB. einem Hash arbeite?
Und wie stellt man sicher das die Zahlung entweder klappt oder nicht, sprich wenn Paypal sagt "Zahlung ist durch" ist sie es auch und ich kann guten Gewissens Aktion x auslösen aber wenn Paypal sagt "Zahlung ist nicht durch" dann ist das auch so, sprich dem "Kunden" wird nix berechnet und er bekommt von uns auch nix?

Ich sag ja, es gibt so viele Wege Paypal zu integrieren das macht mich leicht kirre!

Sieht Code Technisch einfach so aus das ich ne URL generiere und den Kunden dann zu Paypal leite:


PHP Quellcode

1
2
$gateway_url = 'https://paypal.com/cgi-bin/webscr'; // http://www.paypal.com/gateway$gateway_url .= '?cmd=_xclick';$gateway_url .= '&business=' . urlencode($payment_config->receiver_email);$gateway_url .= '&return='.urlencode($return_url);$gateway_url .= '& notify_url'.urlencode($return_url);$gateway_url .= '&amount=0.01';$gateway_url .= '& currency_code=EUR';$gateway_url .= '&lc=DE';$gateway_url .= '&add=0';$gateway_url .= '&no_note=1';$gateway_url .= '&no_shipping=1';$gateway_url .= '&item_name=Brot+Wurst';$gateway_url .= '&item_number=1';$gateway_url .= '&hash='.md5($secret.'|'.$funds.'|EUR');$gateway_url .= '&rm=2';
redirect($gateway_url);


Wenn das so klappen würde wie ich das oben beschrieben habe, würde mir das schon reichen!

Und so am Rand:

Hatte schon einer Spaß mit "& currency_code" gibt da nämlich nette Probleme mit ;) (Man sieht es hier '¤cy_code= & ¬ify_url=)

Quoted

It's not possible to output any content that includes the phrase "¤" in it. The ¤ gets replaced by some mystic char "�".
So jetzt erzählt mir mal wieso so ner Firma wie Paypal sowas nicht bekannt ist?

Btw, in der Paypal Antwort steht die "Zahlungs Moral" des Paypal Nutzers, jemanden bekannt ob sich das nur auf Paypal bezieht? (Paypal führt doch glaube ich auch ne Schufa Anfrage durch, oder ebay ... Und wenn man halt ebay & paypal konto hat könnte das ja sein oder?)

Wieso quetscht diese Syntax Geschichte hier im Board meinen Code so zusammen? -.-

This post has been edited 8 times, last edit by "Torsten" (Jun 13th 2011, 8:27pm)


Similar threads

Social bookmarks