Difference between revisions of "PayPal Website Payments Pro"

From WHMCS Documentation

(Reference Payments)
Line 8: Line 8:
  
 
==Configuration==
 
==Configuration==
To activate the module, begin by going to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways''' or, prior to WHMCS 8.0, '''Setup > Payments > Payment Gateways'''. Choose "PayPal Website Payments Pro" from the available list of gateways to activate. Complete the first 3 fields using the details provided by PayPal ('''API Username, API Password, and API Signature''') and click Save Changes to start accepting payments.
+
 
 +
To activate the module:
 +
# Go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways''' or, prior to WHMCS 8.0, '''Setup > Payments > Payment Gateways'''.  
 +
# Choose "PayPal Website Payments Pro" from the available list of gateways to activate.  
 +
# Enter the details provided by PayPal® ('''API Username''', '''API Password''', and '''API Signature''').
 +
# Click '''Save Changes''' to start accepting payments.
  
 
===3D Secure===
 
===3D Secure===
  
The next 3 fields in the configuration are: '''Processor ID, Merchant ID & Transaction PW'''.  These are used by the 3D Secure process. PayPal Pro Accounts are usually enrolled for this by default these days and if you have been enrolled, PayPal will have provided you with the details for it.
+
'''Processor ID''', '''Merchant ID''', and '''Transaction PW''' are used by the 3D Secure process. PayPal Pro Accounts are usually enrolled for this by default. If you are enrolled, PayPal will provide the details.
  
If they haven't or you don't want to use the 3D Secure feature, then simply leaving these fields blank in WHMCS will disable the 3D Secure process, and mean it is not used during the checkout process on your site.
+
If they haven't or you don't want to use the 3D Secure feature, leave these fields blank. This will disable the 3D Secure process and ensure that it is not used during the checkout process.
  
 
===API Details===
 
===API Details===
 +
 
[[File:PayPal_API_Access1.png‎|thumb|PayPal API Step 2]]
 
[[File:PayPal_API_Access1.png‎|thumb|PayPal API Step 2]]
Once activated, you then need to enter your details for the Payflow Pro API. These can be found as described below.
+
 
 +
After activation, you must enter your details for the Payflow Pro API:
 
[[File:PayPal_API_Access2.png‎|thumb|PayPal API Step 2]]
 
[[File:PayPal_API_Access2.png‎|thumb|PayPal API Step 2]]
#Login to PayPal
+
# Log in to PayPal.
#Select your name/company at the top right
+
# Select your name and company at the top right.
#On the dropdown menu select "Account settings"
+
# From the menu, select '''Account settings'''.
#On the left, scroll down and select "Website payments"
+
# Scroll down and select '''Website payments'''.
#Select "Update" next to "API Access"
+
# Select '''Update''' for '''API Access'''.
#Under "NVP/SOAP API integration (classic)" select "Manage API credentials"
+
# Under '''NVP/SOAP API integration (classic)''', select '''Manage API credentials'''.
#Copy the API credentials
+
# Copy the API credentials.
  
<br/>
+
==Reference Payments==
  
<br/>
+
This feature helps reduce your PCI compliance liability. Instead of storing card details in WHMCS, the ID of the last transaction is used to make repeat charges. Changing payment gateways requires clients to reenter their card details.
==Reference Payments==
 
This feature helps reduce your PCI compliance liability. Instead of storing card details in the WHMCS database the ID of the last transaction is used to make repeat charges. The limitation with remote card number storage is that changing payment gateway would require clients to re-enter their card details.
 
  
 
{{gateways
 
{{gateways
Line 42: Line 47:
 
}}
 
}}
  
 
+
<div class="docs-alert-warning">
<div class="docs-alert-warning">'''Note: ''' This module does not support adding or updating card data via the admin area. Admins can achieve this, if needed, by paying an invoice on behalf of a client.</div>
+
'''Note: ''' This module does not support adding or updating card data via the Admin Area. To do this, pay an invoice on behalf of a client.
 +
</div>
  
 
===Configuration===
 
===Configuration===
To activate the module, begin by going to Configuration  (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways. Choose "PayPal Pro Reference Payments " from the available list of gateways to activate. Complete the first 4 fields using the details provided by PayPal (Partner, Merchant Login, Username, Password). Tick the ''Use Reference Transactions'' checkbox and click '''Save Changes'''.
 
  
Next navigate to Configuration  (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings > Security tab. Untick the ''Allow Client Pay Method Removal'' checkbox and click '''Save Changes''' to start accepting reference payments.
+
To activate the module:
 +
# Go to '''Configuration  (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways''' or, prior to WHMCS 8.0, '''Setup > Payments > Payment Gateways'''.
 +
# Choose '''PayPal Pro Reference Payments''' from the available list of gateways.
 +
# Enter the details provided by PayPal® ('''Partner''', '''Merchant Login''', '''Username''', and '''Password''').
 +
# Check '''Use Reference Transactions'''.
 +
# Click '''Save Changes'''.
 +
# Go to '''Configuration  (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > General Settings'''.
 +
# Select the '''Security''' tab.  
 +
# Uncheck '''Allow Client Pay Method Removal'''.
 +
# Click '''Save Changes''' to start accepting reference payments.
  
 
===Limitations===
 
===Limitations===
PayPal applies a time limit on how long you can repeat against a transaction, so 24 months after the original payment you will see a '''Referenced transaction or order is too old''' error.
+
 
The solution is for a client to login and submit payment manually which will generate a new transaction that further repeats can be made against. Any time a client pays manually via the client area, that will be stored as the most recent transaction for any further repeats to be made against. The standard "Credit Card Payment Declined" email template will send to a client when the capture fails due to the expired reference transaction.
+
PayPal applies a time limit for repeating against a transaction. 24 months after the original payment, you will see a '''Referenced transaction or order is too old''' error.
 +
 
 +
To resolve this, the client must log in and submit payment manually. This will generate a new transaction that further repeats can be made against. Whenever a client pays manually via the Client Area, it is stored as the most recent transaction for any further repeats to be made against. The standard "Credit Card Payment Declined" email template will send to a client when the capture fails due to the expired reference transaction.
  
 
==Declined Payments==
 
==Declined Payments==
  
If you experience an error whilst processing payments navigate to '''Billing > Gateway Log''' and the full response from PayPal is displayed in the debug field. Refer to the L_ERRORCODE0 value, and the following two values will then briefly explain the error.
+
If you experience an error while processing payments, go to '''Billing > Gateway Log'''. The full response from PayPal is displayed in the debug field. Refer to the <tt>L_ERRORCODE0</tt> value, and the following two values will then briefly explain the error.
  
A common error response is: '''L_SHORTMESSAGE0 => Security error'''  This indicates that the API Details you've entered in the Setup > Payment Gateways config area are invalid and need to be double checked.
+
<tt>L_SHORTMESSAGE0 => Security error</tt> indicates that the API details you entered at '''Configuration  (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Payment Gateways''' or, prior to WHMCS 8.0, '''Setup > Payments > Payment Gateways''' are invalid.
  
More detailed descriptions of the errors and instructions for correcting them can be found at https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_errorcodes
+
For more detailed descriptions of the errors and instructions for correcting them, [https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_errorcodes click here].
  
 
{{modules}}
 
{{modules}}

Revision as of 18:26, 15 September 2021

Supported Features

Type One Time Recurring Refunds 3D Secure
Credit Card Yes Yes Yes Yes


Configuration

To activate the module:

  1. Go to Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.
  2. Choose "PayPal Website Payments Pro" from the available list of gateways to activate.
  3. Enter the details provided by PayPal® (API Username, API Password, and API Signature).
  4. Click Save Changes to start accepting payments.

3D Secure

Processor ID, Merchant ID, and Transaction PW are used by the 3D Secure process. PayPal Pro Accounts are usually enrolled for this by default. If you are enrolled, PayPal will provide the details.

If they haven't or you don't want to use the 3D Secure feature, leave these fields blank. This will disable the 3D Secure process and ensure that it is not used during the checkout process.

API Details

PayPal API Step 2

After activation, you must enter your details for the Payflow Pro API:

PayPal API Step 2
  1. Log in to PayPal.
  2. Select your name and company at the top right.
  3. From the menu, select Account settings.
  4. Scroll down and select Website payments.
  5. Select Update for API Access.
  6. Under NVP/SOAP API integration (classic), select Manage API credentials.
  7. Copy the API credentials.

Reference Payments

This feature helps reduce your PCI compliance liability. Instead of storing card details in WHMCS, the ID of the last transaction is used to make repeat charges. Changing payment gateways requires clients to reenter their card details.


Supported Features

Type One Time Recurring Refunds 3D Secure
Token Yes Yes Yes No
Remote Update Card Remote Delete Card AddPayMethod API
No No No

Note: This module does not support adding or updating card data via the Admin Area. To do this, pay an invoice on behalf of a client.

Configuration

To activate the module:

  1. Go to Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways.
  2. Choose PayPal Pro Reference Payments from the available list of gateways.
  3. Enter the details provided by PayPal® (Partner, Merchant Login, Username, and Password).
  4. Check Use Reference Transactions.
  5. Click Save Changes.
  6. Go to Configuration () > System Settings > General Settings.
  7. Select the Security tab.
  8. Uncheck Allow Client Pay Method Removal.
  9. Click Save Changes to start accepting reference payments.

Limitations

PayPal applies a time limit for repeating against a transaction. 24 months after the original payment, you will see a Referenced transaction or order is too old error.

To resolve this, the client must log in and submit payment manually. This will generate a new transaction that further repeats can be made against. Whenever a client pays manually via the Client Area, it is stored as the most recent transaction for any further repeats to be made against. The standard "Credit Card Payment Declined" email template will send to a client when the capture fails due to the expired reference transaction.

Declined Payments

If you experience an error while processing payments, go to Billing > Gateway Log. The full response from PayPal is displayed in the debug field. Refer to the L_ERRORCODE0 value, and the following two values will then briefly explain the error.

L_SHORTMESSAGE0 => Security error indicates that the API details you entered at Configuration () > System Settings > Payment Gateways or, prior to WHMCS 8.0, Setup > Payments > Payment Gateways are invalid.

For more detailed descriptions of the errors and instructions for correcting them, click here.

Server Modules
cPanel/WHM - DirectAdmin - Plesk - Helm 3 - Helm 4 - Ensim - InterWorx - WebsitePanel - Cloudmin
Lxadmin - Virtualmin Pro - XPanel - HyperVM - SolusVM - Cloudmin - WHMSonic - VPS.Net
CentovaCast - SCPanel - MediaCP - GameCP - TCAdmin - Reseller Central - Auto Release - Heart Internet

Registrar Modules
Enom - ResellerClub - Nominet - OpenSRS - ResellOne - OnlineNIC - PlanetDomain - Affordable Domains
TPP Wholesale - TPPInternet - Stargate - Namecheap - NetEarthOne - Bizcn - InternetBS - GMO Internet
12Register - Registercom - DotDNS - WebNIC - Dot.TK - HexoNet - Realtime Register - Registereu
RRPProxy - ResellerCamp - TransIP - Heart Internet - IPMirror - NetRegistry - OVH - VentraIP Wholesale
Email - 101Domain

Fraud Modules
MaxMind - VariLogiX FraudCall - Telesign

Gateway Modules
2CheckOut - AsiaPay - Auth.net Echeck - Authorize.net - Authorize.net CIM - Bank Transfer - BidPay
BluePay - BluePay Echeck - BluePay Remote - Boleto - CashU - CC Avenue - ChronoPay - Direct Debit
EMatters - E-Path - eProcessingNetwork - eWAY Tokens - F2B - Finansbank - GarantiBank - Gate2Shop
Inpay - InternetSecure - IP.Pay - Kuveytturk - Modulo Moip - Mail In Payment - Merchant Partners
Merchant Warrior - IDEALMollie - Moneris - Moneris Vault - Skrill 1-Tap - NaviGate - NETbilling
Netregistry Pay - NoChex - Offline Credit Card - Optimal Payments - PagSeguro - Payflow Pro - Pay Junction
Paymate AU and NZ - Payment Express - PayPal - PayPal Card Payments - PayPal Express Checkout
PayPal Payments - PayPal Payments Pro - PayPoint.net (SecPay) - Payson - Planet Authorize - ProtX VSP Form
PSIGate - Quantum Gateway - Quantum Vault - SagePay - SagePay Tokens v2 - SecurePay
SecurePay AU - Secure Trading - TrustCommerce - USA ePay - WorldPay - WorldPay Invisible