iDeal payment method

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
15 years ago
Almost all the main banks in the netherlands use a payment method called iDeal.
I am a dutch web developer in php, js and .net and just started to use NopCommerce.
I really like the software cause it allows me to use custom controls in no time.
The namespaces and base classes are seriously top class.

I spent some time figuring out how the software is build and i understand it.
My compliments for the developers of NopCommerce and all the contributors of the software.

Oke back on topic haha.

Like i was saying before, all the banks in the netherlands provide the payment method called iDeal.
It is realy easy to use for developers cause it works with a nice .dll file provided by a payment provider called Mollie.

I wrote a module wich takes advantage of this module and enables iDeal as payment option in the shop.
The only thing wich i'm not so happy with is that i had to alter the source code of modules/checkout/CheckoutConfirm control.
I had to do this because the handler wich is called trough PaymentManager.PostProcessPayment(order) doesn't allow me
to redirect the page from my module so the code keeps on going and reads the next line in process (Response.Redirect("~/CheckoutCompleted.aspx");).

Is it possible to alter this process, because iDeal requires to be redirected to the banks own home page where the payment will be furter processed.
I realy don't want to alter any of the source of existing modules, cause that means i have to do that in every new release ;)

this is how the source of modules/checkout/CheckoutConfirm control now looks like.

if (order.PaymentMethodName == "iDeal")
                        {
                            string storeUrl = SettingManager.GetSettingValue("Common.StoreURL");

                            IdealFetch idealFetch = new IdealFetch
                            (
                                SettingManager.GetSettingValue("PaymentMethod.iDeal.PartnerId")
                                , SettingManager.GetSettingValueBoolean("PaymentMethod.iDeal.TestMode")
                                , "Uw bestelling bij " + SettingManager.GetSettingValue("Common.StoreName") + " afrekenen."
                                , storeUrl + "/IdealCheck.aspx?OrderID=" + order.OrderID.ToString()
                                , storeUrl + "/IdealCheck.aspx?OrderID=" + order.OrderID.ToString()
                                , order.CardName
                                , order.OrderSubtotalInCustomerCurrency
                            );

                            Response.Redirect(idealFetch.Url, true);
                        }
                        else
                        {
                            PaymentManager.PostProcessPayment(order);
                            Response.Redirect("~/CheckoutCompleted.aspx");
                        }  

in stead of:

PaymentManager.PostProcessPayment(order);
Response.Redirect("~/CheckoutCompleted.aspx");

after redirecting, the order will be updated in iDealcheck.aspx -> Nop.Payment.iDeal -> iDealPaymentProcessor.cs because it needs to be validated bij the bank if the transaction was succesfull or not.

I hope that i made question clear and i apologize for bad grammar or my english.

gr,

Micha
15 years ago
Thanks a lot! One question. Have you implemented a return page? Like Paypal Standart (or 2Checkout, Moneybookers ) has?
15 years ago
It's implemented trough the mollie iDeal Fetch Class.

in this section:

storeUrl + "/IdealCheck.aspx?OrderID=" + order.OrderID.ToString()
, storeUrl + "/IdealCheck.aspx?OrderID=" + order.OrderID.ToString()

these are required strings wich will be posted to the bank url and on end of the check process the bank will send the url to these urls.

But maybe i am overlooking something.
I just took a peek into the source of TwoCheckOutPaymentProcessorc.cs and there is the return url send within the post parameters.
Does NopCommerce send the page to that URL? Or is this done trough an http xml request wich is not visible to the user?
If so, i don't have to alter the source of modules/checkout/CheckoutConfirm control wich gives me more freedom in my custom control, as i can
implement it very easily in a next release without altering original source codes.

Maybe it's a good idea to implement iDeal in a next release, there aRE many dutch developers that realy want to use ideal in there web shops.
But almost in every other webshop software you have to buy or let A developer create an iDeal module for you and that sucks haha.
that's why i alwayS write those modules myself and give them to anyone who wants it.

thnx a lot.

Micha
15 years ago
One thing i have to add.

Is it possible to alter the date/time format somewhere?
Or do i have to alter the source everywhere date/time formats are used, like when a product is inserted to the database etc.

I don't want to use am/pm cause it's confusing for me haha. I always mix up those two.

gr,

Micha
15 years ago
Of course, you don't have to change CheckoutConfirm control. You can redirect a customer in PaymentManager.PostProcessPayment(order) method. We'll add iDeal payment gateway implementation in the next release. We'll add IdealCheck.aspx return page too. ReturnURLs are used when a customer submits his payment on the payment gateway site.

P.S. Datetime format depends on the selected language culture.
15 years ago
Sounds realy good, can't wait to see it implemented i think Nopcommerce will get al whole lot of dutch developers as part of the cummunity with ideal implemented.
I will certainly promote Nopcommerce cause i realy like it!

I were a developer at an ecommerce company in the Netherlands where i developed payment modules and shipping methods for our shop wich was written in ASP classic.
There we've implemented a module called (translated from dutch to english so i don't know if it's correct) one page checkout. So people could register to the module and added their
credentials for the payment provider. Now they could sell their products and provide a single link for example www.easypayment.com/single/Cashier.aspx?Product=10mp-Samsung
Note: this link is a fictional link.
So customers don't have to register or anything, just provide their adress and pay.
Maybe this is a good idea for NopCommerce?

Hmm, well i first added the payment gateway in the iDealPaymentProcessor.cs file that i wrote but the shop didn't redirected the page to my own urls in stead it loaded CheckOutcomplete.aspx.
But i will check it again and find the solution.

Oke, i added the dutch language, but i can't find any culture settings?

thnx for your support.

gr,

micha
15 years ago
One page checkout will be added to our Roadmap.

P.S. What culture settings are talking about?
15 years ago
Oke nice.

Well, in one of your previous posts you wrote
"P.S. Datetime format depends on the selected language culture. ".

If i select dutch (the language i've added to the shop) then nothing changes within date/time formats.
So i don't exactly know how the add/alter a culture?

gr,

Micha
15 years ago
Each language has culture field. English language culture is set to en-US. Set culture of Dutch language to nl-NL.
15 years ago
i did :P

But no changes visible!

by the way i found the solution to my redirecting problem for iDeal.
I looked at the source of the eWay payment method and it has a module GatewayConnector.

iDeal had to be programmed just like that. Httpwebresponse wich will get an xml result file back.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.