Setting Payment Model in OpenCart

Exclusive offer: get 80% off this eBook here
OpenCart 1.4: Beginner's Guide

OpenCart 1.4: Beginner's Guide — Save 80%

Build and manage professional online shopping stores easily using OpenCart.

₨499.00    ₨99.80
by Murat Yilmaz | August 2010 | Open Source

Enabling a store to accept credit cards online and other alternative payment methods for customers is vital for high availability of an online store.

In this article by Murat Yilmaz, author of OpenCart 1.4 Beginner's Guide, we shall learn:

  • The basics of online credit card processing
  • Merchant account
  • Payment gateway
  • PayPal as a payment method
  • The differences between several PayPal services
  • Bank Transfer, Cheque or Money Order, Cash on Delivery payment options

We should clearly understand the three core elements of accepting credit card payments for an online store before starting on the details of online credit card processing.

(For more resources on OpenCart, see here.)

Shopping cart system

The shopping cart is special software which allows customers to add / delete products to a basket from a store catalogue and then complete the order. The shopping cart also automatically updates the total amount which the customer will pay according to product additions or deletions on the basket.

OpenCart provides a built-in shopping cart system which provides all such functionality. So, you don't need to install or buy separate software for the shopping cart.

Merchant account

A merchant account is a special account type which differs from a usual bank account. Its sole purpose is to accept credit card payments. Opening a merchant account requires making a contract with the credit card network providers. Authorized card payments on the store are transferred to the merchant account. Then, as a merchant we can transfer the amount from merchant account to bank account (checking account).

Since opening a merchant account can be a tiresome process for most businesses and individuals, there are various online businesses which can provide this functionality.

Curious readers can learn the details of merchant accounts on the following links:
http://en.wikipedia.org/wiki/Merchant_account
http://www.merchantaccount.com/

Payment gateway

A payment gateway is an online analogue of a physical credit card processing terminal that we can locate in retail shops. Its function is to process credit card information and return the results back to the store system.

You can imagine the payment gateway as an element in the middle of an online store and credit card network. The software part of this service is included in OpenCart but we will have to use one of the payment gateway services.

Understanding online credit card processing

The following diagram shows the standard credit card processing flowchart in detail. Note that it is not essential to know every detail in steps shown in a red background color. These parts are executed on behalf of us by the payment system which we will use, so it is isolated both from the store and customer. For example, PayPal is such a system, which we will learn about now in detail.

OpenCart 1.4 Beginner's Guide

Let's explain the flowchart step by step to clearly understand the whole process:

  1. A customer successfully enters into the checkout page after filling the shopping cart with the products. Then, he/she enters the credit card information and clicks on the Pay button.
  2. Now, the store checkout page sends these details along with the total amount to the payment gateway securely.
  3. The payment gateway starts a series of processes. First of all, the information is passed to the merchant's bank processor where the merchant account was opened before.
  4. The information is then sent to the credit card network by this processor. Visa and MasterCard are two of the most popular credit card networks.
  5. The credit card network processes the validity of the credit card and sends the information to the customer's credit card issuer bank.
  6. As a result, the bank rejects or approves the transaction and sends the information back to the credit card network. Through the same routing in reverse, the payment information is finally submitted back to the online store with a special code. All this is done in a few seconds and the information flow starting from the payment gateway is isolated from both the customer and merchant. It means that we don't have to deal with what's going on after sending information to the payment gateway. As a merchant, we only need the result of the transaction.

After the information is processed by credit card network during Step 6; the transaction funds are transferred to the merchant account by the credit card network as shown in Step a. Then, the merchant can transfer the funds from the merchant account to the usual checking bank account automatically or manually, as shown in Step b.

OpenCart payment methods

The current OpenCart version supports many established payment systems, including PayPal services, Authorize.net, Moneybookers, 2Checkout, and so on, as well as basic payment options such as Cash on Delivery, Bank Transfer, Check/money order, etc.

We can also get more payment gateway modules on the OpenCart extensions section by searching in Payment Methods.
http://www.opencart.com/index.php?route=extension/extension

We will now briefly learn the most widely used methods and their differences and similarities to each other.

PayPal

PayPal is one of the most popular and easiest to use systems for accepting credit cards for an online store. PayPal has two major products to be used in OpenCart through built-in modules:

  • PayPal Website Payment Standard
  • PayPal Website Payment Pro

Both of these payment methods provide both payment gateway and merchant account functionality. Let's understand the details of each now.

PayPal Website Payment Standard

It is the easiest method to implement accepting credit card payments on an online store. For merchants, a simple bank account and a PayPal account is enough to take payments. There are no monthly fees or setup costs charged by PayPal. The only cost is a fixed small percentage taken by PayPal for each transaction. So, you should consider this on price valuations of items in the store.

Here is the link to learn about the latest commission rates per transaction:
http://merchant.paypal.com

When the customer clicks on the checkout button on OpenCart, he/she will be redirected to the PayPal site to continue with the payment.

As you can see from the following sample screenshot, a customer can provide credit card information instantly or log in to his/her PayPal account to pay from the balance in the PayPal account:

OpenCart 1.4 Beginner's Guide

In the next step, after the final review, the user clicks on the Pay Now button.

Notice that PayPal automatically localizes the total amount according to the PayPal owner's account currency. In this case, the price is calculated according to Dollar – Euro exchange rates.

OpenCart 1.4 Beginner's Guide

After the payment, the PayPal screen shows the result of the payment. The screen doesn't return to the merchant store automatically. There is a button for it: Return to Merchant.

OpenCart 1.4 Beginner's Guide

Finally, the website user is informed about the result of the purchase in the OpenCart store.

OpenCart 1.4 Beginner's Guide

The main advantage of PayPal Website Payment Standard is that it is easy to implement; many online people are familiar with using it. We can state one minor disadvantage. Some people may abandon the purchase since the payment gateway would leave the store temporarily to complete the transaction on the PayPal website.

PayPal Website Payment Pro

This is the paid PayPal solution for an online store as a payment gateway and merchant account. The biggest difference from PayPal Website Payment Standard is that customers do not leave the website for credit card processing. The credit card information is completely processed in the online store as it is the popular method of all established e-commerce websites. Even the customers will not know about the processor of the cards. Unless we put a PayPal logo ourselves, this information is well encapsulated.

Using this method also only requires a bank account and PayPal account for the merchant. PayPal charges a monthly fee and a one-time setup fee for this service. The individual transactions are also commissioned by PayPal.

This is a very professional way of processing credit cards online for a store but it can have a negative effect on some customers. Some customers can require seeing some indication of trust from the store before making a purchase. So, depending the on store owner's choice, it would be wise to put a remark and logo of PayPal stating that «Credit card is processed by PayPal safely and securely»

For a beginner OpenCart administrator who wants to use PayPal for the online store, it is recommended to get experience with the free Standard payment option and then upgrade to the Pro option.

We can get more information on PayPal Website Payment Pro service at:
http://merchant.paypal.com
At time of writing this book, PayPal only charges a fixed monthly fee ($30) and commissions on each transaction. There are no other setup costs or hidden charges.

PayFlow Pro payment gateway

If we already have a merchant account, we don't need to pay extra for it by using PayPal Standard or PayPal Pro. PayFlow Pro is cheaper than other PayPal services and allows us to accept credit card payments to an existing merchant account.

Unfortunately, OpenCart currently does not support it as a built-in module but there are both free and paid modules. You can get them from the OpenCart official contributions page at:
http://www.opencart.com/index.php?route=extension/extension

OpenCart 1.4: Beginner's Guide Build and manage professional online shopping stores easily using OpenCart.
Published: August 2010
eBook Price: ₨499.00
Book Price: ₨1,232.00
See more
Select your format and quantity:

(For more resources on OpenCart, see here.)

Time for action – configuring PayPal Website Payment Standard

In this section, we will learn how to configure PayPal Website Payment Standard on OpenCart.

  1. Let's open the Extensions | Payments menu in the administration panel.

    OpenCart 1.4 Beginner's Guide

  2. We will find the PayPal line from the available payment method listings and click on the Install button.

    OpenCart 1.4 Beginner's Guide

  3. The next step is to Edit PayPal settings.

    OpenCart 1.4 Beginner's Guide

  4. We provide our PayPal E-Mail address. Note that the payments will be made to this email address. So, be very careful to enter it correctly. We choose Test Mode as No.

    We could select Test Mode as Yes. If we do this, the online store will send the transactions on the checkout page to virtual test accounts, which we set on the PayPal developer system beforehand. Actually, we do not need to set Test Mode to Yes. There is an easy way to test the system with real transactions, as we will learn about soon.

    We set Transaction Method to Sale. As a common practice, we set Order Status to Pending. Since fraud payments are common, we will have a chance to look at the details of the payment and the order, before announcing to the customer that his or her order is complete.

    Set Geo Zone to All Zones and Status to Enabled. Finally, let's click on the Save button.

    OpenCart 1.4 Beginner's Guide

What just happened?

We have just finished enabling and setting up PayPal Standard Payment method. From now on, the customers can use PayPal or their credit cards to pay for the products online.

Have a go hero – testing PayPal Website Payment Standard method

Now, it is your turn to the test just-enabled PayPal Website Payment Standard method. All you need is to use another PayPal account with some balance on it and set some product prices as 0.01. This way, we can make tests on real PayPal transactions with small amounts. Register a customer and buy several products with this PayPal account on our store.

Time for action – configuring PayPal Website Payment Pro

In this section, we will learn how to configure PayPal Website Payment Pro on OpenCart.

We already have a Website Payment Pro paid account to use this functionality. The details are at this link: https://merchant.paypal.com/us/cgibin/?&cmd=_render-content&content_ID=merchant/wp_pro.

  1. First of all, we visit http://www.paypal.com and log in to the system. After this, let's click on the Profile link.

    OpenCart 1.4 Beginner's Guide

  2. Let's click on the API Access menu.

    OpenCart 1.4 Beginner's Guide

  3. We will click on the Request API Credentials link.

    OpenCart 1.4 Beginner's Guide

  4. We will need to select the Request API signature option. Let's click on the Agree and Submit button.

    OpenCart 1.4 Beginner's Guide

  5. The next page will list API Username, API Password, and Signature. Let's take a note of these values and click on the Done button to complete.

    OpenCart 1.4 Beginner's Guide

  6. Let's open the Extensions | Payments menu in the administration panel.

    OpenCart 1.4 Beginner's Guide

  7. Let's click on the Install link near the PayPal Website Payment Pro option.

    OpenCart 1.4 Beginner's Guide

  8. We will edit the payment configuration details page. Let's provide the API Username, API Password, and API Signature values that we have retrieved from PayPal website in previous steps. We have the option to make operations on the Test server. Let's choose No for Test Mode to enable it on a real payment gateway. Let's choose Transaction Mode as Sale. We choose Order Status as Pending and Status as Enabled. This payment option will be available for All Zones according to current Geo Zone selection. Let's click on the Save button to complete the operation.

    OpenCart 1.4 Beginner's Guide

What just happened?

We have just finished enabling and setting the PayPal Website Payment Pro method. From now on, the customers can use their credit cards to pay for the products online without leaving the store for the payment process. All operations are done in store without any visible connection to PayPal.

Readers who want to use PayPal Website Payments Pro UK version instead can go to the following link to open their business accounts and get API values: https://www.paypal-business.co.uk/process-onlinepayments-with-paypal/index.htm

Have a go hero – testing PayPal Website Payment Pro method

Now it is your turn to test just the enabled PayPal Website Payment Pro method. Make several test purchases with small 0.01 amounts on products. Be sure that all operations are completed in store without leaving to PayPal.

Authorize.net

This is a paid payment gateway service with similar functionality to PayPal Website Payment Pro. It means that customers can provide their credit card information without leaving the website and without any sign of authorize.net processing the information. So, this one is a paid service with an included payment gateway service and merchant account.

Visit and compare the prices against the similar PayPal Website Payment Pro at www.authorize.net.
We can also get more payment gateway modules on the OpenCart extensions section by searching in Payment Methods. http://www.opencart.com/index.php?route=extension/extension

Bank transfer

We can easily achieve being able to accept bank transfer payments by activating a module in OpenCart. The order of the customer is held in pending status until the bank payment is confirmed.

Time for action – accepting bank transfer on orders

In this section, we will learn how to enable the bank transfer module and use it.

  1. Let's open the administration panel and click on the Install button near the Bank Transfer line.

    OpenCart 1.4 Beginner's Guide

  2. Let's click on the Edit button.

    OpenCart 1.4 Beginner's Guide

  3. We should provide our bank account information. The sample Bank Transfer Instructions are shown below. Set Order Status as Pending and Status as Enabled. Click on the Save button.

    We could choose a specific Geo Zone to enable bank transfer solely for this zone. In our example, it is available to all customers worldwide. Notice that we can not have the same type but only separate payment options for different zones at the same time. It would require a third party module, which you can request or look for at the OpenCart extensions section. http://www.opencart.com/index.php?route=extension/extension

    OpenCart 1.4 Beginner's Guide

  4. As you can see from the following screenshot, the Bank Transfer option will also be enabled on the checkout page as a payment method for the customer:

    OpenCart 1.4 Beginner's Guide

  5. The following screenshot shows how the Bank Transfer Instructions we have provided will be shown before the customer confirms the order:

    OpenCart 1.4 Beginner's Guide

  6. The following screenshot shows the order details on the administration panel. Notice that we had assigned Status as Pending by default:

    OpenCart 1.4 Beginner's Guide

What just happened?

We have learned how to activate a bank transfer for our store. Then, we checked how it would look on checkout pages and in the order details screen in the administration panel.

Cheque / money order

With this payment option, we provide make cheque payable to information to the customer. The customer sends the cheque / money order to the store's default address by using this name. After we clear the check, order items are sent to the customer.

Cash on delivery

By using this option, the customer pays the money on delivery to the courier. We can use this option if we handle shipping with our own couriers. Some online stores also give the ability to customer to reject the order at the time of delivery. A common usage is with clothes and shoe stores. Customer tries the apparel and pays only for courier service if he/she doesn't like the product or it doesn't suit.

Have a go hero – activating cheque / money order and cash on delivery options

Now, it is your turn to enable check/money order and cash on delivery options. They are very similar to the bank transfer module and need similar fields.

Summary

In this article, we have seen the essentials of online credit card processing and how a purchase is achieved as a result of complicated checks. Hopefully, we won't need to enter the details of credit card networks or merchant accounts. We have seen that payment gateways (with merchant account) like PayPal, Authorize.net can easily provide such solutions. We have seen how to enable PayPal and other basic payment methods for OpenCart.


Further resources on this subject:


OpenCart 1.4: Beginner's Guide Build and manage professional online shopping stores easily using OpenCart.
Published: August 2010
eBook Price: ₨499.00
Book Price: ₨1,232.00
See more
Select your format and quantity:

About the Author :


Murat Yilmaz

Murat Yilmaz is a software developer and an online entrepreneur who lives in Antalya, Turkey. He has over 10 years of experience in different IT fields, including development of web-driven solutions, large databases, and OLAP systems. He has worked in several multinational companies in Istanbul and Moscow as a consultant. He currently runs his own blog and an e-commerce and online advertising network. He holds a bachelor's degree in Computer Science from Marmara University at Istanbul. He spends his free time playing progressive rock songs, online chess, and reading scientific books.

He has also authored two other books, OpenCart 1.4: Beginner's Guide and OpenX Ad Server: Beginner's Guide.

Books From Packt


Agile Web Application Development with Yii1.1 and PHP5
Agile Web Application Development with Yii1.1 and PHP5

JasperReports 3.6 Development Cookbook
JasperReports 3.6 Development Cookbook

jQuery 1.4 Reference Guidel
jQuery 1.4 Reference Guide

Python Multimedia
Python Multimedia

YUI 2.8: Learning the Library
YUI 2.8: Learning the Library

NetBeans Platform 6.9 Developer's Guide
NetBeans Platform 6.9 Developer's Guide

FreeSWITCH 1.0.6
FreeSWITCH 1.0.6

Magento 1.3: PHP Developer's Guide
Magento 1.3: PHP Developer's Guide


Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software