mollienl-betaal-script

Gesponsorde koppelingen

PHP script bestanden

  1. mollienl-betaal-script

« Lees de omschrijving en reacties

Verwerken.php, deze laat je door Mollie aanspreken zodra een betaling goed is verlopen!

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
<?php
include('verbinding.php');

$ipadressen = array (
    '82.94.203.80',
    '82.94.203.81',
    '82.94.203.82',
    '82.94.203.83',
    '82.94.203.84',
    '82.94.203.85',
    '82.94.203.86'
);

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(in_array($ipadres, $ipadressen))
    {

        //We verwachten dat er parameters worden meegestuurd.
        if(isset($_GET['parameter']) && !empty($_GET['parameter']))
        {

            //Zijn deze parameters numeriek?
            if(is_numeric($_GET['parameter'][1]) && is_numeric($_GET['parameter'][2]))
            {

                $id        = mysql_real_escape_string($_GET['parameter'][1]);
                $inlogcode     = mysql_real_escape_string($_GET['parameter'][2]);
                
                //Alles klopt! Activeer die rij!
                $query         = "UPDATE inlogcodes SET geactiveerd = 'j', tijd = NOW() WHERE id = '".$id."' AND inlogcode = '".$inlogcode."'";
                $resultaat     = mysql_query($query);
                
                if($resultaat && mysql_affected_rows() == 1)
                {

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

?>


Mollie.php, deze laat je door de gebruiker openen. Hij/zij krijgt de simpele keuze tussen het aanvragen van een code om een betaling op te starten of om in te loggen met een reeds aangevraagde (en evt. betaalde) code. Dat inloggen is niet altijd nodig... Als je alleen een rij wilt updaten zou je dat er dus ook uit kunnen halen, maar wat als je nou een bepaalde download wilt aanbieden? Of een spelletje? Die kan je daar in het inlog gedeelte invoegen.

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
//Hier vul je je mollie micropaymentid in.
$mollieid        = '202425';
$molliepartnerid    = '15115';

$acties     = array('inloggen','aanvragen');

include('verbinding.php');
?>

<html>
<head>
<script language="javascript" src="http://www.mollie.nl/partners/js/<?php echo $molliepartnerid; ?>.js"> </script>
<title>Mollie.nl PHP-Script.</title>
</head>
<body>
<?php
if(isset($_GET['actie']) && !empty($_GET['actie']))
{

    if(in_array($_GET['actie'],$acties))
    {

        $actie = mysql_real_escape_string($_GET['actie']);
        
        switch($actie)
        {
            case
'inloggen':
                if($_SERVER['REQUEST_METHOD'] == 'POST')
                {

                    if(isset($_POST['inlogcode']) && !empty($_POST['inlogcode']))
                    {

                        if(is_numeric($_POST['inlogcode']))
                        {

                            $inlogcode = mysql_real_escape_string($_POST['inlogcode']);
                            
                            $query = "SELECT id, geactiveerd FROM inlogcodes WHERE inlogcode = '".$inlogcode."'";
                            $resultaat = mysql_query($query);

                            if($resultaat && mysql_num_rows($resultaat) == 1)
                            {

                                $rij     = mysql_fetch_array($resultaat);

                                $id         = $rij['id'];
                                $geactiveerd     = $rij['geactiveerd'];

                                if($geactiveerd == 'j')
                                {

                                                                        echo '<p>Gefeliciteerd, deze inlogcode is succesvol geactiveerd!</p>';
                                }
else{
                                    echo '<p>Deze code is nog niet betaald en dus ook nog niet geactiveerd. Je kunt <a href="#" onClick="mbetaal(\'id='.$mollieid.'&parameter[1]='.$id.'&parameter[2]='.$inlogcode.'\');return false;">hier</a> klikken om hem alsnog te activeren.</p>';
                                }
                            }
else{
                                echo '<p>Er bestaat geen account met deze inlogcode!</p>';
                            }
                        }
else{
                            echo '<p>Ik verwacht een numerieke inlogcode!</p>';
                        }
                    }
else{
                        echo '<p>Ik verwacht een inlogcode!</p>';
                    }
                }
else{
                    echo '<form action="'.$_SERVER['PHP_SELF'].'?actie=inloggen" method="post">';    
                                        echo '<label for="inlogcode" accesskey="i">Inlogcode: </label>';    
                                        echo '<input type="text" id="inlogcode" name="inlogcode" tabindex="1" value="" title="Uw inlogcode"><br><br>';                            
                                        echo '<input type="submit" name="versturen" value="Versturen" id="versturen" tabindex="2">';    
                                        echo '<input type="reset" id="wissen" name="wissen" value="Wissen" tabindex="3">';    
                                        echo '</form>';        
                }

            break;

            case
'aanvragen':
                $inlogcode  = null;
                                $cijfers    = range(0,9);

                for($i=0; $i < 8; $i++)
                {

                    $inlogcode .= $cijfers[mt_rand(0, 9)];
                }


                $query         = "INSERT INTO inlogcodes (inlogcode,tijd) VALUES ('".$inlogcode."',NOW())";
                $resultaat     = mysql_query($query);

                if($resultaat && mysql_affected_rows() == 1)
                {

                    echo '<p>Je inlogcode is <b>'.$inlogcode.'</b>, het is aan te raden de inlogcode ergens te noteren zodat je deze zomenteen kunt gebruiken om in te loggen. Je kunt nu <a href="#" onClick="mbetaal(\'id='.$mollieid.'&parameter[1]='.mysql_insert_id().'&parameter[2]='.$inlogcode.'\');return false;">hier</a> klikken om deze inlogcode te activeren.</p><p>Als je deze inlogcode geactiveerd hebt kun je <a href="?actie=inloggen">hier</a> inloggen.</p>';
                }
else{
                    echo '<p>Sorry, er ging iets mis met het updaten van de database!</p>';
                }

            break;
        }

    }
else{
        echo 'Sorry, deze actie is niet toegestaan!';
    }
}
else{
    echo '<p>Wil je inloggen met een reeds geactiveerde inlogcode? Klik dan <a href="?actie=inloggen">hier</a>!</p>';
    echo '<p>Heb je nog geen inlogcode maar wilt die graag aanvragen? Dan kan dat <a href="?actie=aanvragen">hier</a>!</p>';
}

?>

</body>
</html>


En de databasecode :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
CREATE TABLE `inlogcodes` (
  `id` int(4) NOT NULL auto_increment,
  `inlogcode` int(4) NOT NULL default '0',
  `geactiveerd` enum('j','n') NOT NULL default 'n',
  `tijd` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`)
)

 
 

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.