Hilfe bei Access Skript Php / Mysql

04/27/2014 18:01 Cℓoud#1
Hallo, ich möchte auf meiner [Only registered and activated users can see links. Click Here To Register...] gerne eine Bezahlfunktion einbauen, dies mach ich über einen x-beliebigen Anbieter. Ich soll dort nun ein Access Link eintragen, sprich ein Link der geöffnet wird wenn die Bezahlung erfolgreich war.

Ich möchte mir nun ein Skript basteln, was einen einfachen Eintrag in meiner Datenbank ausführt, was auch garnicht weiter das Problem ist .. allerdings möchte ich das dieses Skript nur ausgeführt wird, wenn die Bezahlung beim Anbieter erfolgreich war.

Ich habe keine wirklichen Lösungs Ansätze für mein Problem, eine erste Idee waren Cookies, allerdings wäre das ganze dann ne riesen Sicherheitslücke, Cookies kann ja jeder auslesen .. kann mir da jemand vllt. weiterhelfen?
04/27/2014 18:47 pr0Cellarum#2
PayPal bietet in seiner API zB die Möglichkeit, eine URL anzugeben, die aufgerufen wird, wenn die Bezahlung getätigt wurde.

Code:
Request 
-------
Endpoint URL: https://api-3t.sandbox.paypal.com/nvp
HTTP method: POST
POST data:
USER=insert_merchant_user_name_here
&PWD=insert_merchant_password_here
&SIGNATURE=insert_merchant_signature_value_here
&METHOD=SetExpressCheckout
&VERSION=86
&L_BILLINGTYPE0=RecurringPayments    #The type of billing agreement
&L_BILLINGAGREEMENTDESCRIPTION0=FitnessMembership    #The description of the billing agreement
&cancelUrl=http://www.yourdomain.com/cancel.html    #For use if the consumer decides not to proceed with payment 
[B]&returnUrl=http://www.yourdomain.com/success.html   #For use if the consumer proceeds with payment [/B]
 
Response
--------
TOKEN=EC%2d2B984685J43051234
[B]&ACK=Success[/B]
...
Quelle: [Only registered and activated users can see links. Click Here To Register...]



Die hinterlegte URL kann dann auf dein Script zeigen, welches prüft, ob in der Antwort der API, die Transaktion als erfolgreich geflaggt wurde und den Eintrag in die Datenbank schreiben.
04/27/2014 18:57 Cℓoud#3
Ich mach das ganze mit PayGol, muss da ebenfalls lediglich nen Link eintragen, der aufgerufen wird wenn die Bezahlung getätigt wurde. Mein Problem ist vielmehr die API und wie ich mit dieser, den gewünschten Effekt umsetze.
04/27/2014 19:34 pr0Cellarum#4
Ich habe mir mal eben die Beispiel-Implementation angeschaut. So wie ich das verstehe, wird die URL, die als Background URL hinterlegt werden kann, aufgerufen, wenn die Zahlung abgeschlossen wurde. Somit ist das schon die Überprüfung, ob die Zahlung erfolgreich war.

Du müsstest demnach die Background URL auf dein Skript eigen lassen, welches den Datensatz in die Datenbank schreibt.
04/27/2014 19:41 Cℓoud#5
Quote:
Originally Posted by pr0Cellarum View Post
Ich habe mir mal eben die Beispiel-Implementation angeschaut. So wie ich das verstehe, wird die URL, die als Background URL hinterlegt werden kann, aufgerufen, wenn die Zahlung abgeschlossen wurde. Somit ist das schon die Überprüfung, ob die Zahlung erfolgreich war.

Du müsstest demnach die Background URL auf dein Skript eigen lassen, welches den Datensatz in die Datenbank schreibt.
Also würde das wie folgt aussehen:

BackgroundUrl = Skript was ausgeführt werden soll
ReturnUrl = Weiterleitung beispielsweise auf Startseite, wenn Transaktion erfolgreich war.
CancelUrl = Weiterleitung, wenn Transaktion abgebrochen wurde oder ähnliches.

Die Background Url würde also niemand zu Gesicht bekommen?
04/27/2014 20:00 pr0Cellarum#6
So entnehme ich es der Dokumentation. Aber sicher es trotzdem gegen den unbefugten Zugriff ab. Zum Beispiel mit dem Codeschnipsel, der auch in der Dokumentation zu finden ist. Es gibt immer Leute, die gerne mal auf die Suche nach sowas gehen :rolleyes:
04/27/2014 20:28 Cℓoud#7
Ja mach ich in jenem Fall. Danke für die Hilfestellung!