Getting Started with PayPal
1. Create an business account with PayPal
2. Request the PayPal module for your site
Once registration with PayPal is complete, please send us a request from the Store Features page (Store > Configuration > Account Information and Preferences > Store Features) to enable the PayPal module. We will confirm once the module has been enabled so that you may begin configuring it.
3. Configure PayPal settings on IndieCommerce
Store > Configuration > Payment Methods
Next to PayPal Website Payments Standard, click the link for settings.
In the PayPal e-mail address field, enter the email address associated with your PayPal account.
Currency Code should be USD
PayPal login page language should be US
PayPal server - ensure this value is set to Live
Payment action - ensure this is set to Authorization
Cancel return URL - optional - this is the page customers will be redirected to if they cancel their order while checking out on PayPal. Default is the home page. You can enter a different page here, if you like.
PayPal cart submission method - the default and recommended value is Submit the whole order as a single line item (including shipping and taxes)
Shipping address prompt in PayPal - this must be set to Do not show shipping address prompt at PayPal. The customer has already entered their shipping address on your IndieCommerce site and you don't want them to change it on PayPal's end.
Submit address information to PayPal to override PayPal stored addresses. This setting must be CHECKED.
Sent address selection - must be set to Send shipping address to PayPal.
Show debug info in the logs for Instant Payment Notifications - this can help IndieCommerce staff debug issues with your PayPal account. Recommended setting is ON for new accounts.
REST API Credentials - covered in next section, "PayPal Order Processing"
4. Configure Auto Return URL on PayPal
This step ensures customers return directly to your website after finishing their order on PayPal.
1. Sign in to your PayPal business account.
2. Hover over your name in the upper right corner, and click on Account Settings.
3. On the next screen, scroll down and click on Website Payments on the left. Click Update next to Website Preferences.
Basic PayPal configuration is now complete. At this point customers can place PayPal orders on your website, and you can complete the transaction through PayPal's interface. We recommend you place a test order to make sure everything is working correctly before proceeding to the next section.
PayPal Order Processing
New for September 2021! This new feature allows you to automatically capture, void, and refund PayPal orders on your IndieCommerce site, simply by adjusting the order status--similar to how credit card orders work.
1. Request the new ABA PayPal module for your site (existing PayPal users only)
Visit the the Store Features page (Store > Configuration > Account Information and Preferences > Store Features) and request the PayPal Order Processing module. Once you have received confirmation that it has been enabled for you, you can proceed with enabling the PayPal REST API (next step).
New PayPal users may already have this module enabled; if so, it will be marked as enabled already on the Store Features page.
2. Create a new REST API app on PayPal
The integrated order processing features depend on PayPal's REST API. To utilize this API, you must first register a new REST API app on PayPal.
If you are not yet signed in, the button in the upper right will say "Log in to Dashboard". Click this button and use your existing PayPal account to sign in.
Once you are signed in, you will see this screen:
Under My apps & credentials, click the toggle to change it from Sandbox to Live. Then click the Create App button under REST API apps. You will see this screen:
Name your app and click Create App to continue. You can enter any name here; if you have other PayPal apps already, including "IndieCommerce" in the name may help identify it later.
If you see an option for App Type on this screen, and the choices are "Merchant" or "Platform", choose Merchant. Not all PayPal accounts will see this option.
On the next screen, you can see your API credentials:
In a new browser tab, return to your IndieCommerce site, and navigate to:
Store > Configuration > Payment methods
Next to PayPal Website Payments Standard, click the link for settings.
First, check that Payment action is set to Authorization. This ensures new PayPal orders will be authorized but not immediately captured (similar to credit cards).
Scroll to the bottom of this page and click on REST API Credentials
. Copy the Client ID and Secret from your PayPal browser tab and paste them here. (Click the Show
link on PayPal to display the Secret.) You can leave the PayPal Rest API URL as the default (https://api.paypal.com
Click Save configuration to save your changes.
3. Process some orders!
New PayPal orders will come in as PayPal Pending. When you are ready to charge the customer, move the order to Payment Received, and the PayPal authorization will be captured, just like a credit card.
Moving a PayPal order to Canceled will void the authorization (if uncaptured) or issue a full refund (if captured), the same as credit cards.
Finally, there is a new Refund PayPal Payment button that appears on Payment Received or Completed orders.
This button will take you to a page where you can issue a full or partial refund to a PayPal customer.
Important Reminders When Using PayPal on IC/IL
Client ID and Secret Key
Make sure you have the correct Client ID and Secret Key
When copying the Client ID and Secret Key, make sure the entire string is copied
Client ID is not the same as the email address
Client ID and Secret Key should be for the Live PayPal account, not the Sandbox
Please check all of the settings on the PayPal configuration page on your IndieCommerce site.
After an order has been marked as Payment Received, it takes a couple of minutes for the IC site to receive and update the order with the UPN (Instant Payment Notification). Do not attempt to change the status of the order until the IPN is visible in the Admin Comments.
If there is a special Rule on your site to automatically change the status of PayPal orders, please remove those Rules. If you're not sure what this means, contact firstname.lastname@example.org.
Add 'PayPal Pending' to the list of order statuses on the main order list page. This is very important to ensure that staff members processing orders don't miss new PayPal orders.
If you had custom order statuses for PayPal orders and are not sure if you still need them, contact email@example.com
Use the PayPal Charge Report to keep track of PayPal orders. This report is available under Store > Reports > Financial Reports
You can capture a PayPal authorization for more than the original amount, but only up to a maximum of 115%. If you review the admin order comments for a PayPal order, it will tell you the maximum amount you can capture; you can also see this value in a message on the order edit screen.
You can also bulk process PayPal orders using Bulk Order Processing
Ingram CDF Orders
PayPal orders sent to Ingram will behave similarly to credit card orders (payment automatically captured when the order ships).