Add entry to donation table and send confirmation email. Redirect to appropriate payment processor if needed.
Verify the request's integrity and check for irregularities (i. e. bad words, exceeding donation amount limit). Refuse insertion of data if integrity check fails, set status to pending on irregularities. Must handle locale/country-dependent data (eg. different number format with comma as decimal separator, different ZIP code lengths depending on country, etc).
POST request, application/x-www-form-urlencoded
URL https://test.wikimedia.de/spenden/spende.php
Request Body: betrag_auswahl=5%2C00&betrag=&intervalType=0&zahlweise=BEZ&debit-type=non-sepa&iban=DE12500105170648489890
&bic=INGDDEFFXXX&konto=0648489890&blz=50010517&adresstyp=person&anrede=Herr&titel=Kein+Titel&vorname=jhebk&nachname=veebwk&firma=&strasse=mevbek3b2hn&plz=11234&ort=Berlin&country=DE&email=gb%40blah.com
&go_prepare--pay%3Aeinzug=&periode=0&bankname=ING-DiBa&iframe=&form=10h16_Confirm&appeal=&from_form=10h16_Form2_Ticker_Intrvar
&tracking=&source=web&referrer=https%3A%2F%2Ftest.wikimedia.de%2Fspenden%2F&wikilogin=&layout=form%3D10h16_Form1
&color=&impCount=0&bImpCount=0&skin=10h16&from_pay=&utoken=1ad43457353b285d23b109df379424b80f000d46&stamp=2016-01-04+15%3A52%3A45&PHPSESSID=nsh4hui3055nl76v9873invn33&appealExpanded=&back_form=10h16_Form1
Request model parameters
- betrag
- zahlweise
- periode
- iban
- bic
- konto
- blz
- bankname
- adresstyp
- anrede
- titel
- firma
- vorname
- nachname
- firma
- strasse
- plz
- ort
- country
The required field set depends on the address type:
- anonymous: all address fields can be left out
- firma: vorname and nachname can be left out
- person: firma can be left out
Additional parameters for the endpoint (presentation-related):
- tracking (set of piwik campaign and keyword (e. g. campaignName/bannerName)
- source (host name of referring site)
- impCount (total impressions before donating)
- bImpCount (current banner's impressions before donating)
- form
- from_form: current form
- layout
- color
- skin
- back_form: Form before the current form