IDEAL -> Mollie -> PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mitchel V

Mitchel V

05/06/2010 14:12:08
Quote Anchor link
hallo.

ik ben bezig met een IDEAL betaling op de website te zetten.
ik gebruik de volgende scripts:

ideal.class.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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
<?php
/*-----------------------------------------------------------------------
  Start              : 24 februari 2009
  Door               : Mollie B.V. (RDF) © 2009

  Versie             : 1.09 (gebaseerd op de Mollie iDEAL class van
                       Concepto IT Solution - http://www.concepto.nl/)
  Laatste aanpassing : 17-02-2010
  Aard v. aanpassing : Casting toegevoegd bij SimpleXML results en
                       http_build_query() gebruikt
  Door               : RDF
    -----------------------------------------------------------------------*/


class iDEAL_Payment
{

    const     MIN_TRANS_AMOUNT = 118;

    protected $partner_id      = null;
    protected $testmode        = false;

    protected $bank_id         = null;
    protected $amount          = 0;
    protected $description     = null;
    protected $return_url      = null;
    protected $report_url      = null;

    protected $bank_url        = null;
    protected $payment_url     = null;

    protected $transaction_id  = null;
    protected $paid_status     = false;
    protected $consumer_info   = array();

    protected $error_message   = '';
    protected $error_code      = 0;

    protected $api_host        = 'ssl://secure.mollie.nl';
    protected $api_port        = 443;

    public function __construct ($partner_id, $api_host = 'ssl://secure.mollie.nl', $api_port = 443)
    {

        $this->partner_id = $partner_id;
        $this->api_host   = $api_host;
        $this->api_port   = $api_port;
    }


    // Haal de lijst van beschikbare banken
    public function getBanks()
    {

        $query_variables = array (
            'a'          => 'banklist',
            'partner_id' => $this->partner_id,
        );


        if ($this->testmode) {
            $query_variables['testmode'] = 'true';
        }


        $banks_xml = $this->_sendRequest (
            $this->api_host,
            $this->api_port,
            '/xml/ideal/',
            http_build_query($query_variables, '', '&')
        );


        if (empty($banks_xml)) {
            return false;
        }


        $banks_object = $this->_XMLtoObject($banks_xml);

        if (!$banks_object or $this->_XMlisError($banks_object)) {
            return false;
        }


        $banks_array = array();

        foreach ($banks_object->bank as $bank) {
            $banks_array["{$bank->bank_id}"] = "{$bank->bank_name}";
        }


        return $banks_array;
    }


    // Zet een betaling klaar bij de bank en maak de betalings URL beschikbaar
    public function createPayment ($bank_id, $amount, $description, $return_url, $report_url)
    {

        if (!$this->setBankId($bank_id) or
            !$this->setDescription($description) or
            !$this->setAmount($amount) or
            !$this->setReturnUrl($return_url) or
            !$this->setReportUrl($report_url))
        {

            $this->error_message = "De opgegeven betalings gegevens zijn onjuist of incompleet.";
            return false;
        }


        $query_variables = array (
            'a'           => 'fetch',
            'partnerid'   => $this->getPartnerId(),
            'bank_id'     => $this->getBankId(),
            'amount'      => $this->getAmount(),
            'description' => $this->getDescription(),
            'reporturl'   => $this->getReportURL(),
            'returnurl'   => $this->getReturnURL(),
        );


        $create_xml = $this->_sendRequest(
            $this->api_host,
            $this->api_port,
            '/xml/ideal/',
            http_build_query($query_variables, '', '&')            
        );


        if (empty($create_xml)) {
            return false;
        }


        $create_object = $this->_XMLtoObject($create_xml);

        if (!$create_object or $this->_XMLisError($create_object)) {
            return false;
        }


        $this->transaction_id = (string) $create_object->order->transaction_id;
        $this->bank_url       = (string) $create_object->order->URL;

        return true;
    }


    // Kijk of er daadwerkelijk betaald is
    public function checkPayment ($transaction_id)
    {

        if (!$this->setTransactionId($transaction_id)) {
            $this->error_message = "Er is een onjuist transactie ID opgegeven";
            return false;
        }

        
        $query_variables = array (
            'a'              => 'check',
            'partnerid'      => $this->partner_id,
            'transaction_id' => $this->getTransactionId(),
        );


        if ($this->testmode) {
            $query_variables['testmode'] = 'true';
        }


        $check_xml = $this->_sendRequest(
            $this->api_host,
            $this->api_port,
            '/xml/ideal/',
            http_build_query($query_variables, '', '&')
            );


        if (empty($check_xml))
            return false;

        $check_object = $this->_XMLtoObject($check_xml);

        if (!$check_object or $this->_XMLisError($check_object)) {
            return false;
        }


        $this->paid_status   = (bool) ($check_object->order->payed == 'true');
        $this->amount        = (int) $check_object->order->amount;
        $this->consumer_info = (isset($check_object->order->consumer)) ? (array) $check_object->order->consumer : array();

        return true;
    }


    public function CreatePaymentLink ($description, $amount)
    {

        if (!$this->setDescription($description) or !$this->setAmount($amount))
        {

            $this->error_message = "U moet een omschrijving én bedrag (in centen) opgeven voor de iDEAL link. Tevens moet het bedrag minstens " . self::MIN_TRANS_AMOUNT . ' eurocent zijn. U gaf ' . (int) $amount . ' cent op.';
            return false;
        }

        
        $query_variables = array (
            'a'           => 'create-link',
            'partnerid'   => $this->partner_id,
            'amount'      => $this->getAmount(),
            'description' => $this->getDescription(),
        );


        $create_xml = $this->_sendRequest(
            $this->api_host,
            $this->api_port,
            '/xml/ideal/',
            http_build_query($query_variables, '', '&')
            );


        $create_object = $this->_XMLtoObject($create_xml);

        if (!$create_object or $this->_XMLisError($create_object)) {
            return false;
        }


        $this->payment_url = (string) $create_object->link->URL;
    }


/*
    PROTECTED FUNCTIONS
*/


    protected function _sendRequest ($host, $port, $path, $data)
    {

        $hostname = str_replace('ssl://', '', $host);
        $fp = @fsockopen($host, $port, $errno, $errstr);
        $buf = '';

        if (!$fp)
        {

            $this->error_message = 'Kon geen verbinding maken met server: ' . $errstr;
            $this->error_code        = 0;

            return false;
        }

        @
fputs($fp, "POST $path HTTP/1.0\n");
        @
fputs($fp, "Host: $hostname\n");
        @
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
        @
fputs($fp, "Content-length: " . strlen($data) . "\n");
        @
fputs($fp, "Connection: close\n\n");
        @
fputs($fp, $data);

        while (!feof($fp)) {
            $buf .= fgets($fp, 128);
        }


        fclose($fp);

        if (empty($buf))
        {

            $this->error_message = 'Zero-sized reply';
            return false;
        }

        else {
            list($headers, $body) = preg_split("/(\r?\n){2}/", $buf, 2);
        }


        return $body;
    }


    protected function _XMLtoObject ($xml)
    {

        try
        {
            $xml_object = new SimpleXMLElement($xml);
            if ($xml_object == false)
            {

                $this->error_message = "Kon XML resultaat niet verwerken";
                return false;
            }
        }

        catch (Exception $e) {
            return false;
        }


        return $xml_object;
    }


    protected function _XMLisError($xml)
    {

        if (isset($xml->item))
        {

            $attributes = $xml->item->attributes();
            if ($attributes['type'] == 'error')
            {

                $this->error_message = (string) $xml->item->message;
                $this->error_code    = (string) $xml->item->errorcode;

                return true;
            }
        }


        return false;
    }



    /* Getters en setters */
    public function setPartnerId ($partner_id)
    {

        if (!is_numeric($partner_id)) {
            return false;
        }


        return ($this->partner_id = $partner_id);
    }


    public function getPartnerId ()
    {

        return $this->partner_id;
    }


    public function setTestmode ($enable = true)
    {

        return ($this->testmode = $enable);
    }


    public function setBankId ($bank_id)
    {

        if (!is_numeric($bank_id))
            return false;

        return ($this->bank_id = $bank_id);
    }


    public function getBankId ()
    {

        return $this->bank_id;
    }


    public function setAmount ($amount)
    {

        if (!preg_match('~^[0-9]+$~', $amount)) {
            return false;
        }


        if (self::MIN_TRANS_AMOUNT > $amount) {
            return false;
        }


        return ($this->amount = $amount);
    }


    public function getAmount ()
    {

        return $this->amount;
    }


    public function setDescription ($description)
    {

        $description = substr($description, 0, 29);

        return ($this->description = $description);
    }


    public function getDescription ()
    {

        return $this->description;
    }


    public function setReturnURL ($return_url)
    {

        if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $return_url))
            return false;

        return ($this->return_url = $return_url);
    }


    public function getReturnURL ()
    {

        return $this->return_url;
    }


    public function setReportURL ($report_url)
    {

        if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $report_url)) {
            return false;
        }


        return ($this->report_url = $report_url);
    }


    public function getReportURL ()
    {

        return $this->report_url;
    }


    public function setTransactionId ($transaction_id)
    {

        if (empty($transaction_id))
            return false;

        return ($this->transaction_id = $transaction_id);
    }


    public function getTransactionId ()
    {

        return $this->transaction_id;
    }


    public function getBankURL ()
    {

        return $this->bank_url;
    }


    public function getPaymentURL ()
    {

        return (string) $this->payment_url;
    }


    public function getPaidStatus ()
    {

        return $this->paid_status;
    }


    public function getConsumerInfo ()
    {

        return $this->consumer_info;
    }


    public function getErrorMessage ()
    {

        return $this->error_message;
    }


    public function getErrorCode ()
    {

        return $this->error_code;
    }
}

?>


prepare.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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php

require_once('ideal.class.php');

$partner_id  = '00000'; // Uw mollie partner ID
$amount      = 118;    // Het af te rekenen bedrag in centen (!!!)
$description = 'Testbetaling'; // Beschrijving die consument op zijn/haar afschrift ziet.

$return_url  = 'http://www.domein.nl/return.php'; // URL waarnaar de consument teruggestuurd wordt na de betaling
$report_url  = 'http://www.domein.nl/report.php'; // URL die Mollie aanvraagt (op de achtergrond) na de betaling om de status naar op te sturen

if (!in_array('ssl', stream_get_transports()))
{

    echo "<h1>Foutmelding</h1>";
    echo "<p>Uw PHP installatie heeft geen SSL ondersteuning. SSL is nodig voor de communicatie met de Mollie iDEAL API.</p>";
    exit;    
}


$iDEAL = new iDEAL_Payment ($partner_id);
//$iDEAL->setTestMode();

if (isset($_POST['bank_id']) and !empty($_POST['bank_id']))
{

    if ($iDEAL->createPayment($_POST['bank_id'], $amount, $description, $return_url, $report_url))
    {

        /* Hier kunt u de aangemaakte betaling opslaan in uw database, bijv. met het unieke transactie_id
           Het transactie_id kunt u aanvragen door $iDEAL->getTransactionId() te gebruiken. Hierna wordt
           de consument automatisch doorgestuurd naar de gekozen bank. */

        
        header("Location: " . $iDEAL->getBankURL());
        exit;    
    }

    else
    {
        /* Er is iets mis gegaan bij het aanmaken bij de betaling. U kunt meer informatie
           vinden over waarom het mis is gegaan door $iDEAL->getErrorMessage() en/of
           $iDEAL->getErrorCode() te gebruiken. */

        
        echo '<p>De betaling kon niet aangemaakt worden.</p>';
        
        echo '<p><strong>Foutmelding:</strong> ', $iDEAL->getErrorMessage(), '</p>';
        exit;
    }
}



/*
  Hier worden de mogelijke banken opgehaald en getoont aan de consument.
*/


$bank_array = $iDEAL->getBanks();

if ($bank_array == false)
{

    echo '<p>Er is een fout opgetreden bij het ophalen van de banklijst: ', $iDEAL->getErrorMessage(), '</p>';
    exit;
}


?>

<form method="post">
    <select name="bank_id">
        <option value=''>Kies uw bank</option>
        
<?php foreach ($bank_array as $bank_id => $bank_name) { ?>
        <option value="<?php echo $bank_id ?>"><?php echo $bank_name ?></option>
<?php } ?>

    </select>
    <input type="submit" name="submit" value="Betaal via iDEAL" />
</form>


report.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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

require_once('ideal.class.php');

$partner_id  = 000000; // Uw mollie partner ID

if (isset($_GET['transaction_id']))
{
  
    $iDEAL = new iDEAL_Payment ($partner_id);
    // $iDEAL->setTestMode();
    
    $iDEAL->checkPayment($_GET['transaction_id']);

    if ($iDEAL->getPaidStatus() == true)
    {

        /* De betaling is betaald, deze informatie kan opgeslagen worden (bijv. in de database).
              Met behulp van $iDEAL->getConsumerInfo(); kunt u de consument gegevens ophalen (de
           functie returned een array). Met behulp van $iDEAL->getAmount(); kunt u het betaalde
           bedrag vergelijken met het bedrag dat afgerekend zou moeten worden. */

    }
}
[
/code]

return.php
[code][code]<?php
  
if (isset($_GET['transaction_id'])) {
  /*
    Via report.php heeft Mollie de betaling al gemeld, en in dat script heeft bij Mollie gecontroleerd
    wat de betaalstatus is. Deze betaalstatus is in report.php ergens opgeslagen in het systeem (bijv.
    in de database).
  
    De klant komt bij dit script terug na de betaling. Hier kan dan met behulp van het 'transaction_id'
    de status van de betaling uit de database gehaald worden en de klant de relevante informatie tonen.
  */


  echo 'Bedankt voor uw betaling.';
}

else {
  echo 'Er is geen transaction_id meegegeven.';  
}

?>



Maar nu.
Ik heb hem in test mode gezet.
maar nu het volgende,

1.Als ik klik op niet betalen dan krijg ik: Bedankt voor uw betaling.
hoe kan ik checken of hij wel of niet betaald?

2.in prepare.php heb ik een SQL gezet (weg gelaten) maar hij leest prepare.php helemaal niet uit.
hoe kan ik verzorgen dat hij dat wel doet als er betaald is?

Ik hoop dat iemand er meer verstand van heeft en die mij kan helpen.

Alvast bedank.

Greets Mitchel
Gewijzigd op 05/06/2010 14:24:38 door Mitchel V
 
PHP hulp

PHP hulp

22/11/2024 09:48:28
 
Yea Rupie

Yea Rupie

05/06/2010 15:19:12
Quote Anchor link
Ik neem aan dat na de betaling doorgelinkt word naar return.php.
Daar wordt dan gekeken of $_GET['transaction_id'] bestaat.

In die statement moet je denk ik report.php includen.
 
Mitchel V

Mitchel V

05/06/2010 17:36:51
Quote Anchor link
Ik wil het graag zeker weten :P
en ik wil ook weten welke waardes mee worden gegeven zodat ik die eventueel uit kan lezen.

wat hun omschrijven is dat ik via report.php het in de database moet zetten.
en dat ik in return.php moet uitlezen of het gelukt is of niet.
maar ik snap het niet want hij leeft report.php niet eens uit, hoe kan ik verzorgen dat hij report.php wel uitleest?

Kan iemand mij blij maken door mij te helpen? (A)

Ik moet zien uit te vogelen hoe hij die report.php uitleest..
Ik heb mollie aan aangeschreven maar die zeggen dat ik ergens anders hulp moet zoeken :S en dat ik verstand moet hebben van PHP -.-

Maar in ieder geval, ik hoop dat iemand mij hier mee kan helpen.

Binnen de 24 uur geen nieuwe post plaatsen, graag uw huidige post wijzigen (niet bumpen).[/modedit]
Gewijzigd op 07/06/2010 19:41:42 door Tom Beuckelaere
 
M Puts

M Puts

06/06/2010 18:04:47
Quote Anchor link
Report wordt door mollie zelf aangeroepen, daarbij wordt het transactie id mee gestuurd.
Als je die dan in een tabel insert kun je op de return checken of de transactie goed is, door te kijken of het transactie id in de tabel staat..
 
Bennie lui

bennie lui

06/06/2010 19:04:47
Quote Anchor link
heb je hem bij mollie ook op testmode gezet ?
 
Mitchel V

Mitchel V

07/06/2010 07:38:31
Quote Anchor link
Mijn gevoel zegt dat report dus niet word aan geroepen...

ik heb even dit in report.php gezet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$sqlt = "UPDATE factuur SET betaald = '6000' WHERE factuurid = '1001' ";
$queryt = mysql_query($sqlt) or die (mysql_error ());


er gebeurt niets, ook niet als ik een exit('test'); er neer zet krijg ik niets te zien..
doe ik iets fout?

Ja hij staat ook bij mollie in testmode

ik heb dit in return.php gezet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$message = "Bedankt voor uw betalaing.<br>De betaling is voltooid";
$message = wordwrap($message, 70);
mail('[email protected]', 'Bedankt voor uw betaling.', $message);


en dit in report.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$message = "De betaling is NIET voltooid, er is iets mis gegaan.
probeer het later nog eens.";
$message = wordwrap($message, 70);
mail('[email protected]', 'Betaling NIET voltooid.', $message);


in report.php heb ik dit helemaal onder in gezet, dus wat er ook gebeurt, hij zou dit uit moeten lezen als hij report.php uit leest...

maar het enigste wat ik binnen krijg is:
Bedankt voor uw betalaing.<br>De betaling is voltooid

dus hij leest report.php NIET uit wat ik niet snap.
Gewijzigd op 07/06/2010 11:03:40 door Mitchel V
 
Mitchel V

Mitchel V

08/06/2010 08:50:55
Quote Anchor link
Kan iemand me helpen?
Mollie stuurt mij alleen standaard mails:

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
17
18
19
20
21
22
23
24
25
Beste Mitchel,

"De PHP bestanden zijn een voorbeeld implementatie en zijn dus niet compleet. Ze
zijn slechts bedoeld om duidelijk te maken hoe uw systeem zou kunnen communiceren
met het Mollie iDEAL platform. Een van de belangrijkste dingen die ontbreekt aan de
voorbeeld implementatie is de opslag van betalingsdetails en dat is direct de reden
waarom return.php u altijd vertelt dat de betaling wel is afgerond: hij weet niet
beter.

Ik kan u wel uitleggen hoe het een en ander in elkaar zou moeten steken. Er zijn
drie bestanden van belang: report.php en return.php. prepare.php zet een betaling
klaar, report.php wordt door ons aangeroepen wanneer er een definitieve status
duidelijk is voor een betaling en vlak daarna sturen wij de consument door naar
return.php.

Een typische implementatie is dat u in prepare.php, na het aanvragen van de
betaling, de betalingdetails opslaat in bijvoorbeeld een database. Op het moment dat
een consument een betaling annuleert of juist betaald heeft roepen wij op de
achtergrond (de consument merkt dit dus niet) uw report.php bestand aan. In
report.php is het de bedoeling dat u de status weer bij ons opvraagt en vervolgens
uw betaling in de database update met de verkregen informatie (betaald/niet
betaald). Vervolgens sturen wij de consument terug naar return.php. In return.php
kunt u dan middels uw database aan de consument vertellen of de betaling gelukt is."

Met vriendelijke groet,


Dit heb ik al 2x gehad van 2 verschillende medewerkers...
Ik hoop dat iemand mij kan helpen.
 
Chris -

Chris -

08/06/2010 09:56:09
Quote Anchor link
Mitchel, als het met de standaard hulp die je hier krijgt niet lukt, kun je altijd nog overwegen om een vacature te openen zodat mensen het tegen betaling voor jou kunnen oplossen.
 
Synaps Framework

Synaps Framework

08/06/2010 10:18:47
Quote Anchor link
Als het implementeren van een API al niet lukt, zal je je toch even moeten afvragen of het verstandig is om uberhaupt zoiets op je website te hebben (of erger, voor iemand anders). Ik vrees dat de afhandelingen van de betalingen dan ook zo lek als een mandje worden.

Just my 2 cents.

Edit:

En dan doel ik onder andere op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$sqlt
= "UPDATE factuur SET betaald = '6000' WHERE factuurid = '1001' ";
$queryt = mysql_query($sqlt) or die (mysql_error ());
?>


Dus iemand doet een betaling, hij komt terug op jouw code. je query mislukt en jij knalt er een dikke die in. oftewel, mislukt mijn query >> opnieuw betalen.

Nu kan het zijn dat je 1 keer in de 3 maanden een factuur krijgt betaald, dan kun je gewoon even in je bank gegevens bekijken of er daadwerkelijk betaald is. Gaat het hier over vele betalingen, dan kun je iemand erbij aannemen die dus alle betalingen van je gaat controleren.

moraal van dit verhaaltje is, fix je error handling =]
Gewijzigd op 08/06/2010 10:28:02 door Synaps Framework
 
Mitchel V

Mitchel V

08/06/2010 10:24:39
Quote Anchor link
Ik heb nog helemaal niets van API geïmplementeerd?
Dus ik denk dat ik dan een stapje heb over geslagen op de Mollie website...?
 
Synaps Framework

Synaps Framework

08/06/2010 10:28:49
Quote Anchor link
Dat gebeuren wat je bouwd, doet toch een request naar de API van mollie? En lees hierboven ^
 
Mitchel V

Mitchel V

08/06/2010 10:42:14
Quote Anchor link
Klopt. een request naar mollie..

en over het script, ik moet het nog maken, maar dit is ALLEEN om te kijken of hij iets in de database stopt, maar hij leest heel de report.php niet...

Maar er staat niet dat ik iets met API moet maken..?

want ik stuur een url mee naar mollie http://www.websites.nl/report.php
en mollie behoort deze dan uit te lezen, maar dat gebeurt niet, maar wat doe ik dan fout?
de URL bestaat gewoon..

-------------

Ik ben al iets verder..
Hij leest het script report.php nu wel uit, maar...

Hij komt niet langs:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if (isset($_GET['transaction_id']))
{  

of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if ($iDEAL->getPaidStatus() == true)
    {


Komt dit omdat hij in test mode staat?
Gewijzigd op 08/06/2010 11:03:54 door Mitchel V
 
Synaps Framework

Synaps Framework

08/06/2010 13:07:19
Quote Anchor link
Als test mode aanstaat kun je zelf kiezen of een betaling is gemaakt of niet. Dus dat zou gewoon moeten werken.
 
Mitchel V

Mitchel V

08/06/2010 13:14:24
Quote Anchor link
het had toch iets te maken met de test mode...
hij is gereset en hij doet het nu weer.

bedankt.
 



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.