[TYPO3-commerce] Confirm order before payment

Morten Haggren mo at idefa.dk
Mon Sep 13 07:37:50 CEST 2010


Hi Bart,

You may want to look into the way paymentlib handles this - atleast the 
danish provider Quickpay has the same approach that the payment gatway 
replies directly to the server ( so with no session ) before sending the 
user to the "success" page. The way it is handled is by having a 
seperate "payment Id" which while also unique doesn't have to be sequential.

The reason it's a bad idea to save the order earlier in the checkout 
process is due to bookkeeping - if the user changes his mind during 
payments ( our tracking shows this happens quite a bit that people 
postpone the buy till later ) you will end up with an "aborted/null" 
order which means you can no longer use the build in commerce order 
generator but will have to register valid orders in a seperate system 
for book keeping.


/Morten Haggren

On 2010-09-09 14:59, Bartbogdan wrote:
> We're having the same problem at this moment. The point is that the
> iDeal service we are using does support push confirmation (or hidden
> trigger), but then still the order should be saved earlier in the
> process. After this the push confirmation should initiate the final
> finishing. The problem we're having with this is that because the iDeal
> server pushes the confirmation there is no user session and all commerce
> routines are based on session data, for example sending of the
> confirmation mail uses the e-mail address from the user session.
> Has anyone been able to create a payment class that tackles these problems?
>
> Best regards,
>
> Bart
>
> Op 2009-10-12 12:12:45 +0200, zei Rik Willems <rik at actiview.nl>:
>
>> Hi Ralf,
>>
>> Yeah that is too bad. But that is why it is called 'Lite' I guess. You
>> can also get a 'Professional' edition that offers more.
>>
>> I copied a small part of the finishing function that adds the order to
>> db and sends the mails. This is now done before when a customers
>> continues to payment, after the listing. It also has a small piece of
>> code that disables the db write and mails in the finishing page. When
>> a user chooses prepayment it all functions as normally.
>>
>> I hope that is clear. Let me know if it's not!
>>
>> Greets, Rik
>>
>> Ralf Merz schreef:
>>> Hi Rik,
>>>
>>> you´re welcome. :)
>>> Hmmm... it´s a pity that the payment provider is not flexible in this
>>> ways. You will always have customers who do not go back to your page,
>>> because they think the order is done.
>>>
>>> So, maybe you could explain what your hack does? Just for others to
>>> find this solution easier, when they search in this list.
>>>
>>> Do you save the order before step finish now?
>>>
>>> Greets
>>> Ralf
>>>
>>>
>>> On 2009-10-12 11:00:54 +0200, Rik Willems <rik at actiview.nl> said:
>>>
>>>> Hi Ralf,
>>>>
>>>> Thank you for thinking along. I did a quick search but can not find
>>>> anything about the hidden triggers. It is too bad, I can not change
>>>> the iDEAL template either.
>>>>
>>>> Now I made a small extension that changes the behaviour of commerce,
>>>> although it is a little bit of a hack. But it does work. In case
>>>> anybody needs it they can contact me.
>>>>
>>>> Greets, Rik
>>>>
>>>> Ralf Merz schreef:
>>>>> Hi Rik,
>>>>>
>>>>> does iDEAL offer something like a hiddentrigger? That means, if the
>>>>> payment was successful on the payment page, the iDEAL Server calls
>>>>> a URL, so called hiddentrigger-URL, in the backround, so you can
>>>>> finish the order by your script. But have to be careful: If the
>>>>> hiddentrigger finishes the order AND the customer clicks the button
>>>>> to come back, you´ll have 2 orders.
>>>>>
>>>>> Another idea:
>>>>> can you change the iDEAL templates? Then I would just put a
>>>>> javascript there with a window.onload function which automatically
>>>>> redirects to your finish step.
>>>>>
>>>>> Greets
>>>>> Ralf
>>>>>
>>>>> On 2009-10-06 09:14:11 +0200, Rik Willems <rik at actiview.nl> said:
>>>>>
>>>>>> Hi Morten,
>>>>>>
>>>>>> Thank you for your answer. The reason I want this is because my
>>>>>> clients uses an iDEAL version (called Lite) which isn't an
>>>>>> integrated solution. This means to be sure you have to check the
>>>>>> payment dashboard for the payment of an order.
>>>>>>
>>>>>> When a customer pays in the external environment at the last step
>>>>>> the payment is confirmed, so the money is transfered. But than
>>>>>> they have to press a button to go back to commerce. Only after
>>>>>> this step the order is created. Now if they don't press that last
>>>>>> button they have paid, but there is no order. For this reason I'd
>>>>>> like to confirm before sending to the payment provider.
>>>>>>
>>>>>> I have managed to get it working. Although it is not a beautiful
>>>>>> solution it is the best for this situation. And, I didn't touch
>>>>>> the commerce code at all.
>>>>>>
>>>>>> Greets, Rik
>>>>>>
>>>>>>
>>>>>> Morten Olesen schreef:
>>>>>>> Hi Rik,
>>>>>>>
>>>>>>> Why would you confirm ( I assume you mean create here ) the order
>>>>>>> before the customer pays? - I mean you cannto be sure that the
>>>>>>> customer will go on to pay, wich is why commerce doesn't create
>>>>>>> orders until payment is completed.
>>>>>>>
>>>>>>> Searching through TER I found this extension which migth be of
>>>>>>> help to you
>>>>>>> http://typo3.org/extensions/repository/?tx_terfe_pi1[view]=search&no_cache=1&tx_terfe_pi1[sword]=iDEAL
>>>>>>>
>
> it's
>
> fairly
>
> old,
>>>>>>>
>>>>>>> but as far as I know the payment system of commerce has remained
>>>>>>> unchanged virtually since the first release.
>>>>>>>
>>>>>>> if it doesn't work you may want to gently prod them about making
>>>>>>> a paymentlib provider for their payment service ;-)
>>>>>>>
>>>>>>> /Morten
>>>>>>>
>>>>>>> Rik Willems wrote:
>>>>>>>> Hi list,
>>>>>>>>
>>>>>>>> I'm making use of an external Dutch payment system (iDEAL). This
>>>>>>>> works rather smooth with the extension I created for it. But,
>>>>>>>> since this is the simple implementation there is no direct link
>>>>>>>> between the shop and the payment system.
>>>>>>>>
>>>>>>>> After completing the payment a customer HAS to click a link to
>>>>>>>> back to the site in order to confirm the order. Otherwise the
>>>>>>>> order is not registered in commerce. Than the payment is made
>>>>>>>> but the order is not tracable.
>>>>>>>>
>>>>>>>> How can I confirm the order before going to the payment site? So
>>>>>>>> after the listing page and click on the 'next' button the order
>>>>>>>> is confirmed and than the payment page is opened.
>>>>>>>>
>>>>>>>> Greets, Rik
>
>


-- 
RewriteRule ^Morten Olesen$ Morten Haggren [R=301,L]


More information about the TYPO3-project-commerce mailing list