Mollie hulp
Ik ben een beginnend php hobbyist en ben bezig met een simpele webshop met Ideal integratie via Mollie. Ik loop echter tegen het volgende probleem aan. Ik heb geen idee waar ik precies moet beginnen. Ik heb nu een pagina staan die het totaal af te rekenen bedrag berekend en om gegevens van de besteller vraagt, maar weet absoluut niet hoe ik deze informatie nu vervolgens bij Mollie moet krijgen en dus eigenlijk hoe ik mollie moet gebruiken om af te rekenen. Hopelijk kunnen jullie me in de goede richting wijzen?
Nog ter verduidelijking van de situatie: ik heb een variabele met het totaal en van mollie.nl een hele hoop php pagina's gedownload. Hoe moet ik nu verder?
Hans
deze pagina. Waar je waarschijnlijk ook de PHP pagina's hebt gedownload.
Verder naar onder staat de documentatie hoe je het script kunt gebruiken.
Hier zie jij bijv hoe je een bedrag mee stuurt, maar ook hoe je terug krijgt of deze gelukt is, enzovoort.
Zie Verder naar onder staat de documentatie hoe je het script kunt gebruiken.
Hier zie jij bijv hoe je een bedrag mee stuurt, maar ook hoe je terug krijgt of deze gelukt is, enzovoort.
Ik zou echt niet weten waar ik die require statement moet zetten en die twee $mollie variables.
Kan iemand mij dit misschien vertellen? Of is iemand misschien op de hoogte van een wat makkelijkere/uitgebreidere tutorial? Of iemand die een tip kan geven over informatie die ik moet lezen om dit te begrijpen?
@Hans
Kan je iets duidelijker uitleggen wat je niet begrijpt, want ik zie niet over welke twee variabelen je het nu hebt.
De twee $mollie variabelen staan in het tweede stuk code in de link van michael. Situatie is nu dat ik een variabele heb op mijn eigen site, maar weet eigenlijk niet waar ik die require statement moet plaatsen en de andere code die in diezelfde tutorial staat.
Code (php)
1
2
3
4
2
3
4
<?php
$mollie = new Mollie_API_Client;
$mollie->setApiKey("test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM");
?>
$mollie = new Mollie_API_Client;
$mollie->setApiKey("test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM");
?>
Dus wees alsjeblieft duidelijk (en plaats hier gewoon even het stuk dat je niet begrijpt), anders wordt het lastig je te helpen.
Ik weet echter niet waar ik deze code of de eerste include statement zou moeten plaatsen.
Ik heb nu een webpagina die het totaal van de bestelling in een variabele heeft staan.
Kan ik in diezelfde pagina deze code zetten en bij amount de variabele zetten met het totaal?
Ik probeer uit te leggen dat ik echt niet weet waar ik moet beginnen en dat ik wel een hoop begrijp van de code die ik heb gedownload maar niet wat de eerste stappen zijn om het werkend te krijgen.
Op je vraag "Kan ik in diezelfde pagina deze code zetten en bij amount de variabele zetten met het totaal?" is het antwoord ja. Of je daar mee geholpen bent is een heel ander verhaal. Want je zal nog veel meer moeten doen. Mollie werkt in feite in drie stappen:
1) maak de payment aan bij Mollie
2) redirect de user naar Mollie
3) handel de zaak af zodra Mollie je een bericht geeft dat er iets veranderd is
Wat hierboven staat is alleen stap 1. Het maakt een nieuwe payment aan. Als je dat hebt gedaan moet je dus de redirect uitvoeren en je moet nog een andere pagina aanmaken die Mollie kan gebruiken als webhook. Mollie zal die url elke keer aanroepen dat er iets is gebeurt met je payment. Jij zal dan echter wel zelf een nieuwe call moeten uitvoeren naar Mollie om de nieuwe status op te vragen.
Gewijzigd op 21/03/2014 17:26:45 door Erwin H
Om de situatie toch nog duidelijker te krijgen:
Ik heb eerst (met hulp) een webshop gemaakt die het totaal van producten neemt en vervolgens een pagina geeft waar je het totaal ziet staan. Daar staat een html formulier met wat informatie die je in moet voegen (naam,email,tel) en een submit knop. De submitknop is nu gelinkt aant de mail functie en stuurt nu een mail naar de gebruiker met het bedrag wat hij over moet maken en naar de beheerder met het bedrag wat er over moet worden gemaakt en door wie.
In deze situatie wil ik graag Ideal invoegen via Mollie, maar nogmaals: ik weet niet hoe ik moet beginnen? Is het misschien moeilijker dan ik denk?
Ik hoop dat je mijn situatie nu iets beter begrijpt, in ieder geval al bedankt voor de hulp en tijd die je geeft!
Je kunt er voor kiezen eerst was basis kennis op te doen mocht je deze niet bezitten zodat je in ieder geval begrijpend kunt lezen wat er staat.
Mocht je er geen moeite in willen steken kun je er nog altijd voor kiezen om het uit te besteden.
Als je code wilt plaatsen hier, doe je dat tussen code tags [code.] en [/code.] zonder punt
http://e-acceptgiro.nl/12165/1a9d/12345/49500
Nadat de iDEAL-betaling succesvol is afgerond, ontvang je daarvan automatisch een mailtje.
Niet zo mooi als iDEAL zelf inbouwen, maar wel een goed tijdelijk compromis.
Ik ben inmiddels een stuk verder, maar loop nu tegen een specifiek probleem aan.
Ik heb een SQL database met de OrderID en de status (open,paid,cancelled) van de betaling. Deze blijft echter altijd op open staan en geeft dus aan dat er niet betaald is.
In de example scripts zit een payment history page waar ik wel een 'paid' status krijg.
Ik wil dus dat er in de database ook een 'paid' status komt te staan. Nu moet je zelf de code toevoegen om de database te updaten, dus misschien zit hier het probleem in, maar volgens mij klopt de statement waarin de ID van de $mollie array wordt opgevraagd ook niet. Dit vermoed ik ook omdat er in de txt files waar standaard wordt naar geschreven de status ook op open blijft staan.
Kan iemand mij hier uit de brand helpen?
Orginele code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
/*
* Retrieve the payment's current state.
*/
$payment = $mollie->payments->get($_POST["id"]);
$order_id = $payment->metadata->order_id;
/*
* Update the order in the database.
*/
database_write($order_id, $payment->status);
// Functie die naar .txt schrijft (status blijft hier ook staan op 'open')
* Retrieve the payment's current state.
*/
$payment = $mollie->payments->get($_POST["id"]);
$order_id = $payment->metadata->order_id;
/*
* Update the order in the database.
*/
database_write($order_id, $payment->status);
// Functie die naar .txt schrijft (status blijft hier ook staan op 'open')
Mijn code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
* Update the order in the database.
*/
$status = $payment->status;
include_once("../config.php");
$con=mysqli_connect($db_host, $db_username, $db_password,$db_name);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"UPDATE `test`.`order` SET (`order`.`status`=`$status`) WHERE(`order`.`orderID`=`$order_id`) ");
* Update the order in the database.
*/
$status = $payment->status;
include_once("../config.php");
$con=mysqli_connect($db_host, $db_username, $db_password,$db_name);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"UPDATE `test`.`order` SET (`order`.`status`=`$status`) WHERE(`order`.`orderID`=`$order_id`) ");
History page
Ik zag op Github dat iemand dat zelfde probleem heeft aangegeven. Tenzij jij dat zelf was, zou het dus kunnen dat de er een foutje in de code van Mollie zit.
Hans, heb je alle examples doorgenomen? Daarin zie je 2-webhook-verification.php hoe je een payment status controleert. Hij lijkt er inderdaad op dat de status altijd 'open' blijft. Eerder genoemde pagina controleert de status en schrijft deze status opnieuw weg naar het text bestand waarna het dus wel de gewenste status krijgt. Volgens mij is het dus geen bug.
Michael, het is juist in de examples dat ik tegen het probleem aan loop. Het opnieuw wegschrijven van deze status lukt volgens mij niet, omdat het opvragen van die status niet goed gaat. Ik denk dus juist dat het een bug is omdat de status in die txt bestanden niet veranderd.
Want je kan wel een script hebben dat de status opvraagt, als dat nooit wordt aangeroepen, dan wordt er ook weinig bijgewerkt c.q weggeschreven;
Gewijzigd op 24/03/2014 12:24:18 door Ger van Steenderen