TargetPay php script werkt niet
Ik heb hier een script die ik van targetpay heb.
Targetpay is een dienst die betalingen via telefoon, creditcard, ... aanbiedt.
Ik zou graag gebruik maken van hun functie op mijn site om eerst te betalen vooraleer je kunt registreren op mijn forum.
Dit is de code:
Code (php)
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
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
<?php
function access()
{
$accesscode = $_GET["accesscode"]; // toegangscode berekend op targetpay.com
$time = (int)$_GET["time"]; // epoch time op targetpay.com
$ip = $_GET["ip"]; // Cliënt ip adres op targetpay.com
// Tijd moet groter zijn dan de targetpay tijd
if( time() < $time )
{
die("Lokale tijd is ". (time()-$time) ."sec. vroeger dan op Targetpay.com");
}
// Remote address moet gelijk zijn als in het betaalscherm
// Note: Sommige Proxy servers veranderen het IP adres.
// Mocht u hier problemen mee ondervinden, schakel dan het die() statement uit.
if( $ip <> $_SERVER["REMOTE_ADDR"] )
{
die("Client IP ".$_SERVER["REMOTE_ADDR"]." ongelijk aan ".$ip." op TargetPay.");
}
// Betalings URL is c*10 minuten geldig
for ($c=0;$c<=1008;$c++)
{
$t = substr(strftime("%Y%m%d%H%M", time()-($c*600)),0,11);
$hash = md5($ip. "ccf18a9135". $t);
if( $hash == $accesscode ) return true;
}
return false;
}
if (!access())
{
die ("U heeft niet betaald of de betaling is verlopen.");
}
Echo "Toegang succesvol.";
?>
function access()
{
$accesscode = $_GET["accesscode"]; // toegangscode berekend op targetpay.com
$time = (int)$_GET["time"]; // epoch time op targetpay.com
$ip = $_GET["ip"]; // Cliënt ip adres op targetpay.com
// Tijd moet groter zijn dan de targetpay tijd
if( time() < $time )
{
die("Lokale tijd is ". (time()-$time) ."sec. vroeger dan op Targetpay.com");
}
// Remote address moet gelijk zijn als in het betaalscherm
// Note: Sommige Proxy servers veranderen het IP adres.
// Mocht u hier problemen mee ondervinden, schakel dan het die() statement uit.
if( $ip <> $_SERVER["REMOTE_ADDR"] )
{
die("Client IP ".$_SERVER["REMOTE_ADDR"]." ongelijk aan ".$ip." op TargetPay.");
}
// Betalings URL is c*10 minuten geldig
for ($c=0;$c<=1008;$c++)
{
$t = substr(strftime("%Y%m%d%H%M", time()-($c*600)),0,11);
$hash = md5($ip. "ccf18a9135". $t);
if( $hash == $accesscode ) return true;
}
return false;
}
if (!access())
{
die ("U heeft niet betaald of de betaling is verlopen.");
}
Echo "Toegang succesvol.";
?>
Ik heb de regel
die("Client IP ".$_SERVER["REMOTE_ADDR"]." ongelijk aan ".$ip." op TargetPay.");
verwijdert omdat ik problemen heb met het IP adres.
Maar als ik betaal en doorverwezen wordt krijg ik: U heeft niet betaald of de betaling is verlopen.
Terwijl ik wel betaald heb.
Waar zou het probleem kunnen zitten?
Voor de mensen die niet begrijpen wat ik bedoeld, hier kun je het zelf testen:
http://addicted2bass.info/vip/SMF/pay.php
Dank bij voorbaat
Gewijzigd op 27/09/2012 21:24:51 door Dirk Tijsen