The Magento PostFinance Module provides an interface to the SwissPostFinance E-Payment Gateway. It enables you to process various types of payments such as PostFinance Card, PostFinance E-Finance as well as all major credit cards through one single payment provider. The first two types mentioned are free of monthly and setup fees (you only need a business Post bank account with PostFinance), whereas credit card processing requires contracts with the credit card schemes in Switzerland and an up front set up fee as well as monthly fees.

The first 2 types are highly recommended for all Swiss online merchants!

With the configuration payment you could setup different options like colors, templates, more technical features.

So, when your customer is ready to pay he chooses between the deferent payment modules you have activated in Magento. If the Magento Postfinance Module is active and customers choose this one to pay their order a list of all allowed cards and operators appear. Customers click on what they want and confirm to pay. So it will be redirected to the Postfinance Payment page that you can customize. After a valid or and invalid transaction customers could come back to your site. In your Postfinance settings back office you can select to send a confirmation of the transaction to the customer. For that the Magento Postfinance Module transmit the customers email address to Postfinance platform. To secure the exchange the module crypt a string that certify data sent and received. A specific field configuration is mandatory (Key encrypted exchanges). If the transaction is validated orders will be in a spending state (for the moment). You have to change the state in the Magento Admin.

{MAGENTO_INSTALLATION}/app/code/local/Mage/Postfinance : this directory is the core of this module. Inside you have the {MAGENTO_INSTALLATION}/app/code/local/Mage/Postfinance/Model/Method/Postfinance.php describes the principal Magento Postfinance module class. If you want to change de behavior of this modul see the controler class : {MAGENTO_INSTALLATION}/app/code/local/Mage/Postfinance/controllers/PostfinanceController.php