Prerequisites for PayPal Services Integration 

Before adding a PayPal Payflow Gateway as a payment method in OroCommerce, create a PayPal Payflow Gateway Manager Account and create a dedicated API transaction user for every instance of OroCommerce. You might need a separate instance for a sandbox, test, staging/pre-production, and production environment.

Register a Business Account with PayPal 

To register a business account and enable express checkout for your OroCommerce PayPal integration, follow the next steps:

  1. Open https://developer.paypal.com/ and click Log In.

  2. On the login page that opens, click Sign Up.

  3. On the following page, select Business Account and click Continue.

  4. Select the service plan (Payment Pro, Payments Standard, or Express Checkout).

    The Get Started page opens.

    ../../../../../../../_images/paypal_business_account_1.png
  5. Type in your email.

    The Sign up for a Business account page opens.

    ../../../../../../../_images/paypal_business_account_2.png
  6. Enter the password and password confirmation.

  7. Provide your business contact information.

  8. Read the PayPal User Agreement.

  9. Click Agree and Continue.

    On the following page, select your type of business and provide the requested additional information.

    ../../../../../../../_images/paypal_business_account_3.png
  10. Provide the requested personal information.

    ../../../../../../../_images/paypal_business_account_4.png
  11. Click Submit.

    The PayPal Business Account opens.

  12. In Account Setup, confirm your email, link your bank account, and configure the credit card statement.

Register a PayPal Payflow Gateway Account 

To create a PayPal Payflow Gateway Account:

  1. Open https://registration.paypal.com/ and click Continue.

  2. Select your payment processor from the list.

  3. Fill in the required fields in the Account Information section, confirm you have read the PayPal Gateway Agreement in the Term and Conditions section, and click Continue.

  4. Follow the on-screen guidance to prepare for integration: log into the Payflow Manager and create one or more API Transaction User(s).

    ../../../../../../../_images/paypal_sandbox_test_account.png
  5. To test the Express Checkout and Bill Me Later payment methods, click Set up PayPal Developer Sandbox link and enter PayPal Sandbox Email address.

    Note

    If you do not have a PayPal Sandbox account yet, register at http://developer.paypal.com.

    ../../../../../../../_images/paypal_register_dev_account.png
  6. Now you have Payflow Gateway Account and you can use PayPal Payments Pro and Payflow Gateway in your applications.

Configure a PayPal Manager/Merchant Account to Accept Payments 

To accept payments in OroCommerce, you need to configure your PayPal Manager Account using the following steps:

  • Enable secure token and silent post.

  • Enable reference transactions.

  • Disable fraud protection for test environments.

  • Enable fraud protection for production environments.

Enable Secure Token and Silent Post 

OroCommerce requires enabling secure token and silent post features.

To enable these features:

  1. Log into the https://manager.paypal.com/:

    1. Enter the partner name (e.g. PayPal) and PayPal Payflow Gateway account login and password.

    2. Click Log In. For the first log on, PayPal prompts you to type in answers for security question. Remember it for further authentication during the following logins.

    ../../../../../../../_images/paypal_manager_login.png
  2. Navigate to the Service Settings and click the Set Up link in the Hosted Checkout Pages group.

  3. In the Security Options section, set Enable Secure Token to Yes.

  4. In the Silent Post for Data Transfer section, set Use Silent Post to Yes and enable the Void transaction when my server fails to receive data sent by the silent post.

Enable Reference Transactions 

OroCommerce depends on the reference transactions. To ensure they are enabled:

  1. Log into the https://manager.paypal.com/ as described in the previous section.

  2. Navigate to the Account Administration > Manage Security > Transaction Settings in the menu.

  3. Set Allow reference transactions to Yes.

  4. Click Confirm (twice).

Note

There might be a significant delay before this change comes into effect (up to several hours). During this time your reference transactions could be rejected by PayPal.

Disable Fraud Protection for Test Environments 

Disable Fraud Protection for the Test Setup to avoid your test transaction being blocked. Test transactions may look suspicions due to unusual behavior and eventual failures because of the invalid data:

  1. Log into the https://manager.paypal.com/ as described in the Enable Secure Token and Silent Post section.

  2. Navigate to the Service Settings > Fraud Protection > Edit Standard Filters in the menu.

  3. Unselect all the filters and click Deploy.

Note

There might be a significant delay before this change comes into effect (up to several hours). During this time your transactions may be caught by the fraud filter which will lead to the payment failure.

Enable Fraud Protection for Production Environments 

Enable Fraud Protection for any customer-facing environments where real purchases might happen:

  1. Log into the https://manager.paypal.com/ as described in the Enable Secure Token and Silent Post section.

  2. Navigate to the Service Settings > Fraud Protection > Edit Standard Filters in the menu.

  3. Select all the filters and click Deploy.

Note

There might be a significant delay before this change comes into effect (up to several hours). During this time the fraud filter is disabled and any transactions may impose a security risk due to the reduced protection. Limit access to the storefront and disable related payment methods until you confirm that the fraud filters are on and catch the suspicious and illegal transactions.

Configure the PayPal Manager/Merchant Account to Work with Express Checkout 

Using Express Checkout requires the following configuration in the Manager Account.

  1. Log into the https://manager.paypal.com/ as described in the Enable Secure Token and Silent Post section.

  2. Navigate to the Service Settings > Hosted Checkout Pages > Set Up.

    ../../../../../../../_images/paypal_express_checkout_configuration1.png
  3. In the PayPal Express Checkout section, set Enable PayPal Express Checkout and Enable PayPal Credit to Yes, enter PayPal email address for production deployments and PayPal sandbox email address for sandbox and test deployments. Use the business account email (as in Register a Business Account with PayPal).

  4. Save changes.

Now you can configure Express Checkout as a payment option in OroCommerce.

Create an API Transaction User 

To create an API Transaction User:

  1. Log into the https://manager.paypal.com/ as described in the Enable Secure Token and Silent Post section.

  2. Navigate to the account administration and click on the Add User link.

../../../../../../../_images/paypal_manager_add_user.png
  1. Enter the administrator password to authorize user creation.

  2. Provide user personal information (contact name, phone, and email).

  3. Enter user login information (user login name and password).

  4. Select the user role.

  5. Set status to Active.

  6. Click Update.

The basic user login information is securely delivered to the provided email.