IDeal Mollie oplossing van Arjan
Ik krijg de melding bij de mollie testbank wanneer ik op wel betaald klik, de melding dat het niet is betaald. Bij Arjan werkt het wel goed. Ik heb al van alles geprobeerd. De database word niet goed geupdate. Ik heb aan dat stuk bijna niets veranderd, maar het werkt toch niet.
Het updaten:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
case 'report':
if(in_array($_SERVER['REMOTE_ADDR'], $ipadresses))
{
if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
{
if($testmode)
{
curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."&testmode=true");
}else{
curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."");
}
$xml = new SimpleXMLElement(curl_exec($ch));
if((string) $xml->order->payed == 'true')
{
$query = "UPDATE payments SET paid = 1 WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."'";
$result = mysql_query($query);
}
}
}
break;
?>
case 'report':
if(in_array($_SERVER['REMOTE_ADDR'], $ipadresses))
{
if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
{
if($testmode)
{
curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."&testmode=true");
}else{
curl_setopt($ch, CURLOPT_URL, "http://www.mollie.nl/xml/ideal?a=check&partnerid=".$partnerID."&transaction_id=".$_GET['transaction_id']."");
}
$xml = new SimpleXMLElement(curl_exec($ch));
if((string) $xml->order->payed == 'true')
{
$query = "UPDATE payments SET paid = 1 WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."'";
$result = mysql_query($query);
}
}
}
break;
?>
En het ophalen:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
case 'return':
if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
{
$query = "SELECT paid FROM payments WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."' AND paid = 1";
$result = mysql_query($query);
if($result && mysql_num_rows($result) == 1)
{
unset($_SESSION['wwagen']);
$factuur = htmlspecialchars(mysql_query("SELECT factuur FROM payments WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."'")->factuur);
$sql = "UPDATE bestelling SET betaald = '1' WHERE factuur = '".$factuur."'";
$go = mysql_query($sql);
echo '<p>Gelukt! De betaling is succesvol ontvangen!</p>';
echo '<p><a href="index.php">Terug</a></p>';
}else{
echo '<p>Sorry, de betaling is niet succesvol ontvangen!</p>';
}
}else{
echo '<p>Sorry, er word een transactie id verwacht en deze dient alphanumeriek te zijn!</p>';
}
break;
?>
case 'return':
if(!empty($_GET['transaction_id']) && ctype_alnum($_GET['transaction_id']))
{
$query = "SELECT paid FROM payments WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."' AND paid = 1";
$result = mysql_query($query);
if($result && mysql_num_rows($result) == 1)
{
unset($_SESSION['wwagen']);
$factuur = htmlspecialchars(mysql_query("SELECT factuur FROM payments WHERE payment_id = '".$payment_id."' AND transaction_id = '".mysql_real_escape_string($_GET['transaction_id'])."'")->factuur);
$sql = "UPDATE bestelling SET betaald = '1' WHERE factuur = '".$factuur."'";
$go = mysql_query($sql);
echo '<p>Gelukt! De betaling is succesvol ontvangen!</p>';
echo '<p><a href="index.php">Terug</a></p>';
}else{
echo '<p>Sorry, de betaling is niet succesvol ontvangen!</p>';
}
}else{
echo '<p>Sorry, er word een transactie id verwacht en deze dient alphanumeriek te zijn!</p>';
}
break;
?>
Er zijn nog geen reacties op dit bericht.