Mollie.nl betaal systeem

Door Arjan Kapteijn, 23 jaar geleden, 15.640x bekeken

Allereerst ga ik er vanuit dat je aangemeld bent bij Mollie en je zelf een micropayment aangemaakt hebt. Hierbij moet u opgeven welke URL Mollie op de achtergrond moet oproepen zodra er een betaling is gedaan. Je krijgt dan een stukje code wat er als volgt uit gaat zien;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="#" onClick="mbetaal('id=75111');return false;">Betaal-link</a>


We gaan die code uitbreiden en ergens op een website plaatsen...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="#" onClick="mbetaal('id=75111&parameter[1]=1234&parameter[2]=4321');return false;">Bestel</a>


Wat je hier ziet zijn een aantal parameters, de eerste is je persoonlijke micropayment ID, in mijn geval 75111. Parameter[1] & Parameter[2] zijn waardes die wij zelf kunnen invullen. Die krijgen we daarna ook 'terug' om een controle mee uit te voeren. Uiteraard kan je hier zoveel waardes meegeven als je zelf wilt!

Wanneer er een betaling is verwerkt roept Mollie de URL op de achtergrond aan, hierin sturen zij tevens een aantal GET variables (zoals het gebelde nummer, de betaal code, en eventueel onze eigen parameters).

Wat wij dan terug zouden kunnen krijgen is bijvoorbeeld het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
http://www.henzenrunners.nl/betaald.php?betaalnummer=0909-0400403
&betaalcode=415001&id=75111&parameter[1]=1234&parameter[2]=4321


# betaalnummer: het nummer waar de klant heen heeft gebeld;
# betaalcode: de code die de klant heeft moeten invoeren;
# id: micropayment ID welke betaald is (kan eventueel handig zijn ivm meerdere micropayments, bijv. verschillende bedragen...);
# parameter: de parameters die door ons zijn meegestuurd!

Hieronder staat een stukje code die je makkelijk kunt uitbreiden. Wat je uiteindelijk hebt is in mijn geval 2 waardes waar je mee kunt doen wat je zelf wilt.

Je zou bijvoorbeeld een update query kunnen uitvoeren die credits opwaardeerd, maar je zou ook een emailtje kunnen sturen of een andere handeling. Er zijn zat extra mogelijkheden te verzinnen want je kan zelf zoveel waardes meesturen als je wilt.

Waarom heb ik gekozen voor mollie? Het is een erg 'open' systeem, transpirant en er zit een goede website achter. Mollie is ook niet iets wat ik persoonlijk asocieer met banners en reclame handelaren. Daarbij gaan er in dit systeem geen gebruikersnamen en/of wachtwoorden over de lijn... En is het een stuk veiliger omdat wij geen verbinding hoeven maken met de 'dienst', maar de 'dienst' een verbinding maakt met ons!

Gesponsorde koppelingen

PHP script bestanden

  1. mollienl-betaal-systeem

 

Er zijn 30 reacties op 'Mollienl betaal systeem'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


23 jaar geleden
 
0 +1 -0 -1
Netjes. Goede beschrijving en commentaar!
Arjan Kapteijn
Arjan Kapteijn
23 jaar geleden
 
0 +1 -0 -1
Het is een klein script... Maar er was de laatste tijd zoveel vraag naar dat ik maar eventjes op onderzoek ben uitgeweest :).
- SanThe -
- SanThe -
23 jaar geleden
 
0 +1 -0 -1
@Arjan: Op de voorbeeld pagina een klein typfoutje: grensen => grenzen

Verder even gekeken hoe het werkt. Dat lijkt erg eenvoudig te gaan. Je gebruikt de javascript-file van mollie en dan neemt mollie het gewoon over. Netjes. Inderdaad geen passwords etc. over het Internet. Ziet er redelijk veilig uit.

Edit: Dit systeem is zo te zien alleen voor kleine betalingen.
Arjan Kapteijn
Arjan Kapteijn
23 jaar geleden
 
0 +1 -0 -1
Ze noemen het niet voor niks micropayments. Het is bedoeld voor simpele dingen en gaat tot € 4,40 SMS en telefoon kan je zo duur maken als je wilt (maar dan moeten mensen lang aan de lijn blijven).

Er zijn ook andere manieren, maar dan is het geen micropayment meer :).
Bart van Asselt
Bart van Asselt
22 jaar geleden
 
0 +1 -0 -1
Het werkt helaas niet, mollie roept niks op:(:(
Bart van Asselt
Bart van Asselt
22 jaar geleden
 
0 +1 -0 -1
ik heb jou script wat verandert en het werkt perfect:D:D
DeleteAll DeletelAll
DeleteAll DeletelAll
22 jaar geleden
 
0 +1 -0 -1
Maar waar moet je je functie dan zetten (bv. je query)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
 //Dit is de enige output die Mollie kan hebben... de betaling is ontvangen!        
            echo 'OK';
        }

?>

Hier op de plaats van "ok"

Of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

        if(isset($_GET['parameter']))
        {

            $waarde1         = $_GET['parameter'][1];
            $waarde2         = $_GET['parameter'][2];
?>

Hier op de plaats van waarde1 /2?
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Je haalt de waardes op, en daarna kan je ermee doen wat je wilt.
Bart V B
Bart V B
22 jaar geleden
 
0 +1 -0 -1
Vraagje van de beginner;
Bovenstaand script is dat het gene wat je betaal.php moet noemen?
zo ja, moet ik dan in mijn geval mijn formulier op de plaats van
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
        
            echo 'OK';
        }

?>
?

En het javascript? die moet ik in de header plaatsen dat is duidelijk maar wat als je nu je pagina in een array include? Moet ie dan in de index.php? (daar zit mijn html in)
Want ik heb alleen maar pure php scripts geinclude op mijn pagina of teksten.
Dus als je bijvoorbeeld naar links gaat wordt dat
http://www.site.nl/index.php?pagina=links

Alvast bedankt voor de hulp.
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Javascript moet daar waar het hoort, tussen de <head> en <head> in je html.
Ivo
ivo
22 jaar geleden
 
0 +1 -0 -1
Hallo ik begrijp hier nog steeds niets van hoe u het uitleg
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Wat begrijp je dan niet?
Ivo
ivo
22 jaar geleden
 
0 +1 -0 -1
ik weet niet hoe je dat moet koppelen
Ivo
ivo
22 jaar geleden
 
0 +1 -0 -1
ik weet niet hoe ik dit moet aanpassen enz

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if($_SERVER['REQUEST_METHOD'] == "GET")
{

    //Iemand roept ons aan met een aantal GET variabelen! Wie is het?
    $ipadres = $_SERVER['REMOTE_ADDR'];
    
    //We laten alleen de onderstaande ipadressen toe... Die zijn van Mollie!
    if($ipadres == '82.94.255.118' || $ipadres == '82.94.255.119')
    {

        if(isset($_GET['parameter']))
        {

            $waarde1         = $_GET['parameter'][1];
            $waarde2         = $_GET['parameter'][2];

            //Dit is de enige output die Mollie kan hebben... de betaling is ontvangen!        
            echo 'OK';
        }    
    }    
}

?>
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Waaraan?
Ivo
ivo
22 jaar geleden
 
0 +1 -0 -1
dit heb ik nu

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
//sql connectie includen
include ("connect.php");

//Plaats link pagina//
if (isset($plaatslink)) {
//Als formuliertje is ingevuld
            if ($_POST['submit']) {
                if ($naam !="" AND $email !="" AND $url!="")
                {

                $naam    = addslashes($_POST['naam']);
                $email   = addslashes($_POST['email']);
                $url     = addslashes($_POST['url']);
                $cat     = addslashes($_POST['cat']);
                $insert   = "INSERT INTO links_url (id, naam, url, sort, cat, email, status) VALUES ('', '$naam', '$url', '0', '$cat', '$email', 'wachtrij')";
                mysql_query ($insert) or die(mysql_error());
                echo "Bedankt voor het aanmelden van je link.<br>Na goedkeuring van de webmaster zal deze op de website worden gezet.";
                }

                else { echo "U heeft één van de benodigde velden niet ingevuld!<br><a href='javascript:window.history.go(-1)'>Klik hier om terug te keren</a>";}
            }

//formulier invullen
            else {        echo "<table width=\"450\"><tr><td width=\"125\" valign=\"top\"><b>Naam website</b> *</td><form action=\"$PHP_SELF?plaatslink\" method=post><td width=\"325\"><input name=\"naam\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>
                        <tr><td width=\"125\" valign=\"top\"><b>Url website</b> *</td><td width=\"325\"><input name=\"url\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>
                        <tr><td width=\"125\" valign=\"top\"><b>Email-adres</b> *</td><td width=\"325\"><input name=\"email\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>
                         <tr><td width=\"125\" valign=\"top\"><b>Categorie</b> *</td><td width=\"325\"><select name='cat'><option></option>"
;
                    $gbc_query = "SELECT * FROM links_cat ORDER BY sort";
                    $gbc_exec = mysql_query($gbc_query);
                    while ($gbc_result = mysql_fetch_array($gbc_exec)) {
                    $gbc_id = $gbc_result["id"];
                    $gbc_naam = $gbc_result["naam"];
                    echo "<option value=\"".$gbc_id."\">".$gbc_naam."</option>"; }
                        echo "</select></td></tr><tr><td width=\"125\"></td><td width=\"325\"><input name=\"submit\" type=\"submit\" value=\"Verzend\"></td></form></tr></table>";
                }}

                                
//Laat links zien pagina//
else {
//categorieen selecteren
$gbc_query = "SELECT * FROM links_cat ORDER BY sort";
$gbc_exec = mysql_query($gbc_query);
while ($gbc_result = mysql_fetch_array($gbc_exec)) {
$gbc_id = $gbc_result["id"];
$gbc_naam = $gbc_result["naam"];
echo "<table width=450  style='border-style: solid; border-color: #CCCCCC; border-width: 1;' cellpadding=0 cellspacing=0 align=center><tr><td>&nbsp;<b>".$gbc_naam."</b></td><td align=right><a href='$PHP_SELF?plaatslink'>Plaats jouw link</a>&nbsp;</td></tr></table><br><table width=450  style='border-style: solid; border-color: #CCCCCC; border-width: 1;' cellpadding=0 cellspacing=0 align=center>";
                    
                    //bijbehorende links selecteren
                    $gbu_query = "SELECT * FROM links_url WHERE cat='$gbc_id' AND status != 'wachtrij' ORDER BY naam DESC";
                    $gbu_exec = mysql_query($gbu_query);
                    while ($gbu_result = mysql_fetch_array($gbu_exec)) {
                    $gbu_naam = $gbu_result["naam"];
                    $gbu_url = $gbu_result["url"];
                    $gbu_status = $gbu_result["status"];
                    echo "<tr><td>&nbsp;<a href=\"".$gbu_url."\" title=\"".$gbu_naam."\" target=\"_blank\">".$gbu_naam."</a></td></tr>"; }
                    
        //tabel afsluiten en link naar plaats-pagina
        echo "</table><br>"; }}
?>


daar aan moet de betaal systeem aangekopeld worden
Arjan Kapteijn
Arjan Kapteijn
22 jaar geleden
 
0 +1 -0 -1
Systeem zit er al in... Persoolijk vind ik het makkelijker om een gebruiker gewoon te registeren maar zijn account op non-actief te zetten. Dan verwijzen naar mollie en als de betaling binnen is zijn account activeren.
Iwan
Iwan
21 jaar geleden
 
0 +1 -0 -1
Hoe kan ik dit in mijn PHPBB integreren ???
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Maak een extra kollom 'betaald' aan in je user-tabel, dan kan je eenvoudig zien wie gedoneerd heeft en aan de hand daarvan extra rechten toekennen.
Iwan
Iwan
21 jaar geleden
 
0 +1 -0 -1
Oh sorry bedoelde eigenlijk als login systeem.
Dus ik gebruik het PHPBB forum samen met de MKPortal CMS.
Dus wat ik wil is, voordat mensen zich gaan registreren, eerst moeten betalen.

Wat ik van MobileMoney gekregen heb, is een script wat in de head moet.
En een link naar de script.

Mvg,
Iwan
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Hoe handig ben je met PHP? Je kan gewoon een account niet activeren, en pas activeren als een betaling is binnen gekomen. Is redelijk eenvoudig toe te passen.

Anders doe je het handmatig, in PHPBB zit zo'n optie dat jij een account eerst moet activeren.
Iwan
Iwan
21 jaar geleden
 
0 +1 -0 -1
Ik ben niet zo handig met php zelf, ik kan kom er met de scripts van phpbb en mkportal wel uit maar zelf scripten nee sorry.

Ik heb de account activering nu op gebruiker staan, dus de gebruikers die een account aanmaken krijgen zelf een mail met een activerings link.

Bedoel je dat ik als admin de gebruikers zelf moet gaan activeren ??
Dat zou ook kunnen ja, gewoon administrator aanvinken.....

Maar zou het niet makkelijker zijn om de knop "tekst"registreren gewoon door telinken naar een pagina die de popup van mobile opend ??
En dat de popup dan doorlinkt naar de registratie pagina ??

Want wat mij logisch klinkt "neem me niet kwalijk als het niet zo is" is dat je de knop makkelijk in een bestand zou moeten kunnen doorlinken toch ?
Of zie ik dat verkeerd ???

Mvg,
Iwan
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Alles kan, echter, als je zelf niet kunt programmeren houd het snel op.
Johnw8
johnw8
21 jaar geleden
 
0 +1 -0 -1
Hallo,

Ben niet zo een kei op php-gebied, ben al ruim een half jaar aan het knutselen een pay-site op te zetten en ben erg benieuwd of zoiets zowiezo mogelijk is als amateur? Met php is het denk ik wel mogelijk!

Kort script, maar ik ben er nog mee bezig om het te laten werken.
(Heb het gistern gevonden).

Even wat vragen over dit script:

1. Waar 'verstop' ik de url van mijn website-pagina die ik wil vertonen?
Op zo een manier dat de bezoeker er na de betaal-periode niet MEER op kan?
Met andere woorden: moet ik in het php-script een url-verwijzing maken (lijkt mij het meest logisch), en zo ja hoe? Hoe moet ik dit vermelden:
met http:// etc of is dit niet nodig als de betreffende browser al weet van welk domein het php vandaan komt?
Ik wil namelijk dit php-bestand gebruiken als oproepbestand, wat ik doorgeef aan de http://www.mollie.nl/micropayments/ -server.
De klant wordt dan (na betaling) doorverwezen naar deze url, en krijg er dan ook alleen maar toegang zolang zijn betaling geldig is.
Of is het mischien beter om bij Mollie de pagina te verwijzen als html (manco dan: als de bezoekers deze openen, kunnen ze de links etc hierin lezen)?

______________

2. if($ipadres == '82.94.203.80' || $ipadres == '82.94.203.86')

Kan ik de || lezen als: de waarden 'tot en met' of is het alleen 'of' in php-taal? (moet ik dus alle ip-adressen apart vermelden?

______________

3. $waarde1 = $_GET['parameter'][1];
$waarde2 = $_GET['parameter'][2];

Waar dien ik de parameters-data te zetten (bij 'parameter' of bij 1?)en hoe definieer ik ze? Kan ik mijn eigen klant-code etc van Mollie hier al invullen?

Alvast vriendelijk dank voor de genomen moeite
Arjan Kapteijn
Arjan Kapteijn
21 jaar geleden
 
0 +1 -0 -1
Johnw, volgens mij snap je de hele bedoeling van het script niet. Kijk hier ook eens naar, die is al wat verder uitgewerkt.

1) Dit bepaal je zelf, je kan gewoon een link neer zetten 'na de betaling kunt u hier klikken' of laat mollie de gebruiker doorsturen. Op die pagina kijk je vervolgens in de database bijv. of die gebruiker toegang mag hebben.

2) Wat ben je van plan? Dit zijn de 2 ipadressen van mollie, die veranderen niet. || staat voor 'OR', met andere woorden, het script gaat alleen verder als het ipadres xx of xx is. Je hoeft aan die regel code niks te veranderen, dus ik snap niet waarom je dat wel wilt doen.

3) Je kunt waardes meegeven in de onclick mbetaal() functie. Bijv. om de gebruiker later te identificereren. Je klant-code hier neerzetten is vrij nutteloos.

Check die link die ik je hierboven gegeven heb, misschien is mijn handleiding ook wel wat voor je.
Johnw8
johnw8
21 jaar geleden
 
0 +1 -0 -1
Bedankt voor je prompte reactie, Arjan.
Ik ga meteen ff verder knutselen aan mijn php-files.
De link naar je http://04.ipublications.net/ is ook erg nuttig en leerzaam. (Ik heb in het verleden ook met Pascal geprogammeert, en zo te zien is dit het internet-vervolg op deze progammeer-taal? Anyway: genoeg reden om eens flink te sleutelen aan mijn kennis)

Update dd 31/10:
Een en ander, wat betreft werken met php nu gelukt:
Ik heb zelf maar een inlog-systeempje (met terugkoppeling naar mijn server via mail etc) opgezet voor bezoekers aan mijn website
Nogmaals: bedankt voor de links en je duidelijke voorbeelden daarin.
Dennis
dennis
21 jaar geleden
 
0 +1 -0 -1
IP adressen van mollie zijn gewijzigd ze hebben nu een nieuwsubnet
Marcel
Marcel
19 jaar geleden
 
0 +1 -0 -1
Super handig script, waarvoor dank!
In je tutorial zeg je
"Je zou bijvoorbeeld een update query kunnen uitvoeren die credits opwaardeerd, maar je zou ook een emailtje kunnen sturen of een andere handeling. Er zijn zat extra mogelijkheden te verzinnen want je kan zelf zoveel waardes meesturen als je wilt. "

Heb je hier ookeen tutorial van? Of weet je waar ik deze kan vinden? Ik zou dit graag willen gebruiken!

Alvast bedankt
Jesper Diovo
Jesper Diovo
19 jaar geleden
 
0 +1 -0 -1
@Marcel: Da's niet zo moeilijk. Een update query is standaard SQL en een mailtje verzenden kun je ook wel met SwiftMailer. Een andere handeling kun je via PHP maken.

Het gaat er hier om als de gebruiker betaalt heeft, hè, wat dan 'geactiveerd' of toegankelijk mag worden o.i.d.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arjan Kapteijn
Arjan Kapteijn
19 jaar geleden
 
0 +1 -0 -1
Marcel,

Deze is met een updatequery en een heel systeem eromheen. En hier staat een iDEAL oplossing met Mollie.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. mollienl-betaal-systeem

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.