mollie webhook werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel van Seggelen

Daniel van Seggelen

05/04/2019 08:10:06
Quote Anchor link
Ik zit in de testfase mollie te implementeren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$payment = $mollie->payments->create([
          "amount" => [
                "currency" => "EUR",
                "value" => "".array_sum($total).".00" // You must send the correct number of decimals, thus we enforce the use of strings
          ],
          "description" => "Premium rapport",
          "redirectUrl" => "".HTML_ROOT."betaald",
          "webhookUrl" => "".HTML_ROOT."inc/webhook.php",
          "metadata" => [
                "order_id" => "12345",
          ],
    ]);


met : <form method="post" id="betaal" action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $payment->getCheckoutUrl()?>
">

gaat hij netjes de test doen en via paid komt er geet $_POST['id'] in de webhook.php.

Waarom??

WEBHOOK>PHP

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
include('../config.php');
include(DOC_ROOT.'class/class.php');
$DBD = new DBD();
                if (isset($_POST['id']))
                {
                    require_once (DOC_ROOT.'mollie/vendor/autoload.php');
                    require_once (DOC_ROOT.'mollie/examples/functions.php');
                    $mollie = new \Mollie\Api\MollieApiClient();
                    $mollie->setApiKey("test_xxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    
        
                $payment = $mollie->payments->get($_POST['id']);                    
                echo $payment ;
                mysqli_query($DBD->conn(),"INSERT into orders (status) values ('".$_POST['id']."')  ");    
                
                }
 
PHP hulp

PHP hulp

18/09/2019 22:42:44
 
Rob Doemaarwat

Rob Doemaarwat

05/04/2019 09:51:47
Quote Anchor link
Wat zit er dan wel in die $_POST? Dump 'm eens naar disk, zodat je kunt zien wat er dan *wel* in zit/zat (misschien wel een error). Als ik zo gauw de Mollie docs lees zie ik al dat die getCheckoutUrl altijd via een GET aangeroepen moet worden. De form POST moet je dus naar je eigen server doen, en dan (na verwerken van het form en het aanmaken van de getCheckoutUrl) een redirect naar Mollie/bank.

En sowieso:
- "value" => "".array_sum($total).".00": Als nu $total = [12.34], dan staat er value => "12.34.00". Gebruik gewoon number_format.
- Waarom steeds die "".whatever? Als uiteindelijk blijkt dat het een string moet zijn maakt PHP die er vanzelf wel van (bijvoorbeeld omdat je achter "whatever" toch al een string plakt). Dit maakt het er niet leesbaarder op.
 
Thomas van den Heuvel

Thomas van den Heuvel

05/04/2019 12:03:18
Quote Anchor link
Is de webserver vanwaar het betaalverzoek wordt gedaan uberhaupt bereikbaar vanaf het internet? Het internet kent immers alleen maar zijn "eigen" localhost.
 
Daniel van Seggelen

Daniel van Seggelen

05/04/2019 12:55:20
Quote Anchor link
Dat werkt ook niet, ik heb het via een get eerst naar mijn server verstuurd en dan met een window.location geredirect.

Moet dat echt met een php header? ik ga dat zo proberen, ben ff onderweg

Toevoeging op 06/04/2019 05:08:23:

"
Quote:
Is de webserver vanwaar het betaalverzoek wordt gedaan uberhaupt bereikbaar vanaf het internet? Het internet kent immers alleen maar zijn "eigen" localhost.
"

Jazeker, in de browser open ik hem gewoon direct.
 



Overzicht Reageren

 
 

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.