Ecommerce Templates > PHP Version Help > Payment Processors > PayPal Payments Pro
PayPal Payments Pro allows you to take credit card orders directly on your site without having to go to PayPal to enter any details. The integration is completely seamless meaning that all the processing goes on in the background and the customer doesn't need to leave the site. PayPal takes care of all that processing so you won't see or store any sensitive credit card information.
Click here to create an account with PayPal.
Ecommerce Templates offers two methods for hooking up with PayPal Payments Pro. The three token method is the simpler and recommended option of the two. If you do run into any issues with the integration, please check out our PayPal troubleshooting section. UK merchants can also now use PayPal Payments Pro.
US merchants implementing PayPal Payments Pro can enroll in the Verified by Visa program.
The three token authentication system for PayPal Payments Pro is the recommended way of integration. This method is much more "shared hosting friendly" than the API certificate method described below.
You will require the Ecommerce Plus version 4.9.2 or higher. You can check the version you are running by logging into your store control panel and the number will appear at the top of the first page. If you are running an earlier version then the latest updater will always be available here for download.
These are the configuration steps you will need to take:
Advanced Tip
In your cart.php page, above the opening HTML tab you should have some lines of PHP like this . . .
<?php
session_cache_limiter('none');
session_start(); ?>
When using PayPal Payments Pro it helps if you have “output buffering” turned on. To do this, just make sure you have the ob_start() directive which you can add like this . . .
<?php
session_cache_limiter('none');
session_start();
ob_start(); ?>
This step is optional, but it does mean that when using Express Checkout the transition between your site and the PayPal server will be smoother.
PayPal Direct Payments will now natively support UK stores which take bank cards like Switch/Maestro/Solo which have an issue number / start date. You will need to be running a minimum version of 5.9.2 of Ecommerce Templates. If you are a UK merchant and would like to enroll in the verified by visa, please use this registration form.
PayPal Hosted, also known as Pasarela Integral was introduced in version 6.1.3. It allows buyers to choose between paying via their PayPal account or via credit card on the PayPal secure server. To use this service, you will need to follow the following steps
You can put PayPal into Demo Mode on the ecommerce plus template
payment provider admin section, but this will involve using the
PayPal “Sandbox” as here . . . https://www.sandbox.paypal.com/
This would mean creating a separate sandbox email login, password
and certificate request. (Sandbox certificates are assigned immediately).
When testing your PayPal account using the PayPal sandbox you may find the usual test credit card number (4111111111111111) doesn’t work correctly. If you follow the instructions below this should help you generate a test credit card number that is compatible with the PayPal sandbox.
If you receive this error on thanks.php:
"I'm sorry, there was a problem with your transaction.
Transaction Result: Direct Payment has been disabled on this account.
Transaction has not been processed."
or
"
I'm sorry, there was a problem with your transaction.
Transaction Result: (10501) This transaction cannot be processed
due to an invalid merchant configuration."
...then make sure you have agreed to the PayPal Billing Agreement at https://www.paypal.com/us/cgi-bin/webscr?cmd=_wp-pro-overview
If you get this error when hitting the checkout button:
Fatal error: Call to undefined function: curl_init()
... it probably means that the cURL component is not installed on your server.
cURL is required for connecting to the PayPal server. PayPal Pro requires communication
over a secure (HTTPS) connection and cURL is the only way to do it really. if
it's not available, check with your host to see if they would add it. It's quite
simple, free and there are details here . . .
http://www.php.net/manual/en/function.curl-init.php
An alternative is provided for those that don't have cURL compiled
into PHP, but where the host provides cURL on the command line.
To use this feature you need to set the path to the cURL binary
on your server in the parameter $pathtocurl in your vsadmin/includes.php
file. For instance...
$pathtocurl="/usr/local/curl";
This was introduced in version 4.3.0, and if that line doesn't appear in your
includes.php file, you can add it to the list.
If you get this error. . .
SSL: error:14094418:SSL routines:func(148):reason(1048)
Then the problem is having PayPal Direct in demo mode, but a
non-demo mode certificate and vice-versa
If you need your customer to provide a phone number then
in your PayPal Profile go to Website Payment Preferences -> Contact
Telephone Number
...and set it to "On (Required Field)"
Please note that you can use the same PayPal Pro account on multiple sites
Do check these codes and make a decision accordingly of whether to ship the order
A Address Address only (no ZIP)
B International “A” Address only (no ZIP)
C International “N” None
D International “X” Address and Postal Code
E Not allowed for MOTO (Internet/Phone)
transactions
Not applicable
F UK-specific “X” Address and Postal Code
G Global Unavailable Not applicable
I International Unavailable Not applicable
N No None
P Postal (International “Z”) Postal Code only (no Address)
R Retry Not applicable
S Service not Supported Not applicable
U Unavailable Not applicable
W Whole ZIP Nine-digit ZIP code (no Address)
X Exact match Address and nine-digit ZIP code
Y Yes Address and five-digit ZIP
Z ZIP Five-digit ZIP code (no Address)
All
others
Error Not applicable
M Match CVV2
N No match None
P Not Processed Not applicable
S Service not Supported Not applicable
U Unavailable Not applicable
X No response Not applicable
All
others
Error Not applicable
Please do read our guide here on credit card fraud.
That's all there is to it really - any comments on the set up can be posted on our Support Forum.