Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

[gelöst]Direkte Integration von Zahlungsmethoden mit Userpoints

Eingetragen von Maximus (129)
am 22.03.2014 - 19:18 Uhr in
  • Module
  • Drupal 7.x

Hallo liebe Experten,

ich habe ein kleines Problem.
Ich möchte auf meiner Seite jedem User die Möglichkeit bieten, ein Konto anzulegen und dort Geld hochzuladen.
Dazu habe ich mir das Modul Userpoints und Commerce angeschaut.
Ich komme mittlerweile mit Userpoints klar, diese untereinander mit Rules hin und herzubuchen usw. funktioniert alles.
, was allerdings nicht klappt: das Userpoints-Konto möglichst einfach mit verschiedenen Zahlungsmöglichkeiten aufladen zu können.

Der User soll also, wenn er nicht mehr genug Userpoints hat, sein Konto einfach leicht aufladen können. (Paypal, Sofortüberweisung.de, Kreditkarte, usw.)

Hat hier jemand Tipps, wie man sowas integriert?

Vorab vielen Dank,

Max

‹ [gelöst] "NoFollow" für die Links in Social Buttons des Moduls AddToAny [gelöst]Direkte Integration von Zahlungsmethoden mit Userpoints ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Moinsen Max, so out of the

Eingetragen von glycid (888)
am 23.03.2014 - 01:51 Uhr

Moinsen Max,

so out of the box gibts da nichts brauchbares in Drupal, oder ich habs nicht gefunden ;). Aber die Userpoints API macht eine automatische Punkte- Gutschrift nach einem Zahlungsvorgang sehr einfach. Ich beschreib mal kurz, wie ich dieses Prozedere handhabe.

Für die Einbindung der Zahldienste schreibst du ein kleines custom module, das einen Block erzeugt, welchen du dann beliebig in der Seite positionieren kannst. Hier kommen die Links, Buttons etc. zu den Zahlungsanbietern mit den entsprechenden Parametern rein. Damit der Betrag nach der Zahlung eindeutig zugeordnet werden kann, muss natürlich ein identifier als Parameter übergeben werden. Die uid bietet sich da an. In diesem Beispiel für die Zahlungsart "Sofortüberweisung" bei micropayment werden die URL Parameter aus Sicherheitsgründen versiegelt:

<?php
global $user;
$uid = $user->uid;
$name = $user->name;
$account = user_load($uid);
//dpm ($account);
$country = $account->field_adresse['und'][0]['country'];
//dpm ($country);

$eurobetrag = $_POST['betrag'] / 100;
$centbetrag = $_POST['betrag'];
$accessKey = 'hdlso456930304930lll33l34kmm4'; // der ist natürlich ungültig, wird vom Zahlungsanbieter generiert

                         

//Parameter für Sofortüberweisung
$psofort = 'project=mein_tolles_projekt&title=Sofortüberweisung von '.$name.'&uid='.$uid.'&amount='.$centbetrag.'&country='.$country.'&theme=blablubbläh';

//Siegel für Sofortüberweisung erzeugen
$siegelsofort = md5($psofort . $accessKey);


//url für Sofortüberweisung erzeugen
$soforturl = 'https://zahlungsanbieter.de/sofort/event/?' . $psofort . '&seal=' . $siegelsofort;

// Ausgabe des Links

echo ' <div class="zahlart"><p><a href="'.$soforturl. '"><img alt="Zahl mal" src="http://www.zahlungsanbieter/?hängt was dran;"></a></div>';
?>

Bei den Zahlungsanbietern muss man in der Regel einen URL zum Übergeben der Parameter hinterlegen. Diesen kannst du bequem mit hook_menu() generieren. Im page callback regeln wir den Rest:

<?php

/**
* Implements hook_menu(). (Entweder im gleichen oder einem extra Modul)
*/


function sofortueberweisung_menu() {
 
$items['sofortueberweisung'] = array(
   
'page callback' => 'para_micropayment',
   
'access callback' => TRUE,
   
'type' => MENU_CALLBACK,
  );
    return
$items;
}

// callback
function para_micropayment() {
   
  if (isset(
$_GET['amount'], $_GET['title'], $_GET['uid'], $_GET['currency'], $_GET['country'])
      && !empty(
$_GET['amount']) && !empty ($_GET['uid'])) {

     
// die Inhalte der Variablen laut micropayment API
     
$trenner = "\n";
     
$status = 'ok';
     
$url = 'http://mein-projekt/mein-konto'; // Weiterleitung auf das Konto des Users
     
$target = '_top';
     
$forward = 1;
     
$response = 'status=' . $status;
     
$response.= $trenner;
     
$response.= 'url=' . $url;
     
$response.= $trenner;
     
$response.= 'target=' . $target;
     
$response.= $trenner;
     
$response.= 'forward=' . $forward;

      print
$response;

     
// userpoints api
     
$euro = $_GET['amount'] / 100;
     
//die Parameter für die userpoints Funktion
     
$params = array(
       
'uid' => $_GET['uid'],
       
'points' => $euro,
       
'operation' => $_GET['title'],
      );
      
// Konto aufladen
      
userpoints_userpointsapi($params);

  }
  else {
    return
'status=error';
  }
}
?>

Das ist es im Grunde. Bei Paypal ist das ganze ähnlich.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

leg doch einfach ein paar

Eingetragen von caw (2699)
am 23.03.2014 - 06:50 Uhr

leg doch einfach ein paar passende produkte an, die der nutzer "kauft". den entsprechenden betrag kannst du dann dem nutzer per rurles gutschreiben (als userpoints)

C.A.W. Webdesign

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey glycid, erstmal wow!!!

Eingetragen von Maximus (129)
am 23.03.2014 - 09:43 Uhr

Hey glycid, erstmal wow!!! Vielen vielen Dank für deine Mühe!

Wenn ich das richtig seh brauch ich dann mit so einer Code-Lösung das Commerce-Modul gar nicht, wenn ich mich nicht irre.^^
Aber du hast völlig recht, im Grunde möchte ich ja nur einen Bereich mit einem kleinen Field zur Angabe der Summe und dann den verschiedenen Zahlungsanbietern bereitstellen.

Und die Buttons kann ich in hook_form_alter erzeugen und ihnen obige Funktionen zuweisen? Sorry, hab bisher nur Custom-Module geschrieben um bspw. eine View zu ändern, oder den User zu zwingen seine Profildaten zu vervollständigen...selber Buttons zu machen muss ich mir erst aneignen =P

Vielen Dank und viele Grüße,

Max

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo caw, vielen Dank für

Eingetragen von Maximus (129)
am 23.03.2014 - 09:53 Uhr

Hallo caw,

vielen Dank für deine Antwort! Ja, das war auch meine Idee, aber entweder bin ich zu blöd für das Commerce-Modul oder es hat diese Funktionen nicht^^ aber vllt entdeckst du meinen Fehler:

Ich habe ein Produkt "Guthaben" erstellt mit einem Preis von 1 Euro und "Quantity" enabled, sodass der Nutzer die Menge angeben kann. Mit ein bisschen Glück (bei meinen dürftigen CSS-Kenntnissen) hätte ich es vllt hingebracht, dass es gut ausschaut, aber weiter bin ich damit nicht gekommen. Wie erreiche ich, dass nach Auswahl der Summe und "Add to cart" eine Seite mit den Zahlungsanbietern kommt?
Bei mir wird die billing information ausgefüllt wenn ich auf Checkout im cart klicke und dann bäm isses vorbei...Ich schätze ich habe das Commerce-Modul nicht richtig verstanden, weil die Sofortbezahlung muss doch irgendwie dort möglich sein...
Wenn ich es nämlich mit den bereits bestehenden Modulen realisieren könnte würde mir das einiges leichter machen^^und vor allem hab ich keinen plan, ob ichs anders schlussendlich überhaupt hinbekomm...

Vielen Dank für Eure Tipps!

Max

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb Wenn ich das

Eingetragen von glycid (888)
am 23.03.2014 - 10:32 Uhr
Maximus schrieb

Wenn ich das richtig seh brauch ich dann mit so einer Code-Lösung das Commerce-Modul gar nicht, wenn ich mich nicht irre.^^

Du irrst dich nicht. Wozu Commerce? Du willst einfach nur Punkte aufladen und doch keine Produkte verkaufen, oder? Man kauft sich ja auch keinen LKW, um 2 Getränkekisten zu transportieren. Das wäre Overhead ohne Ende.

Maximus schrieb

Und die Buttons kann ich in hook_form_alter erzeugen und ihnen obige Funktionen zuweisen?

Zum Testen kannst den Code erstmal einfach in einen Block packen. (Eingabeformat PHP).
Sauberer ist es, das in einem Modul zu regeln. Hier ein Beispiel:

http://www.whenwhowhere.com/tech-blog/create-block-programmatically-drup...

Im Block kreierst du am besten noch ein Formular mit einer Select Liste für die Beträge, die bei Auswahl per Ajax zurückgegeben werden. Dann sparst du einen Page Reload.

Noch ein Tipp: In meinem Beispiel wird Micropayment verwendet. Sofortüberweisung ist bei MP gebührenfrei! Die bieten auch noch andere Zahlarten wie Kreditkarte, etc. an und sind spezialisiert auf kleine Beträge. Eigentlich braucht man nur Micropayment und Paypal.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb Hallo

Eingetragen von caw (2699)
am 23.03.2014 - 11:01 Uhr
Maximus schrieb

Hallo caw,

vielen Dank für deine Antwort! Ja, das war auch meine Idee, aber entweder bin ich zu blöd für das Commerce-Modul oder es hat diese Funktionen nicht^^ aber vllt entdeckst du meinen Fehler:

Ich habe ein Produkt "Guthaben" erstellt mit einem Preis von 1 Euro und "Quantity" enabled, sodass der Nutzer die Menge angeben kann. Mit ein bisschen Glück (bei meinen dürftigen CSS-Kenntnissen) hätte ich es vllt hingebracht, dass es gut ausschaut, aber weiter bin ich damit nicht gekommen. Wie erreiche ich, dass nach Auswahl der Summe und "Add to cart" eine Seite mit den Zahlungsanbietern kommt?
Bei mir wird die billing information ausgefüllt wenn ich auf Checkout im cart klicke und dann bäm isses vorbei...Ich schätze ich habe das Commerce-Modul nicht richtig verstanden, weil die Sofortbezahlung muss doch irgendwie dort möglich sein...
Wenn ich es nämlich mit den bereits bestehenden Modulen realisieren könnte würde mir das einiges leichter machen^^und vor allem hab ich keinen plan, ob ichs anders schlussendlich überhaupt hinbekomm...

Vielen Dank für Eure Tipps!

Max

glycids methode ist wohl die bessere...

C.A.W. Webdesign

  • Anmelden oder Registrieren um Kommentare zu schreiben

da setz ich mich doch hernach

Eingetragen von Maximus (129)
am 23.03.2014 - 11:45 Uhr

da setz ich mich doch hernach gleich mal dran!!
vielen vielen Dank für diese echt umfassenden infos! Ich berichte dann wies gelaufen ist ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey glycid, eine Frage, die

Eingetragen von Maximus (129)
am 24.03.2014 - 16:32 Uhr

Hey glycid,

eine Frage, die du sicher beantworten kannst:

Verlangt micropayment bzw. paypal beim aufruf mehr Eingaben als einen Betrag?
Wenn nicht, dann brauch ich ja nur ein Feld für den Betrag...oder vergesse ich irgendwelche Usereingaben, die auf meiner Seite getätigt werden müssen bzgl. der Bezahlung?

Die Usereingaben zu validieren hast du dann auch selber übernommen? sprich clientseitige überprüfung mit javascript und serverseitig mit isnumeric() usw.?

Vorab vielen Dank,

Max

  • Anmelden oder Registrieren um Kommentare zu schreiben

Moin Max, bestimmte Parameter

Eingetragen von glycid (888)
am 24.03.2014 - 17:37 Uhr

Moin Max,

bestimmte Parameter müssen mit dem Link übergeben werden. Welche das sind, ist von Anbieter zu Anbieter verschieden und die bekommst du auch "geliefert". In der Dokumentation von micropayment und paypal steht eigentlich alles genau erklärt. Du brauchst dich nur um den Betrag und für die Userpoints API um einen identifier (ich nehm die uid, aber es geht natürlich auch ein äquivalenter Wert) zu kümmern. Die uid liefert dir Drupal und den Betrag brauchst du ja nur zu validieren, wenn die User ihn selbst eintippen sollen. Ich nehm halt Auswahlfelder, da gibts nichts zu validieren. Unabhängig davon validieren die Zahldienste die übermittelten Werte ohnehin noch einmal.

Wichtig ist, dass du die an den Link zum Zahlungsanbieter angehängten Key/Value Paare wie in obigem Beispiel versiegelst, da übertragene Daten per GET Methode prinzipiell durch Dritte manipuliert werden können. Bei Micropayment ist das zum Beispiel keine Pflicht, wird aber dringend empfohlen.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

[quote=glycid]Moin

Eingetragen von gutekunst (174)
am 25.03.2014 - 21:18 Uhr

[quote=glycid]Moin Max,

bestimmte Parameter müssen mit dem Link übergeben werden. Welche das sind, ist von Anbieter zu Anbieter verschieden und die bekommst du auch "geliefert". In der Dokumentation von micropayment und paypal steht eigentlich alles genau erklärt. Du brauchst dich nur um den Betrag und für die Userpoints API um einen identifier (ich nehm die uid, aber es geht natürlich auch ein äquivalenter Wert) zu kümmern. Die uid liefert dir Drupal und den Betrag brauchst du ja nur zu validieren, wenn die User ihn selbst eintippen sollen. Ich nehm halt Auswahlfelder, da gibts nichts zu validieren. Unabhängig davon validieren die Zahldienste die übermittelten Werte ohnehin noch einmal.

Wichtig ist, dass du die an den Link zum Zahlungsanbieter angehängten Key/Value Paare wie in obigem Beispiel versiegelst, da übertragene Daten per GET Methode prinzipiell durch Dritte manipuliert werden können. Bei Micropayment ist das zum Beispiel keine Pflicht, wird aber dringend empfohlen.[/quote

Hänge genau am gleichen Problem. Wie kann ich es einem User ermöglichen sein Punktekonto bspw. mit Paypal, Bitcoins etc. aufzuladen. Kannst du deine Lösung nicht in ein Modul auf Drupal.org packen? Bin leider nicht so fit was das Erstellen von eigenen Moduls etc. angeht :-(

  • Anmelden oder Registrieren um Kommentare zu schreiben

gutekunst schrieb Kannst du

Eingetragen von glycid (888)
am 25.03.2014 - 22:23 Uhr
gutekunst schrieb

Kannst du deine Lösung nicht in ein Modul auf Drupal.org packen? Bin leider nicht so fit was das Erstellen von eigenen Moduls etc. angeht :-(

Ein contrib- Module ist wesentlich aufwändiger als ein custom Module. So sehr ich deinen Wunsch auch verstehen kann, dafür fehlt mir einfach die Zeit. Im Moment bin ich froh, wenn ich meine deadlines halten kann.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey glycid, versteh ich das

Eingetragen von Maximus (129)
am 27.03.2014 - 20:46 Uhr

Hey glycid,

versteh ich das richtig? In meinem Formular (post) frage ich die zahlungsweiße (optionbuttons) und den Betrag (Textfeld, mit javascript von mir angeseteuert, nur ganzzahlige werte erlaubt) ab. Als actions-adresse im formular gebe ich dann ein weiteres php skript an, welches diese Variablen mit $_POST abfrägt und dann eine URL mit den entsprechenden Parametern für den Zahlungsanbieter generiert und aufruft?
Und dann richte ich noch ein php Skript ein, welches von Paypal als rückverweis-url benutzt wird, die bezahlte Summe ausliest und dementsprechend userpoints zuweist?

oder verstehe ich da vom ablauf und aufbau etwas falsch?

vorab vielen vielen Dank!

Max

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb oder verstehe

Eingetragen von glycid (888)
am 27.03.2014 - 21:02 Uhr
Maximus schrieb

oder verstehe ich da vom ablauf und aufbau etwas falsch?

Nein, genau richtig verstanden.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

gottseidank...die paypal

Eingetragen von Maximus (129)
am 27.03.2014 - 22:40 Uhr

gottseidank...die paypal anbindung ist mir ein reines hokus pokus =D

  • Anmelden oder Registrieren um Kommentare zu schreiben

sorry wenn ich dazu schon

Eingetragen von Maximus (129)
am 30.03.2014 - 10:49 Uhr

sorry wenn ich dazu schon wieder was fragen muss...

aber da sich micropayment mit der freischaltung meines projekts ordentlich zeit lässt und ich bis dahin auch nix anderes machen kann wollte ich in der zwischenzeit das gleiche für paypal machen...scheitere aber fatal bereits an der dokumentation und habe keine ahnung was die jetzt eigentlich von mir wollen.

Hast du für paypal auch schon mal so einen einfachen zahlungsaufruf geschrieben? Wenn ja wärs fantastisch, wenn du das jeweilige code-schnipsel hier zeigen könntest, weil ich nicht mal dahinterkomm, welche parameter die übergeben haben wollen...solltest du eine vernünftige anleitung für einen nicht-profi zur hand haben würde mir das auch weiterhelfen^^

Vorab vielen vielen Dank!

Max

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb Hast du für

Eingetragen von glycid (888)
am 31.03.2014 - 10:02 Uhr
Maximus schrieb

Hast du für paypal auch schon mal so einen einfachen zahlungsaufruf geschrieben?

Nee, paypal wurde in meinem Auftrag aufgrund der relativ hohen Gebühren rausgenommen. Da kann ich dir kein Code- Beispiel liefern. Ich hatte mir damals jedoch die Developer Dokumentation durchgelesen. Die ist erst mal ziemlich verwirrend, das sehr viele Methoden behandelt werden. Aber irgendwann kriegst du gefiltert, was du brauchst. Wahrscheinlich wäre es hilfreich, mal in das Commerce- Paypal Modul reinzuschauen...

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da kann man so viel zeug

Eingetragen von Maximus (129)
am 31.03.2014 - 11:56 Uhr

Da kann man so viel zeug machen...mega unübersichtlich. Das haben die jungs bei micropayment schon wesentlich einfacher gemacht. Aber das mit dem commerce-modul scheint eine gute idee zu sein. Wenn ich was finde schreib ichs hier rein. Kann man irgendwie unterbinden dass user eigenständig die url mit den parametern eingeben und sich so schnell mal 1000 userpoints herzaubern?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb Kann man

Eingetragen von glycid (888)
am 01.04.2014 - 01:04 Uhr
Maximus schrieb

Kann man irgendwie unterbinden dass user eigenständig die url mit den parametern eingeben und sich so schnell mal 1000 userpoints herzaubern?

Die User bekommen den API- URL ohnehin nicht zu sehen. Für den Fall, dass doch mal jemand den URL rausfinden sollte, kannst du den Zugang auf die IP's von Micropayment und ggf. Paypal in der .htaccess von vornherein beschränken.

Zunächst solltest du den URL als Query String definieren. Also statt $items['response_url'] als $items['q=response_url'] Sonst gibts bei aktivierten Clean URLs Probleme.

Bei Micropayment gibts laut Dokumentation drei mögliche Server, von denen der Call ausgehen kann:

  1. Allow from service.micropayment.de 193.159.183.234
  2. Allow from proxy.micropayment.de 193.159.183.235
  3. Allow from access.micropayment.de 193.159.183.236

In deiner .htaccess Datei schreibst du direkt nach der Zeile RewriteEngine on folgendes:

RewriteCond %{REMOTE_ADDR} !^193\.159\.183\.234 [OR]
RewriteCond %{REMOTE_ADDR} !^193\.159\.183\.235 [OR]
RewriteCond %{REMOTE_ADDR} !^193\.159\.183\.236
RewriteCond %{QUERY_STRING} q=response_url [NC]
RewriteRule ^(.*)$ index.php [F,L]

Dann suchst du weiter unten nach den Kommados

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico

die Zeile: RewriteRule ^ index.php [L] und ersetzt diese durch: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Damit ist deinedomain.de/response_url nicht mehr direkt aufrufbar und keine Manipulation möglich.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

hallo glycid, schonmal vielen

Eingetragen von Maximus (129)
am 01.04.2014 - 13:50 Uhr

hallo glycid,

schonmal vielen Dank!

leider funktioniert das bei mir irgendwie nicht...muss ich irgendwo eine variable in deinem code abändern? hab leider keine ahnung von diesen htaccess-anweisungen...

  • Anmelden oder Registrieren um Kommentare zu schreiben

was steht bei dir jetzt

Eingetragen von glycid (888)
am 01.04.2014 - 14:41 Uhr

was steht bei dir jetzt aktuell in der Funktion:

function sofortueberweisung_menu() {
  $items['sofortueberweisung'] = array(
    'page callback' => 'para_micropayment',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );
    return $items;
}

für den Array- Key 'sofortueberweisung' ?

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

momentan steht bei mir

Eingetragen von Maximus (129)
am 01.04.2014 - 14:47 Uhr

momentan steht bei mir "bankpay" drin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Moinsen Max, von Zeit zu Zeit

Eingetragen von glycid (888)
am 01.04.2014 - 14:51 Uhr

Moinsen Max,

von Zeit zu Zeit hab ich das Gefühl, du liest alles sehr oberflächlich ;). Ich schrieb doch:

Zitat:

Also statt $items['response_url'] als $items['q=response_url'] Sonst gibts bei aktivierten Clean URLs Probleme.

Also muss du statt $items['bankpay'] $items['q=bankpay'] schreiben.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

mhm^^aber ich habs mit beidem

Eingetragen von Maximus (129)
am 01.04.2014 - 15:06 Uhr

mhm^^aber ich habs mit beidem probiert...bei q=bankpay bekomme ich aber ohne die änderungen im htaccess schon keinen aufruf zusammen. Außer ich rufe die url dann schließlich mit /q=bankpay auf. Das sollte aber glaub ich nicht der fall sein...

Ich möchte als redirect url einfach /bankpay angeben können, ist das nicht möglich?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb mhm^^aber ich

Eingetragen von glycid (888)
am 01.04.2014 - 15:20 Uhr
Maximus schrieb

mhm^^aber ich habs mit beidem probiert...bei q=bankpay bekomme ich aber ohne die änderungen im htaccess schon keinen aufruf zusammen. Außer ich rufe die url dann schließlich mit /q=bankpay auf. Das sollte aber glaub ich nicht der fall sein...

Ich möchte als redirect url einfach /bankpay angeben können, ist das nicht möglich?

Wenn du in den Einstellungen clean URLs aktivierst, wird deinedomain/?q=bankpay zu deinedomain/bankpay umgeschrieben. Vorausgesetzt, mod_rewrite ist auf dem Server aktiviert, aber davon gehe aus. Prüf das doch noch mal. Bei mir funktioniert es so wie beschrieben einwandfrei. Also muss es ja auch bei dir gehen...

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

clean urls ist bei mir

Eingetragen von Maximus (129)
am 01.04.2014 - 15:40 Uhr

clean urls ist bei mir aktiviert.

ändere ich aber im modul diese items-variable dann kann ich einen aufruf nur noch mit /q=bankpay?uid=1&amount=5000 aufrufen.
Ein einfacher aufruf mit bankpay?uid=1 usw. funktioniert nicht mehr. So bekomme ich nur "Seite nicht gefunden"

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und die .htaccess Notationen

Eingetragen von glycid (888)
am 01.04.2014 - 18:05 Uhr

Und die .htaccess Notationen sind wie bei mir?

1)

<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteCond %{REMOTE_ADDR} !^80\.237\.132\.53[OR]
  RewriteCond %{REMOTE_ADDR} !^80\.237\.132\.54[OR]
  RewriteCond %{REMOTE_ADDR} !^80\.237\.132\.55
  RewriteCond %{QUERY_STRING} q=ebank2pay [NC] //q=ebank2pay durch q=bankpay ersetzen
  RewriteRule ^(.*)$ index.php [F,L]

2)

# Pass all requests not referring directly to files in the filesystem to
  # index.php. Clean URLs are handled in drupal_environment_initialize().
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Edit: Tippfehler

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich hab doch das erste

Eingetragen von Maximus (129)
am 01.04.2014 - 17:40 Uhr

ich hab doch das erste problem noch nicht gelöst:

ein aufruf mit /bankpay?meinevariablen=meinewerte funktioniert nicht mehr...bevor ich das nicht gelöst habe will ich ungern meine eigenen aufrufe blockieren, weil ich dann überhaupt keinen überblick mehr habe was jetzt funktioniert und was nicht ^^

ich denke das wird dann schon funktionieren, wenns bei dir ja auch funktioniert...aber ich versteh den sinn noch nicht meine item[] variable in "q=bankpay" umzubennen, wenn die konsequenz davon ist, dass ich das ding dann auch mit "q=bankpay" aufrufen muss...das q= kann ich mir dann doch sparen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb aber ich

Eingetragen von glycid (888)
am 01.04.2014 - 18:14 Uhr
Maximus schrieb

aber ich versteh den sinn noch nicht meine item[] variable in "q=bankpay" umzubennen, wenn die konsequenz davon ist, dass ich das ding dann auch mit "q=bankpay" aufrufen muss...das q= kann ich mir dann doch sparen

Der einzige Sinn von q=bankpay ist der, dass das Bedingung: RewriteCond %{QUERY_STRING} in der .htaccess eben dieses Query String Format erwartet. Andernfalls funktioniert es nicht und wir könnten den IP Access so nicht realisieren. Davon abgesehen, kannst du jede Seite bei dir einmal mit deineseite/impressum und deineseite/?q=impressum aufrufen. Probiers doch mal. Wenn dich das stört, installiere das Modul "Global Redirect".

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, ich verstehe...da man die

Eingetragen von Maximus (129)
am 01.04.2014 - 18:18 Uhr

Ok, ich verstehe...da man die API-URL ja sowieso nicht zu gesicht bekommt ist es eh egal, wenn man die mit ?q= aufrufen muss. Wobei mich das trotzdem wundert, dass dies nur mit ?q= seiten funktioniert...dachte ich hätte irgendwo anders noch einen wurm drin.

Wieder mal vielen vielen Dank für deine Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Maximus schrieb Wobei mich

Eingetragen von glycid (888)
am 01.04.2014 - 21:05 Uhr
Maximus schrieb

Wobei mich das trotzdem wundert, dass dies nur mit ?q= seiten funktioniert...dachte ich hätte irgendwo anders noch einen wurm drin.

Eigentlich isses Wurscht. Du kannst bei Micropayment ja auch deinedomain.de/?q=bankpay hinterlegen. Aber wenn clean urls aktiviert sind und und das Umschreiben bei deinen anderen URLs klappt, muss der call auch mit deinedomain.de/bankpay funktionieren. Wenn das nicht der Fall ist, ist in der Tat irgendwo der Wurm drin. Aber wo, kann man aus der Ferne natürlich schlecht sagen, zumal ich das Problem nicht habe.

Webentwicklung mit Drupal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Daten werden bei Sortierung mehrfach ausgegeben
  • Hilfsprogramme
  • [gelöst] Sichtbarkeit von Seiten über Rollen steuern
  • [gelöst] Menüpunkte deaktivieren sich automatisch
  • Kartenansicht, Position des Users und Nodes anzeigen
  • Theme suggestion wird nicht verwendet
  • [gelöst]Pflichtfeld vom User deaktivieren lassen
  • Konto löschen, wie? (Drupalorg/Drupalcenter)
  • Layout-Builder hängt
  • Drupal 8/9 SEO-Beratung/Coaching
  • Verschachtelte UND / ODER Abfrage mit hook_views_query_alter
  • Hilfe zu Views und Filter?
Weiter

Neue Kommentare

  • Was sind denn deine
    vor 15 Stunden 20 Minuten
  • Zitat: Ich möchte ja die
    vor 1 Tag 17 Stunden
  • Gelöst
    vor 1 Tag 18 Stunden
  • Das hilft mir leider nicht.
    vor 1 Tag 18 Stunden
  • Wenn ich es richtig verstehe,
    vor 1 Tag 19 Stunden
  • Liebe Regina, herzlichen Dank
    vor 2 Tagen 7 Stunden
  • Nimm content access, aber Du
    vor 2 Tagen 14 Stunden
  • Verlege diese Funktion in ein
    vor 2 Tagen 15 Stunden
  • Nodeaccess geht ja gerade
    vor 2 Tagen 16 Stunden
  • sollte mit domainaccess gehen
    vor 2 Tagen 18 Stunden

Statistik

Beiträge im Forum: 246111
Registrierte User: 18885

Neue User:

  • Stine_64
  • uniquename
  • xapizm

» Alle User anzeigen

User nach Punkten sortiert:
wla9018
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3917
ronald3832
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 2 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association