Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display Mollie order status in the redirecturl?

The redirectURL does not seem to POST any data back. It seems to use a GET request. How do I know the payment ID or payment status on the return URL?

$payment = \mollie::api()->payments()->create([
    'amount'        => $price,
    'customerId'    => $customer->id,
    'description'   => 'My Initial Payment',
    'redirectUrl'   => \URL::to('/after-payment'),
]);
like image 237
Z0q Avatar asked Feb 04 '23 16:02

Z0q


2 Answers

The POST request Daan describes is for the webhook only. Mollie will redirect back to your website using a GET request to the redirectUrl you provide. There is no data sent back to your redirectUrl, however you could add your payment/invoice id to the GET parameters in the redirectUrl:

$payment = \mollie::api()->payments()->create([
    'amount'        => $price,
    'customerId'    => $customer->id,
    'description'   => 'My Initial Payment',
    'redirectUrl'   => \URL::to('/after-payment').'?invoice_id='.$invoice->id,
]);
like image 178
Mark de Groot Avatar answered Feb 08 '23 14:02

Mark de Groot


Edit: as pointed out in the comments, I was talking about the webhook URL. Mark’s answer is the correct one, as he’s describing the redirect URL.

As stated in Mollie's docs, a POST request is sent with one parameter id=tr_xxxxxx. Are you sending a 301 or 302 redirection header? In that case the post data is lost and you'll receive a GET request.

Note that you can always add your own transaction identifier to the webhook URL if you need the redirection.

like image 44
Daan Avatar answered Feb 08 '23 15:02

Daan