Breezingforms, PayPal Button

  • BreezingForms ist vermutlich eine Erweiterung, die nicht so selten benutzt wird. Deshalb hoffe ich, hier eine Lösung zu finden.

    Ich habe einen Paypal-Button eingebunden, hat auch zunächst funktioniert. Dann habe ich ein Feld über den PayPal-Button eingefügt vom Typ "select from list" und dem Namen "spendenbetrag". Der vom User dort ausgewählte Spendenbeitrag soll mit Klick auf den PayPal-Button an Paypal mit übergeben werden. Dazu schreibt Crosstec in holprigem Deutsch:


    "Wenn ihrer Formular einen Datei Element Typ hat, machen sie das folgendes:

    Stattdessen ff_validate_submit für den PayPal Knopf, benutzen Sie ein Spezialen Skript als ACTION CLICK mit diesem Code:


    ff_elementName_action(element, action)

    {

    switch (action) {

    case 'click':

    bfDoFlashUpload()

    break;

    default:;

    } // switch

    } // ff_elementName_action


    Machen sie sicher, dass die 'elementName' das gleiche als diese Elemente Name ist."


    Entsprechend bin ich so verfahren:


    Beim PayPal-Button (nicht beim Feld "spendenbetrag"!) habe ich "Type" auf "Custom" eingestellt. Bei "Create code framework" habe ich folgendes eingegeben:


    ff_spendenbetrag_action(element, action)

    {

    switch (action) {

    case 'click':

    bfDoFlashUpload()

    break;

    default:;

    } // switch

    } // ff_spendenbetrag_action


    Ich habe also genau nach Anleitung den Literalteil "elementName" zweimal durch "spendenbetrag" ersetzt. Ergebnis: Der Button funktioniert nicht. Und zwar egal. ob ich "Actions click" mit Häkchen belege oder nicht. Habe ich da etwas falsch verstanden? Wahrscheinlich liegt es daran, dass ich diese Programmiersprache (HTML? CSS? Javascript?) nicht beherrsche. Ich komme aus der SAP-Programmierung. Aber vielleicht geht jemand anderem sofort ein Licht auf, wie das gemeint sein könnte.


    Freundlichen GRuß

    saumhuhn

  • Ich glaube schon, dass du das an dieser Stelle richtig gemacht hast, wobei der Entwickler von Crosstec ja eigentlich ein Deutscher ist. ;)


    Das Problem wird, wenn das Javascript generell funktiniert, was du im Browser per Fehlerkonsole checken kannst, ein anderes sein.

  • Der Webbereich läuft leider aus mehreren Gründen nicht so Regel-konform und stabil wie der etablierte Bereich von C++-Anwendungen, Java etc.


    Aber schreibe doch mal alert("hallo"); hinter click: und prüfe, ob die Funktion ausgeführt wird. Prüfe auch, ob spendenbeitrag als Begriff stimmt und richtig geschrieben ist.

  • Also: Ich habe es versucht - keine Reaktion. ABER: Ich habe jetzt Crosstec's ENGLISCHE Anleitung gelesen. Und da ist die Sache ganz anders. Da steht nichts davon, dass man ein Betragsfeld mit dem Paypalknopf verbinden kann und dazu den Elementnamen benutzen soll. Dort steht sinngemäß: "Wenn Sie einen HTML5-Upload machen wollen..." Das dürfte was ganz anderes sein. Und deshalb dürfte das, was ich will, NIEMALS funktionieren. Seh' ich's richtig?


    Es ist zu blöd! In der Konfiguration hat der PP-Knopf eine Variable mit Namen "Amount". Da kann man den exakten Betrag, der an PP übermittelt werden soll, eintragen. Blöd nur, dass der User dann natürlich keinen eigenen Betrag bestimmen kann - wie ich es mit meiner Variablen "Spendenbetrag" vorgesehen hatte. Ich müsste also meine Variable auf die Variabel "Amount" übertragen - aber geht das???


    (Ich will eigentlich nicht immer mehr Erweiterungen implementieren. Aber wenn ich hier keine Lösung finde, muss ich mich doch nach einer Paypal-Spendenlösung umschauen, die flexibler ist. Ist eine als wirklich gut bekannt und dennoch kostenlos?)

  • Ich hab schon was probiert in der Art. Meine eigene Lösung - so sie denn funktionieren würde - würde ich jedoch vorziehen. Es müsste doch (vielleicht mittels eines scripts?) möglich sein, meine Variable "spendenbetrag" mit dem PP-Button zu verbinden (wie oben beschrieben). Kann mir denn niemand dazu einen Tip geben?

  • bfDoFlashUpload() klingt für mich auch falsch, das wird ein Upload sein und zur Demonstration dienen. Ohne Programmierkenntnisse wird das wohl nichts.


    1. Man müsste die Variable mit dem Spendenbetrag ausgeben und zwar womöglich verzögert, per setTimeout, wenn kein Callback zur Verfügung steht oder bekannt ist

    2. Die Variable müsste im richtigen Format (das muss ja nicht das Ausgabeformat im Button sein) in die Aufrufanweisung von Paypal geschrieben werden


    Wahrscheinlich wird Paypal über GET aufgerufen und man übergibt den Betrag als Parameter, dann würde man den Paypal-Link entsprechend ergänzen, in der Theorie ungefähr so, wobei die Selektoren mal frei erfunden sind:

    JavaScript
    $('a.paypal').attr('href', function(index, href) {
    
      var url = new URL(href);
      url.searchParams.set('payment',$('.betrag'.attr('.data-betrag'));
      return url;
    
    });