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

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "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
  • 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.
  • 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
  • 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
  • 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.
  • 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.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • 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.
  • Szabo schrieb:

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


    Das betrifft aber nur öffentliche Glücksspiele !

    Quelle Glücksspielstaatsvertrag


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


    §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.


    §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!
  • 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!
  • 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
  • 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.
  • 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 -.-
  • 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:


    Quellcode

    1. $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';
    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=)

    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? -.-

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von Torsten ()