I am so glad Greg has starting this question. My major concern is
focused around settings in particularly payment gateways. Everything
that has been posted above should centre around the gateway
requirements and differences between countries. How these providers
accept currency, units of measurement, tax and card security will need
to be decided by the system first. Display options i.e. currency etc
should follow naturally from these systems.
I agree with Sumit and implementation of i18n would be good, how this
fits into the gateway providers is even more important and needs to be
decided on before any work starts.
I think first before deciding on settings you need to look at how
payment gateways work. This should help us decide how Slatwall uses
and stores these settings.
I would like the approach of a module gateway, allowing developers
like myself to integrate our preferred payment provider directly into
Slatwall, but I cannot see how this would work. Our own API maybe?
How can Slatwall amalgamate all this information in a generic way?
If I wanted to use SagePay as my UK payment provider, they offer 3
options. form post, server and direct. they require you to send over
the currency (Euro, GBP etc), postcode, shipping address, CSV code and
a transaction code. As is mandatory in most EU countries, some
credit card providers such as VISA need the merchant to be in the
"Verified by VISA Scheme". This gives Slatwall more issues. Not only
the initial post and redirect URL need to be dealt with, but
intermediate checks with the banks, then the required action to be
taken i.e. continue the payment or reject etc.
On top of that you have Tax (or VAT in the UK). Different EU countries
have different taxation rates. Then to complicate things most
countries have different tax bands for different types of products.
For example, books, children's shoes and food are tax at a different
rate. Most gateway providers will require tax rates to be sent over
and calculated for them.
Now this is only one gateway, PayPal, WorldPay etc all offer different
ways to integrate and require different settings from Slatwall.
Each payment gateway provider is different. They all offer their own
API and have different syntax for processing credit cards. If we are
not carefully and don't plan the system settings around how we handle
these types of systems, we may find ourselves with the same old
ecommerce systems. Locked into a few systems and reinventing the wheel
everything is not something I would be very happy to use.
If you look at something like cfpayment, it has been designed to bring
a lot of these system together. If I look at a typical gateway here
are the most common settings I see in ecommerce stores.
• Company Name
• Send HTML e-mails - most providers will sent a separate email to you
or the customer confirming the transaction. This is typical in form or
server type integration but not with direct (everything is handled by
you)
• Currency - currect is normally sent to providers in the format of
USD, GBP etc
• Type – Payment types such as payment, deferred, refund, void etc
If you ever want to look at a ssytem which does all this very well
look at Mels. not from a developing point but from a settings point...
http://www.mals-e.com/processors.php
how can one system work with for many payment gateways, product
options etc? Now mals works with ANY cart system. I would love for
Slatwall to become that sort of system down the line.
Have a look at the admin with the details below.
http://www.mals-e.com/
then view cart setup tab.
Username : 83256944
Password : AN52079
This is the level of setting Slatwall should be providing.
:)