Configure > Payments > Gateways

PayPal™

There are three different integrations of PayPal™ available in AbleCommerce.  You may implement any of these solutions at the same time.  AbleCommerce provides a single configuration page where you can easily enter the information provided by PayPal and begin processing transactions from your store.

The AbleCommerce payment gateway integration with PayPal offers full support for bidirectional post-order processing.  This means that after an order is placed, you can authorize, capture, refund, and void transactions from either the AbleCommerce order administration area, or your merchant account.  All transaction activity is recorded in both places.

NOTICE:

PayPal acquired Verisign Payflow Pro payment gateway which is documented separately.

PayPal Overview

The integrations available are described as follows:

Website Payments Standard: Customers shop in your AbleCommerce store and go through the checkout process where they can select PayPal as the payment method.  Once the customer completes the order, there will be a large PayPal button for them to click.  

x-click-but6.gif

The customer will need to click this button to be redirected to PayPal's website, where they can pay for the order and return to your store when finished.   

Express Checkout - Customers shop in your AbleCommerce store.  When they are ready to checkout, there will be a PayPal Express button that will redirect the customer to PayPal's website.  

btn_xpresscheckout.gif

The customer will login to their own PayPal account, return to your store to select a shipping method, and then go back to PayPal's site to make a payment.

Website Payment Pro - This is a full payment gateway for credit card transactions.  Your customers will shop and pay in the AbleCommerce store.  On the checkout page, they can select the type of credit card they wish to pay with and never leave your site.

logo_ccvisa.gif

logo_ccmc.gif

logo_ccamex.gif

logo_ccdiscover.gif

PayPal Processing Features

The following actions are available through AbleCommere or PayPal's merchant interfaces.  The post order processing is bidirectional so you can initiate transactions from AbleCommerce or from your PayPal merchant account as long as you have implemented the full PayPal integration.

  • Authorize - where the cardholder's funds are verified as available and set aside for the pending transaction.  

  • Authorize Capture - where the cardholder's funds are verified and immediately transferred to the merchant.

  • Capture - a full or partial transfer of funds from the cardholder's pending authorization to the merchant.

  • Partial Capture - where you can capture additional funds on what remains of the pending authorization.

  • Void Authorization - when the pending authorization of funds is canceled. This does not refund a payment.

  • Refund - when funds have been transferred to the merchant, and a full or partial refund is returned to the cardholder.  

  • Partial Refund - where multiple refunds to the customer are possible. A refund cannot exceed the last transaction amount or be greater than the remaining amount captured.

  • E-check - accept and process electronic check payments from consumer and corporate bank accounts.
     

NOTE:

There may be additional features within your PayPal account that have not been tested with  AbleCommerce.  If you enable unsupported features, you are doing so at your own risk.

PayPal Comparison

The following table represents a comparison of the PayPal payment services available within AbleCommerce.  For a full feature comparison and pricing, please visit PayPal newwindow.gif

Recurring Billing is not supported at this time.

 

Frequently Asked Questions

Website Payments Standard

Website Payments Pro

PayPal Express Checkout

Where do my customers shop?

In your store

In your store

In your store

Where do my customers checkout?

PayPal's website

In your store

PayPal's website

Do my customers need a PayPal account?

No

No

Yes

Do I need a merchant account?

No

Included

Required

Can I accept electronic checks?

Yes

No

Yes

Is capable of bidirectional payment processing?

Yes***

Yes

Yes

Are there additional software requirements?

Yes

Yes

Yes

* Are PayPal accounts based in the U.K. supported?

Yes

No*

Yes

Can I accept payments from countries using a foreign currency?

Yes

Yes

Yes

** Does the server require full trust?

No

Yes

Yes

* To use Website Payments Pro U.K. (Payflow Edition), you must configure the PayFlow Pro service.

** A website can have different types of security environments called medium or full trust.  Read the next section for more information.

*** Bi-directional payment processing is the ability to process transactions from PayPal or AbleCommerce.  This feature is not available if you are only using standard instant payment notification (IPN).  Merchants will need to process transactions from the PayPal merchant account when using Website Payments Standard alone.

PayPal Requirements

  • A server running AbleCommerce software must also have Microsoft Web Services Enhancements (WSE) 3.0 installed.  It is a free download newwindow.gif from Microsoft's website.

NOTE:

You should install WSE 3.0 before installing AbleCommerce. However, if you need to install WSE 3.0 after AbleCommerce is installed, then you will need to backup the web.config file and replace it when finished.

  • FULL TRUST:  In order to use all versions of PayPal, you must configure your Asp.Net applications to run in full trust with WebPermission enabled.  

  • MEDIUM TRUST:  For strict shared hosting environments that run in medium trust, you will be limited to the Website Payments Standard version of PayPal.

Running PayPal in Medium Trust

These are the limitations and requirements with the PayPal integration running in medium trust environments.

  1. You will only be able to use PayPal Payments Standard.  Paypal Express Checkout and Website Payments Pro will not work in medium trust.

  2. You will not be able to use the post-order processing features within AbleCommerce (Capture/Refund). So, you will need to have the funds captured immediately without a prior authorization. This means changing the Authorization Mode setting to Authorize & Capture.

  3. You will need to have WebPermission enabled.  Here is a test that you can perform to see if WebPermission is enabled:

You can find out if WebPermission is NOT on by trying a PayPal payment. Go all the way through and order and pay with PayPal. Click Paynow to go to PayPal's website.  On the last PayPal screen, after payment is complete (the receipt page) it will have a button to ”return to the store”. Clicking this button is a manual trigger of the IPN code, and this will throw an error if WebPermission is unavailable because it cannot call out to PayPal to verify the origin of the IPN.

Disable Selling Preferences

Some PayPal settings conflict with AbleCommerce and are unsupported at this time.  These need to be disabled by logging in to your PayPal business account.

  • Set the Profile-> SellingProfiles-> WebsitePaymentPreferences -> PaymentData: OFF

  • Set the Profile-> SellingProfiles-> WebsitePaymentPreferences -> AutoReturn: OFF

Enable Instant Payment Notification (IPN) and Website Payments Std

This step is required for all versions of PayPal.
Before you begin, make sure that you have the login information to your PayPal business account.  

  1. From the Payment Gateways page, click the ADD GATEWAY button.

  2. From the Add Gateway page, click the PAYPAL button.

    pp_add.gif

  3. You will now be on the Add Gateway configuration page for PayPal.

  4. In the field named PayPal Account, enter your PayPal (business) email address.  
    This needs to match the same email that you have setup as your Primary email address within Paypal.

    pp_ipn_config.gif

  5. Scroll down to the bottom of the page and find the section called Payment Methods.

  6. Check the box next to the PayPal payment method.

    pp_paymeth.gif

  7. At the bottom of the page, click the SAVE button.

  8. Keep the AbleCommerce PayPal configuration page up so you can copy the URL for the next step.

Enable IPN within your PayPal account

This step is required for all versions of PayPal.

  1. Go to PayPal's website and login to your PayPal business account.

  2. After logging in, you should be on the My Account page.

  3. From the top navigation bar, click on the Profile link.

  4. From the Profile Summary page, find the section called Selling Preferences, and click on the "Instant Payment Notification Preferences" link.

    pp_ipn.gif

  5. On the next page, check the box to activate Instant Payment Notification.

  6. Now, go back to the AbleCommerce PayPal configuration page and copy the URL displayed below Instant Payment Notification (IPN).

    pp_ipn_link.gif

    e.g. https://www.mystore.com/ProcessPayPal.ashx (for live transactions the URL must be in SSL form)

  7. Return to the PayPal IPN page and paste this URL into the field provided for Notification URL.

    pp_ipn_add.gif

  8. Click the SAVE button when finished.

  9. From the profile tab, under the Selling Preferences column, choose Language Encoding.

  10. From the Language Encoding page, click the More Options button.

  11. From the More Encoding Options page, the second option is:

    "Do you want to use the same encoding for data sent from PayPal to you (e.g., IPN, downloadable logs, emails)?"

  12. For this option choose "No, use:", and in the drop down box choose "UTF-8"

  13. Save your changes.

IMPORTANT:  Steps 9 - 13 require the latest version of Paypal for AbleCommerce, to correct an issue with special characters sent in order transmission.  To apply the latest version, go to  http://help.ablecommerce.com and check for the most recent hot patches available.

 

NOTE:

This completes the configuration for PayPal's Website Payments Standard version.  
STOP HERE unless you are going to implement Website Payment Pro and/or PayPal Express.

Enable PayPal Express Checkout or Website Payment Pro

Before you begin, make sure you have an API username, password, and signature issued by PayPal.  
If you do not have this, please follow the steps in the next section "Obtain your API Credentials"

  1. Return to the PayPal gateway configuration page in AbleCommerce.

  2. In the section called "Express Checkout and Direct Payment", you will need to enter 3 pieces of API data.  This is not the same information used for your PayPal business account.

    pp_api_config.gif

  3. Enter your API Username into the field provided.

  4. Enter your API Password into the field provided.

  5. Enter your API Signature into the field provided.

  6. Choose the type of Authorization Mode.  

    auth_mode.gif

    • Authorize: to request authorization without capturing funds at the time of purchase. You can capture authorized transactions through the order admin interface.

    • Sale: to capture funds immediately at the time of purchase. You should not use this feature unless you are able to ship goods the same day of the sale.

  7. Debug Mode is an optional feature and should only be enabled at the direction of AbleCommerce support.

    debug_mode.gif

  8. At the bottom of the page, click the SAVE button.

NOTE:

This completes the configuration for PayPal's Express Checkout version.  STOP HERE unless you are going to implement Website Payment Pro.

Complete Setup of Website Payment Pro

  1. Make sure you have completed all the steps in the sections above.

  2. Scroll down to the bottom of the page and find the section called Payment Methods.

  3. Check the box next to all credit card payment method that you want to use for the PayPal gateway.

    pp_paymeth2.gif

  4. Click the SAVE button when finished.

Obtain your API Credentials

If your PayPal account does not have API credentials setup, you will need to complete the steps below.  
These steps are intended to help you request API credentials using the business account interface.  PayPal requires that you complete an API approval process prior to obtaining your credentials.

  1. Go to PayPal's website and login to your PayPal business account.

  2. After logging in, you should be on the My Account page.

  3. From the top navigation bar, click on Profile link.

  4. From the Profile Summary page, find the section called Account Information, and click on the "API Access" link.

    pp_api.gif

  5. From the API Credentials page, click the link "Request API Credentials" to create an API username and password.

    pp_api_request.gif

    If you do not see this link, then you can click View API Credentials to obtain your API username, password, and signature.

  6. From the next page, select Request API signature, review the terms and click the Agree and Submit button.

    pp_api_request2.gif

  7. In a moment, the page will be refreshed with the API username, password, and signature.  SAVE THIS FOR FUTURE REFERENCE.

  8. When finished, click the Done button.

  9. You will return to the PayPal API Credentials and Permissions page.

  10. Next, click the link "Grant API Permission"

    pp_api_grant.gif

  11. On the next page, enter the API account username created in your API credentials.

    pp_api_perm.gif

  12. Check the box next for all choices under API Access Level and click the button.  

  13. Confirm the permission includes API calls for Direct_Payment, Express_Checkout, Admin_API, and Auth_Settle and click the Give Permission button.

  14. When finished, you can enter this information into the PayPal configuration page in AbleCommerce.

Testing PayPal in Sandbox mode

Paypal provides a developer "sandbox" where you can test your site with PayPal. To use the sandbox you must have created a developer account and used that account in the configuration of the gateway.

  1. Edit the PayPal gateway configuration page in AbleCommerce.

  2. In the section called Testing PayPal, check the box next to Use Sandbox.

  3. At the bottom of the page, click the SAVE button.

  4. Make sure your PayPal developer account is enabled for testing.

Additional PayPal Info

When using PayPal in sandbox mode, keep in mind there are some potential issues:

  • You need to be logged into your PayPal developer sandbox and customer test account before going through the checkout process.

  • Using a test Visa credit card number of "4111111111111111" will usually result in a failed Authorization.  Try using "4111111111111129" instead.

  • The developer sandbox servers are very slow! You may get unexpected errors, if this happens, be patient and try again.

 

 

Related Topics

Configure > Payment Methods
Create your own payment methods that you accept.

Manage > Orders > Payments (Credit Card Transactions)
Process credit card payments and refunds online.

Manage > Orders > Payments (Offline Payments)
Record other types of payments.