Hallo,

ik zit met het volgende probleem, ik ben bezig met een simpele webshop waar je kan afrekenen met iDeal d.m.v. de API van Mollie.

Op de productpagina zie je een overzicht van de producten en heb je per product een 'buy now' button. Als je erop klikt word je netjes doorgestuurd naar de mollie die het betaalproces afhandelt, het moment dat je op de knop klikt wordt er ook een record aangemaakt in de tabel genaamd 'webshop_status' met het orderID en de status wat beiden wordt aangemaakt / opgehaald door de api van mollie.

Nadat je een test betaling hebt gedaan wordt je teruggestuurd naar 'return-page.php' waar je 'bedankt' etc ofzo gaat zien :p

Het probleem is dat je ook een script moet maken wat mollie aanroept (webhook) als er een statusupdate is, deze webhook wordt dus aangeroepen door mollie het moment dat de klant betaald heeft.

Dit script heb ik al af (met dank aan wat voorbeeld code van mollie) maar ik krijg de webhook niet werkend. Ik krijg ook geen error te zien aangezien ik niet weet hoe mollie het script aanroept etc.

Ik heb de code van bestand wat mollie aanroept (webhook.php) hieronder toegevoegd.

Weet iemand wat er hier fout gaat?

- Marco


<?php
/*
* Example 2 - How to verify Mollie API Payments in a webhook.
*/

try
{
include "../include/dbconnect.php";
/*
* Initialize the Mollie API library with your API key.
*
* See: https://www.mollie.nl/beheer/account/profielen/
*/
include "../mollie-api-php-1.1.6/examples/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.
*/
$act_status = $payment->status;

if ($payment->isPaid() == TRUE)
{
mysql_query("UPDATE webshop_status SET status='paid' WHERE orderID='$order_id'");
/*
* At this point you'd probably want to start the process of delivering the product to the customer.
*/
}
elseif ($payment->isOpen() == FALSE)
{
mysql_query("UPDATE webshop_status SET status='$act_status' WHERE orderID='$order_id'");
/*
* The payment isn't paid and isn't open anymore. We can assume it was aborted.
*/
}
}
catch (Mollie_API_Exception $e)
{
echo "API call failed: " . htmlspecialchars($e->getMessage());
}
Met die code werkt het wel!
Dank allemaal voor de hulp :)
Hoi,

Ik ben momenteel met ehtzzeflde bezig en ben ook tegen dit probleem gekomen.
Kun je laten weten hoe ej dit ogpeslot hebt gekregen?

Ik krijg bij de Return pagina niet de status te zien, omdat het maar niet lukt om de $payment_id aan te roepen.

Reageren