StoreFront supports PayPal Standard, PayPal Express Checkout, PayPal Advanced, PayPal Payflow Link, and PayPal Payments Pro solutions.
If you have sales related questions about setting up new PayPal service and would like to speak directly to a PayPal Product Specialist, call (1) 877-455-1481. If you have customer service related questions regarding an existing PayPal account and would like to speak directly to a PayPal Customer Service agent, call (1) 888-221-1161.
PayPal Standard is the easiest PayPal solution to set up and use. In addition to regular payments within PayPal accounts, this methods also allows users to pay by credit card without having to first create a PayPal account.
How to set it up
1. StoreFront Control Panel:
- Go to the Settings → Payment page.
- Find PayPal payment method.
- Click "Account Details" link in the Payment Processor column. A popup window will appear.
- Insert your PayPal account's email address. Save the changes.
- Enable this payment method and save the changes once again.
2. PayPal backend:
- Log in to your PayPal account.
- Proceed to My account → Profile → My selling tools.
- Find Instant Payment Notifications in the settings link and click "Update". Click "Choose IPN Settings" button and select Receive IPN messages (Enabled) option. Type in the following URL in "Notification URL" field: http://app.multiscreensite.com/paypalstandard/STOREID where STOREID is your actual Store ID. For example:http://app.multiscreensite.com/paypalstandard/1003. Save the changes.
- Also we highly recommend to enable the "Auto Return" option*. You can find it on Profile → My selling tools → Website Payment Preferences page. StoreFront sends the necessary value of the Return URL in each request to PayPal.
- Set up encoding preferences. Open Profile → My selling tools → PayPal button language encoding" page. Click the More Options button. Then set Encoding to UTF-8, and Do you want to use the same encoding for data sent from PayPal to you (e.g., IPN, downloadable logs, emails)? to Yes. Save the changes.
- If you have Premier or Business PayPal account, go to Profile → My selling tools → Shipping Calculations and click Update. Then select the checkbox next to the shipping method for a specific currency. Click "Edit" button. Set Use the shipping fee in the transaction instead of my calculator's settings to Yes. Click "Save Changes" button. Perform these steps for each shipping method set in your PayPal account. If you don't have any shipping methods on this page, just skip this step.**
Please make sure you followed all the steps described above. Otherwise you may have issues with your PayPal orders.
* The auto-return will force your customers to return to your store (and to which URL they will be returned) after they have completed the payment at PayPal. Basically this setting isn't necessary: PayPal will show a button like 'return to the store' that will lead the customers back to the shop.
However, you may want to enable it in the following cases:
a) If you want to track sales using Google Adwords or any other tool and you have a tracking code inserted in StoreFront control panel, System Settings → General → Cart. In this case, the code is triggered when customer's get to Thank you for your order page therefore you need to force the auto return.
b) If you're going to use one PayPal account in several separate StoreFront stores. StoreFront will pass the correct URL along with each payment request, so customers will be returned to the site where they started the checkout (i.e. your StoreFront shop).
The main thing is to enable IPN (Instant Order Notifications) setting. IPN is a message transmitted from PayPal to StoreFront via a special secure channel and indicating the status of the payment. So this setting will ensure that your StoreFront store will be notified about whether the customer did complete the payment or the transaction has been failed. Upon receiving such a notification, StoreFront is able to update the order status accordingly. Thus having IPN properly setup in your PayPal account is crucial for the automatic accepting of orders in StoreFront.
** This step is necessary to avoid issues with shipping calculation in StoreFront store: If you have any shipping rates configured in the PayPal account, they may override the rates from your StoreFront store. As a result the order may arrive at status Awaiting Payment (check here for more tips on this issue).
PayPal Express Checkout
Express Checkout is a more advanced solution by PayPal. It provides an alternative checkout process for your StoreFront store.
How to setup PayPal Express Checkout in StoreFront
- Log in to your StoreFront control panel.
- Go to Settings → Payment → PayPal Express Checkout page.
- Fill in all the necessary fields: API Username, API Password and Signature. You can get them from PayPal.
- Save the changes.
How to generate PayPal API signature
Have you generated an API certificate or signature before?
1. If no, you need to generate a signature. Use instructions provided by PayPal: Obtaining API Credentials.
2. If yes, then there are two options:
- You generated the API signature but cannot find it in the PayPal backend. In this case you just need to grab it using the instruction posted above and use it in the StoreFront backend.
- You generated the API certificate. Unfortunately, PayPal doesn't allow having an API signature and a certificate at the same time. So you should remove the certificate and generate the signature instead. Attention: if you're already running any shopping cart with your PayPal account and this cart uses an API certificate, the cart will not be able to process PayPal transactions. In this case you need to switch the cart to using a signature (PayPal recommends using a signature).
How PayPal Express Checkout works
- You add products to the bag.
- Click "Checkout with PayPal".
- StoreFront redirects you to the PayPal site.
- You sign in with the PayPal account or create a new one.
- PayPal redirects you back to StoreFront.
- StoreFront creates a new profile based on the information from PayPal and shows the last checkout page.
- You review your order, change the shipping method if necessary and click "Submit order" button.
- StoreFront sends the request to PayPal in background, PayPal charges your credit card.
PayPal Payflow Link and PayPal Payments Advanced
Note: This payment method requires SSL on the site.
PayPal Payflow Link and PayPal Advanced payment methods are available to merchants from the United States, Canada, Australia, New Zealand, and UK.
PayPal Advanced method is for US merchants only.
PayPal Payflow is a "true" payment gateway that links your website to your merchant account (a type of bank account that allows businesses to accept payments by credit card and get payments directly to your bank) and payment processor (a company that handles credit card transactions for a merchant acquiring bank). More information about PayPal Payflow can be found here: https://www.paypal.com/webapps/mpp/payflow-payment-gateway
If you don't have a merchant account, you can use PayPal Payments Advanced:
This payment method enables online stores to collect payments directly via credit card without leaving site as well. From an integration standpoint, PayPal Payments Advanced is identical to the PayPal Payflow gateway (so you can use it with our Payflow integration), with the following exceptions:
- PayPal Payments Advanced includes a merchant account with PayPal.
- PayPal Express Checkout and Bill Me Later payment methods cannot be disabled on the hosted checkout template for a PayPal Payments Advanced user.
Please, also refer to this page for more info: https://www.paypal.com/webapps/mpp/paypal-payments-advanced
So, to sum it up: if you don't want to create a merchant account, go with PayPal Advanced to accept credit cards without leaving a website.
How to set up
- Sign up for PayPal's Payflow Services
- Log in to PayPal Manager account, go to Service Settings → Hosted Checkout Pages → Set Up. Set "Enable Secure Token" to Yes. DO NOT change any other values on this page or on the Customize page, as StoreFront will pass these values on your behalf for ease of configuration.
- In StoreFront Control Panel, Go to the Settings → Payment page. In PayPal payment method section, choose PayPal Payflow Link or PayPal Payments Advanced.
- Click the "Account Details" link near the payment method and enter your credentials in the settings popup.
- Save the changes and enable this payment method.
- Once you've verified that your account works correctly during the pilot, log in to PayPal Manager and click on Activate Account.
- Turn off the "Send transactions to the test server" option in the payment settings in your StoreFront control panel.
PayPal Payments Pro Hosted
PayPal Payments Pro Hosted offers a way to securely accept credit and debit cards or PayPal payments without your customers having to leave your StoreFront store: all payment options are displayed on the last checkout step in an inline frame.
How to set up
- Sign up for a PayPal Payments Pro account
- In StoreFront Control Panel, Go to the System Settings → Payment page. In PayPal payment method section, choose PayPal Payments Pro Hosted, click Apply.
- Click the 'Account Details' link and submit your PayPal Payments Pro account email in the settings popup. If you are using a sandbox PayPal account for testing, tick 'This is a sandbox account".
- Save the changes, enable this payment method, and click "Save".
FAQ and Troubleshooting
Can my customers pay by credit card without creating or using a PayPal account?
All PayPal services allow paying by credit card without a PayPal account. If your customers are prompted to sign up at PayPal to pay, there may be various reasons for that, starting from cookies setup and ending up with your PayPal account settings. Please refer to this post for the detailed instructions:
Can I use PayPal if I have a PayPal Personal account?
Yes, if you have a Personal account, it will work with StoreFront just fine. Use PayPal Standard payment option.
I see a sale in the Paypal backend, but it isn't showing in StoreFront
If you see any order in PayPal and don't see it in StoreFront, first of all make sure that your PayPal module is set up properly and all the steps from this instruction above have been carried out. Pay particular attention to IPN messages - they must be enabled.
If all PayPal settings are correct, open "IPN History" page in your PayPal backend and check it for any errors or failed IPN messages. If you have any failed messages related to the missing orders there, try to re-send them:
- Log in to your PayPal account and hover your mouse over History.
- Click on IPN history from the menu.
- On the Instant Payment Notification history page select All (Last N days).
- Click Search.
- Then mark the messages that need to be resent and click "Resend selected".
If the above doesn't help, please report the issue to our support team, and we will investigate it closely.
A customer has paid via PayPal, but orders are shown as Awaiting Payment in StoreFront control panel.
If an order is successfully placed and you have fully charged the customer for it, it should get "Paid" status. Status "Awaiting Payment" means that the order is pending or it has been placed but the money has not been transferred to your account yet. You can check what error is returned from PayPal in the order details in StoreFront control panel, section 'Additional information.
There may be several reasons why some PayPal order gets Awaiting Payment status instead of Paid. We enumerate them below.
a. PayPal has informed us that the payment is pending, i.e. you actually haven't got the money yet
Here is a list of possible pending reasons:
- Address: The payment is pending because your customer has not included a confirmed shipping address and your Payment Receiving Preferences is set to allow you to manually accept or deny each of these payments. To change your preferences, go to the Preferences section of your Profile.
- Authorization: You set the payment action to Authorization and have not captured funds yet. The Payment Action parameter is set in StoreFrontcontrol panel, System Settings → Payment → PayPal Express Checkout tab. For description of what each parameter means, please refer to: https://www.x.com/developers/communi...ayment-actions If you want orders going through Express Checkout to be processed right away, you need to change this parameter to Sale.
- eCheck: The payment is pending because it was made by an eCheck that has not been cleared yet.
- Intl: The payment is pending because you hold a non-U.S. account and do not have a withdrawal mechanism. You should manually accept or deny this payment from your Account Overview.
- Multi-currency: You do not have a balance in the currency sent, and you do not have your Payment Receiving Preferences set to automatically convert and accept this payment. You should manually accept or deny this payment.
- Order: You set the payment action to Order and have not captured funds yet. See comments about authorization above.
- Payment review: The payment is pending while it is being reviewed by PayPal for risk.
- Unilateral: The payment is pending because it was made to an email address that has not been registered or confirmed yet.
- Upgrade: The payment is pending because it has been made via credit card and you should upgrade your account to Business or Premier status in order to receive the funds. Upgrade can also mean that you have reached the monthly limit for transactions on your account.
- Verify: The payment is pending because you have not been verified yet. You should verify your account first, and after that you will be able to accept this payment.
- Other: The payment is pending for some reason different from those listed above. For more information contact PayPal Customer Service.
The most frequent reason of all above is that a payment has been made by an eCheck that has not been cleared yet. After an eCheck is cleared (usually it takes 3-5 days), the order status will be changed to Paid automatically.
b. Error "This order is in the "Awaiting Payment" status, because the order total and the amount actually paid do not match. Please check this order in your PayPal Admin Area for possible issues."
In this case, usually the orders are processed successfully and the money is paid. You will see this error message in the order details, on 'Sales' page at StoreFront control panel. There are three possible causes
- The order total, formed in StoreFront, doesn't match the order total returned by PayPal. Probably, you are using PayPal's taxes or shipping rates (enabled in your PayPal merchant account). These rates are appended to the order total when customer is redirected to PayPal. You need to check your PayPal manager account for tax and shipping settings, and disable them if any.
- The currency in which StoreFront store sells differs from the one set in your PayPal account. You need to make sure you setup the same currency on both sides.
- The payments are transferred to the PayPal email that differs from that you specified in the StoreFront control panel, Settings → Payment → 'Account details' of the PayPal Standard payment method.
As a security measure, to avoid any possible hack attempts, StoreFront requires that the payment is processed to the PayPal email that is recorded in the StoreFront control panel. If the transaction has a different email, StoreFront sets the order status to Awaiting Payment or PayPal will mark the order as pending.
Most likely you have two emails associated with your business PayPal account, both are valid therefore PayPal accepted the payment. Yet only one of the emails is supposed to receive the payments.
You need to make sure you submitted the right PayPal email in your StoreFront control panel, Settings → Payment → 'Account details'. If you're not sure to what email you're receiving payments, you can contact PayPal customer support.
c. PayPal had some problems on their side
When a payment is made, PayPal sends an IPN (instant payment notification) message to StoreFront with the payment details. StoreFront verifies this IPN message and if everything is OK, it updates the order status. If for some reasons (due to an error or a downtime) the PayPal server hasn't answered to our request to verify the transaction (i.e. we don't know if the IPN message has been legit or not), the order status will be set to Awaiting Payment.