Beste lezer. Ik ben nu al 3 dagen bezig met het installeren van het mollie payment ideal script. Ik heb letterlijk ieder post op php hulp gelezen en geprobeerd maar het wil niet lukken. Ik heb het idee dat de oplossing in een heel klein hoekje zit alleen heb ik geen idee waar ik het moet zoeken.

Het lukt me wel om een betaling aan te vragen.
Maar op de een of andere manier kan ik niet de payment status opvragen bij de webhook. (controle van de betaling). Ik hoop dat iemand hier me kan vertellen wat ik fout doe. Er zijn 2 manieren om de webhookpagina op te vragen. Via je mollie account en via het opvraagscript. Ik heb beide manieren geprobeerd maar ik krijg de status maar niet opgevraagd op de webhookpagina.

Dit is de pagina waar er volgens mij ergens iets misgaat: Ik moet vermelden dat de Webhook pagina wel geopend wordt door mollie. Dit heb ik getest door een entry in de database te plaatsen zodra de pagina bezocht wordt. Wat gaat er mis?
Alvast hartstikke bedankt voor jullie hulp!

Dit is de informatie pagina over de webhook
https://www.mollie.com/nl/docs/reference/payments/get


<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');



include("connection2.php");





try
{
/*
* Initialize the Mollie API library with your API key.
*
* See: https://www.mollie.nl/beheer/account/profielen/
*/
include "initialize.php";

/*
* Retrieve the payment's current state.
*/
$payment = $mollie->payments->get($_POST["id"]);
$order_id = $payment->metadata->order_id;

/*
* Update the order in the database.
*/

if($payment->status == "paid"){

mysql_query(" INSERT INTO `betaalstatus` (`id`, `orderid`, `paymentid`) VALUES (NULL, 'test', 'paid') ");

}
elseif($payment->status == "open"){
mysql_query(" INSERT INTO `betaalstatus` (`id`, `orderid`, `paymentid`) VALUES (NULL, 'test', 'open') ");
}
elseif($payment->status == "expired"){
mysql_query(" INSERT INTO `betaalstatus` (`id`, `orderid`, `paymentid`) VALUES (NULL, 'test', 'expired') ");
}
}
catch (Mollie_API_Exception $e)
{
echo "API call failed: " . htmlspecialchars($e->getMessage());
}






Haal je api key eens weg. Die zet je niet op een forum

[size=xsmall]Toevoeging op 14/11/2015 05:24:01:[/size]

Verder: $order_id op regel 13
Maar $orderid op 17

Dit ziu en foutmekding in de ligs moeten geven
Ivo P op 14/11/2015 05:19:51

Haal je api key eens weg. Die zet je niet op een forum

[size=xsmall]Toevoeging op 14/11/2015 05:24:01:[/size]

Verder: $order_id op regel 13
Maar $orderid op 17

Dit ziu en foutmekding in de ligs moeten geven

Bedankt voor je reactie
Wat bedoel je precies met order id op regel 17? Want dat is niet het probleem want als hij dat al zou uitvoeren heb ik al de paid status al gekregen.

En wat moet ik veranderen aan regel 13?

Je moet op 1 van die 2 regels de underscore toevoegen danwel verwijderen.

Je krijgt anders niets in je database.

Maar dat was voor je de query uit he script hierboven haalde
Ivo P op 14/11/2015 11:27:42

Je moet op 1 van die 2 regels de underscore toevoegen danwel verwijderen.

Je krijgt anders niets in je database.

Maar dat was voor je de query uit he script hierboven haalde



Op die manier.. Ja dat snap ik wel Dankje maar dat is niet het probleem. Het gaat erom dat hij nooit de status "paid" krijgt. Als je zou vertellen hoe dat voor elkaar krijg zou ik het heel erg op prijs stellen
En hoe weet jij dat?
Want je slaat de status nu niet op.
Dan wel, je probeerde de status op te slaan maar dan met de verkeerde variabele voor het orderid

[size=xsmall]Toevoeging op 14/11/2015 11:56:45:[/size]

Ivo P op 14/11/2015 11:49:08

En hoe weet jij dat?
Want je slaat de status nu niet op.
Dan wel, je probeerde de status op te slaan maar dan met de verkeerde variabele voor het orderid


die database inset had ik snel als voorbeeld geplaatst. En ik krijg ook geen entry. Dat wil zeggen dat hij helemaal niets opslaat.

--->
mysql_query(" INSERT INTO `betaalstatus` (`id`, `orderid`, `paymentid`) VALUES (NULL, 'werkthet', 'werkthet') "); --->

De status van de paiment vraag ik dus niet goed op want de query wordt nooit uitgevoerd Ik wil weten hoe ik dat dan wel moet doen. PS ik heb het net getest met het juiste order id. Het werkt helaas niet. Ik zou dus graag willen weten hoe ik de status van de payment wel op kan vragen. Alvast bedankt
Geen fk restricties?
Wat als je letterlijk die query handmatig uitvoert?
Ik weet niet wat een fk restrictie is. Maar als ik de query bovenaan de pagina plaats krijg ik een entry. Ook als ik de query in php admin toevoeg krijg ik een entry. Alles wijst erop dat ik de payment status niet goed opvraag. Doe ik op dat gebied alles goed?
Error log bekeken?

Wat zit er in $-post ?
Schrijf die inhoud even weg en roep de pagina in een Browser aan met die gegevens
Waar vandaan roep je de API aan? Een lokale testomgeving? Mollie kan (edit: naar alle waarschijnlijkheid) geen reactie terugsturen naar een lokaal IP / lokale virtuele host omdat deze op het internet onbekend is.

Om de API te kunnen testen zul je dit naar alle waarschijnlijkheid vanaf een locatie ergens op het internet moeten doen. Zodra je een URL meegeeft die (op de achtergrond) aangeroepen moet worden moet deze URL natuurlijk bereikbaar zijn voor de andere partij.

Daarbij kan het handig zijn om het melden + weergeven van fouten aan te zetten (als je in de ontwikkel-/een debugfase zit), zet hiertoe de volgende code aan het begin van je script:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>

Reageren