Magento 1.x Security Patch Notice
For Magento Open Source 1.5 to 1.9, Magento is providing software security patches through June 2020 to ensure those sites remain secure and compliant. Visit our information page for more details about our software maintenance policy and other considerations for your business.
PayPal Payments Pro
PayPal Payments Pro brings you all the benefits of a merchant account and payment gateway in one, plus the ability to create your own, fully customized checkout experience. PayPal Express Checkout is automatically enabled with PayPal Payments Pro, so you can tap into more than 110 million active PayPal users.
For merchants outside the US, this method is called “PayPal Website Payments Pro.”
You can have two PayPal solutions active at the same time: PayPal Express Checkout, plus any one of the All-In-One solutions. If you change payment solutions, the one used previously is automatically disabled.
After customers add products to their shopping carts, they can go to checkout by clicking the Proceed to Checkout button. In the Payment Information checkout section, they select the PayPal Direct Payment option, and enter the credit card information.
- PayPal Payments Pro lets your customer stay on your site during the checkout process.
- PayPal Express Checkout redirects your customer to the PayPal site to complete the transaction
If Payment Action is set to “Authorize,” Magento creates a sales order with the “Processing” status. In this case, the amount of money to be authorized is pending approval. With PayPal Payments Pro, you can process the payment online from either the Admin of your store, or from your PayPal merchant account. If Payment Action is set to “Sale,” Magento creates both a sales order and invoice.
When checking out products from the shopping cart to multiple addresses simultaneously, customers can choose to pay with PayPal Payments Pro. At the customer’s request, the store administrator can also create an order from the Admin, and process the transaction with PayPal Payments Pro.
An order can be voided online at any time until the order amount is fully invoiced. If required, the order can be online partially invoiced for a specified quantity of products. For each partial invoice submitted through the PayPal payment system, a separate transaction record with a unique ID and of the Capture transaction type will become available on the Transaction tab, and a separate invoice document will be created on the Invoices tab. The payment transaction of the type “Authorization” is closed only after the full order amount is captured.
When capturing the payment transaction, PayPal transfers the order amount from the buyer’s balance, bank account or credit card to the merchant’s account. If for any reason the customer returns the purchased products and claims a refund, as with order amount capturing and invoice creation, you can create an online refund either from the Admin or from your PayPal merchant account.
Make sure that instant payment notifications are enabled in your PayPal merchant account. An invoice is created in Magento only after an instant payment notification message is delivered to Magento from PayPal. Based on these notifications, you can receive detailed payment information on each transaction from PayPal after you click the Fetch button on the Transaction page of an order.
Requirements
-
PayPal Business Account (with Direct Payments Activated)
Setting Up PayPal Payments Pro
1. | Before you begin, do the following to set up your PayPal Payments Pro account on the PayPal website: |
a. | Log in to your PayPal merchant account at manager.paypal.com. |
b. | Go to Service Settings > Hosted Checkout Pages> Set Up, and make the following settings: |
-
AVS: No CSC: No Enable Secure Token:
Yes
c. | Save the settings. |
2. | PayPal recommends that you set up an additional user on your account. To set up an additional user, do the following: |
a. | Go to manager.paypal.com and log in to your account. |
b. | Follow the instructions to set up an additional user. |
c. | Save the changes. |
1. | On the Admin menu, select System > Configuration. |
2. | In the panel on the left, under Sales, select Payment Methods. |
3. | If your Magento installation has multiple websites, stores or views, set Current Configuration Scope in the upper-left corner to the target configuration. |
4. | In the Merchant Location section, select the Merchant Country where your business is located. |
5. | In the PayPal All-in-One Payments Solutions section, click the Configure button for PayPal Payments Pro. |
6. | In the Required PayPal Settings section, under Payments Pro and Express Checkout, do the following: |
a. | Enter the Email Address that is associated with your PayPal merchant account. |
Important! Email addresses are case sensitive. To receive payment, the email address you enter must match the email address specified in your PayPal merchant account.
b. | Set API Authentication Methods to one of the following: |
- API Signature
- API Certificate
c. | If necessary, click the Get Credentials from PayPal button. Then, complete the following: |
- API Username
- API Password
- API Signature or API Certificate
d. | If you are using credentials from your sandbox account, set Sandbox Mode to “Yes.” |
If necessary, click the Sandbox Credentials button and follow the instructions to set up your testing environment.
e. | If your system uses a proxy server to establish the connection between Magento and the PayPal payment system, set API Uses Proxy to “Yes.” Then,, complete the following: |
- Proxy Host
- Proxy Port
7. | When these sections are complete, set Enable this Solution to “Yes.” |
8. | If you would like to offer your customers financing through PayPal, set Enable PayPal Credit to “Yes.” To learn more, see: PayPal Credit. |
1. | To configure PayPal Credit, click to expand the Advertise PayPal Credit section. Then, do the following: |
a. | Click the Get Publisher ID from PayPal button and follow the directions to get your account information. |
b. | Enter your Publisher ID. |
2. | Click to expand the Home Page section. Then, do the following: |
a. | To place a banner on the page, set Display to “Yes.” |
b. | Set Position to one of the following: |
- Header (center)
- Sidebar (right)
c. | Set Size to one of the following: |
- 190 x 100
- 234 x 60
- 300 x 50
- 468 x 60
- 728 x 90
- 800 x 66
3. | Repeat the previous step for the remaining sections: |
- Catalog Category Page
- Catalog Product Page
- Checkout Cart Page
1. | In the Basic Settings - PayPal Payments Pro section, enter a Title to identify PayPal Payments Pro during checkout. It is recommended that you use the title “Debit or Credit Card.” |
2. | If you offer multiple payment methods, enter a number in the Sort Order field to determine the sequence in which PayPal Payments Pro appears when listed with other payment methods during checkout. |
3. | Set Payment Action to one of the following: |
-
Authorization Approves the purchase, but puts a hold on the funds. The amount is not withdrawn until it is “captured” by the merchant. Sale The amount of the purchase is authorized and immediately withdrawn from the customer’s account.
4. | Under Credit Card Settings, select each Allowed Credit Card Type. To make multiple selections, hold down the Ctrl key and click each item. |
3D Secure validation is required for Maestro cards. For American Express, an additional agreement is required.
1. | Click to expand the Advanced Settings section. Then, do the following: |
a. | Set Payment Applicable From to one of the following: |
-
All Allowed Countries
Accepts payment from the countries already specified in your configuration.
Specific Countries
Accepts payments from only the countries you specify. Hold the Ctrl key down and in the Payment Applicable From list, click each country where you accept payment.
b. | Set Debug Mode to “Yes” to write communications with the payment system into the log file. |
In accordance with PCI Data Security Standards, credit card information is not recorded in the log file.
c. | To enable host authenticity verification, set Enable SSL Verification to “Yes.” |
d. | To display a full summary of the customer’s order by line item from the PayPal site, set Transfer Cart Line Items to “Yes.” |
e. | To require that customers enter a CVV code, set Require CVV Entry to “Yes.” |
2. | To use 3D Secure Card validation, set 3D Secure Card Validation to “Yes.” Then, do the following: |
a. | To remove the merchant’s chargeback liability, set Severe 3D Secure Card Validation to “Yes”. |
b. | If you received a custom URL from CardinalCommerce, enter it in the Centinel Custom API URL field. Otherwise, a default value will be used. To receive a custom URL, contact CardinalCommerce. |
3. | Complete the following, as needed for your store: |
A billing agreement is a sales agreement between the merchant and customer that has been authorized by PayPal for use with multiple orders. During the checkout process, the Billing Agreement payment option appears only for customers who have already entered into a billing agreement with your company. After PayPal authorizes the agreement, the payment system issues a unique reference ID to identify each order that is associated with the agreement. Similar to a purchase order, there is no limit to the number of billing agreements a customer can set up with your company.
1. | To make billing agreements available to your customers, click to expand the PayPal Billing Agreement Settings section. |
2. | Set Enabled to “Yes.” Then, do the following: |
a. | Enter a Title to identify the PayPal Billing Agreement method during checkout. |
b. | If you offer multiple payment methods, enter a number in the Sort Order field to determine the sequence in which Billing Agreement appears when listed with other payment methods during checkout. |
c. | Set Payment Action to one of the following: |
-
Authorization Approves the purchase, but puts a hold on the funds. The amount is not withdrawn until it is “captured” by the merchant. Sale The amount of the purchase is authorized and immediately withdrawn from the customer’s account.
d. | Set Payment Applicable From to one of the following: |
-
All Allowed Countries
Accepts payment from the countries already specified in your configuration.
Specific Countries
Accepts payments from only the countries you specify. Hold the Ctrl key down and in the Payment Applicable From list, click each country where you accept payment.
e. | To record communications with the payment system in the log file, set Debug Mode to “Yes.” |
The log file is stored on the server and is accessible only to developers. In accordance with PCI Data Security Standards, credit card information is not recorded in the log file.
f. | To enable SSL verification, set Enable SSL verification to “Yes.” |
g. | To display a summary of each line item in the customer’s order on your PayPal payments page, set Transfer Cart Line Items to “Yes.” |
h. | To allow customers to initiate a billing agreement from the dashboard of their customer account, set Allow in Billing Agreement Wizard to “Yes.” |
1. | Click to expand the Settlement Report Settings section. |
2. | If you have signed up for PayPal’s Secure FTP Server, enter the following SFTP login credentials: |
- Login
- Password
3. | To run test reports before “going live” with Express Checkout on your site, set Sandbox Mode to “Yes.” |
4. | Enter the Custom Endpoint Hostname or IP Address. By default, the value is: reports.paypal.com |
5. | Enter the Custom Path where reports are saved. By default, the value is: /ppreports/outgoing |
6. | To generate reports according to a schedule, under Scheduled Fetching, make the following settings: |
a. | Set Enable Automatic Fetching to “Yes.” |
b. | Set Schedule to one of the following: |
- Daily
- Every 3 Days
- Every 7 Days
- Every 10 Days
- Every 14 Days
- Every 30 Days
- Every 40 Days
PayPal retains each report for forty-five days.
c. | Set Time of Day to the hour, minute, and second when you want the reports to be generated. |
The frontend experience settings give you the opportunity to choose which PayPal logos appear on your site, and to customize the appearance of your PayPal merchant pages.
1. | Click to expand the Frontend Experience Settings section. |
2. | Select the PayPal Product Logo that you want to appear in the PayPal block in your store. The PayPal logos are available in four styles and two sizes. Options include: |
- No Logo
- We Prefer PayPal (150 x 60 or 150 x 40)
- Now Accepting PayPal (150 x 60 or 150 x 40)
- Payments by PayPal (150 x 60 or 150 x 40)
- Shop Now Using (150 x 60 or 150 x 40)
3. | To customize the appearance of your PayPal merchant pages, do the following: |
a. | Enter the name of the Page Style that you want to apply to your PayPal merchant pages. Options include: |
-
paypal
Uses the PayPal page style.
primary
Uses the page style that you identified as the “primary” style in your account profile.
your_custom_value
Uses a custom payment page style, which is specified in your account profile.
b. | In the Header Image URL field, enter the URL of the image that you want to appear in the upper-left corner of the payment page. The maximum file size is 750 pixels wide by 90 pixels high. |
PayPal recommends that the image be located on a secure (https) server. Otherwise, the customer’s browser may warn that “the page contains both secure and nonsecure items.”
c. | Enter the six-character hexadecimal code, without the “#” symbol, for each of the following: |
-
Header Background Color Background color for the checkout page header
Header Border Color 2-pixel border around the header.
Page Background Color Background color for the checkout page and around the header and payment form.
1. | In the Basic Settings - PayPal Express Checkout section, enter a Title to identify this payment method during checkout. It is recommended to set the title to “PayPal” for each store view. |
2. | If you offer multiple payment methods, enter a number in the Sort Order field to determine the sequence in which PayPal Payments Standard is listed with the other methods. Payment methods appear in ascending order based on the Sort Order value. |
3. | Set Payment Action to one of the following: |
-
Authorization Approves the purchase, but puts a hold on the funds. The amount is not withdrawn until it is “captured” by the merchant. Sale The amount of the purchase is authorized and immediately withdrawn from the customer’s account. Order The amount of the order is neither captured nor authorized in the customer’s balance, bank account, or credit card at PayPal. The Order payment action represents an agreement between the PayPal payment system and the merchant, which enables the merchant to capture one or more amounts up to the “ordered” total from the customer’s buyer account, over a maximum of 29 days. After the funds are “ordered,” the merchant can capture them at any time during the following 29 days. Capturing of the order amount can be done only from the Magento backend, by creating one or more invoices.
c. | If Payment Action is set to “Order,” complete the following fields: |
-
Authorization Honor Period (days)
Defines how long the primary authorization stays valid. The value should be equal to the corresponding value in your PayPal merchant account. The default value in your PayPal merchant account is 3. To increase this number you need to contact PayPal. The authorization becomes invalid at 11:49 p.m., U.S. Pacific Time, of the last day.
Order Valid Period (days)
Defines how long the order remains valid. When the order becomes invalid, you can no longer create invoices for it. Specify the value equal to the Order Valid Period value in your PayPal merchant account. The default value in your PayPal merchant account is 29. To change this number, you need to contact PayPal.
Number of Child Authorizations
Defines the maximum number of authorizations for one order; that is, the maximum number of the online partial invoices you can create for one order. The number in this field should be equal to the corresponding setting in your PayPal merchant account. The default number of child authorizations in your PayPal account is 1. To increase this number, you need to contact PayPal.
4. | To display the “Check out with PayPal” button on the product page, set Display on Product Details Page to “Yes.” |
5. | Click to expand the Advanced Settings section. Then, do the following: |
a. | Set Display on Shopping Cart to “Yes.” |
b. | Set Payment Applicable From to one of the following: |
-
All Allowed Countries
Accepts payment from the countries already specified in your configuration.
Specific Countries
Accepts payments from only the countries you specify. Hold the Ctrl key down and in the Payment Applicable From list, click each country where you accept payment.
c. | Set Debug Mode to “Yes” to write communications with the payment system into the log file. The log file for PayPal Payments Advanced is payments_payflow_advanced.log. |
In accordance with PCI Data Security Standards, credit card information is not recorded in the log file.
d. | To enable host authenticity verification, set Enable SSL Verification to “Yes.” |
e. | To display a full summary of the customer’s order by line item from the PayPal site, set Transfer Cart Line Items to “Yes.” |
To include up to ten shipping options in the summary, set Transfer Shipping Options to “Yes.” (This option appears only if line items are set to transfer.)
f. | To determine the type of image used for the PayPal acceptance button, set Shortcut Button Flavor to one of the following: |
-
Dynamic
(Recommended) Displays an image that can be dynamically changed from the PayPal server.
Static
Displays a specific image that cannot be dynamically changed.
g. | To allow customers without PayPal accounts to make a purchases with this method, set Enable PayPal Guest Checkout to “Yes.” |
h. | Set Require Customer’s Billing Address to one of the following: |
-
Yes
Requires the customer’s billing address for all purchases.
No
Does not require the customer’s billing address for any purchases.
For Virtual Quotes Only
Requires the customer’s billing address for virtual quotes only.
i. | To specify whether the customer can sign a billing agreement with your store in the PayPal payment system when there are no active billing agreements available in the customer account, set Billing Agreement Signup to one of the following: |
-
Auto
The customer can either sign a billing agreement during the Express Checkout flow or use another method of payment.
Ask Customer
The customer can decide whether to sign a billing agreement during the Express Checkout flow.
Never
The customer cannot sign a billing agreement during the Express Checkout flow.
The store owner needs to apply to PayPal Merchant Technical Support to enable billing agreements. The Billing Agreement Signup parameter must be enabled only after PayPal confirms that billing agreements are enabled for your merchant account.
j. | To allow the customer to complete the transaction from the PayPal site without returning to your Magento store for Order Review, set Skip Order Review Step to “Yes.” |
6. | When complete, click the Save Config button. |