WPPizza – Paypal Standard Gateway
Description
Paypal Gateway for WPPizza – Enables Paypal Payments for orders using the WordPress WPPIZZA Plugin – Requires WPPIZZA 2.15+,3.11.1+ Recommended
Includes “Paypal Checkout” as an alternative option to the standard redirect
Requirements
- WPPizza 2.15+, 3.11.1+ Recommended
- You MUST (obviously) have a PayPal account
- iConv (enabled by default on most servers)
Note
“PayPal Checkout” does NOT have inline credit card payments/options enabled (as paypal implementation – as of writing this at least – is messy to say the least)As of v5.4 this is now also enabled, provided credit card acceptance has been activated in your PayPal account.- However , Credit card payments *are* available at the normal paypal guest checkout if enabled
- NOTE: As with normal “redirect” implementations, guest checkout (i.e using credit cards) may not always show up in all cases due to fraud prevention and other measures controlled entirely by paypal
Setup
- install by uploading the zip file in the normal wordpress manner from withing the plugin screen (add new->upload) and activate
- go to wppizza->gateways and set options as required
- setup paypal IPN as mentioned here
- If you want to offer the ability for customers to pay by credit card without a PayPal account or having to login to PayPal, you need to enable “guest checkout” in your PayPal account (Note: this might not be available for all countries)
Api Username/Passwords/Signature (to enable refunds – since v4.1)
- If you want to be able to refund orders directly from within the order history you will need to enter the relevant API credentials.
- Login to your PayPal account
- Go to https://www.paypal.com/businessmanage/credentials/apiAccess
- Click on “Manage API credentials” under “NVP/SOAP API integration (Classic)” (Screenshot)
- If asked – select “Request an API signature” and click “Agree and Submit”
- The following page will give you “Api Username”, “Api Password” and “Signature” (Screenshot)
- Click on “Done” and enter those 3 values into the relevant field of the plugin settings in your WordPress Admin Area (WPPizza->Gateways->Paypal)
- To obtain Sandbox credentials, login to your sandbox account instead , and go to https://www.sandbox.paypal.com/businessmanage/credentials/apiAccess, then follow the same steps as described above
PayPal Checkout (since v5.0 – requires WPPizza 3.11.1) – REST Api: Account / Client ID / Secret
- If you want to be able to use Paypal Checkout you need to create REST credentials and enter them in the relevant text fields in Wppizza -> Gateways -> Paypal.
- The current “Howto” document at paypal can be found here
- Summary:
- Login in to the “Developer Dashboard” with your paypal credentials
- Under “REST API Apps”, select “Sandbox” and click “Create App”
- Give the App a name and select the account from the dropdown
- Click on “Create App”
- In the following screen you will see Account, Client Id, and Secret values. Copy those to the relevant fields in Wppizza -> Gateways -> Paypal, entering the sandbox values into the REST sandbox fields (if you cannot see those click on “Enable Sandbox Y/N” first)
- At the bottom of your app page in your paypal account, you will also find a section named (Sandbox) Webhooks.
- Click on “Add Webhook” and add the following url
http[s]://www.my-domain.com/?wppizza-listener=paypal
, replacinghttp[s]://www.my-domain.com
with your domain. - As “event types” enable “All Events” or – at a minimum – “Checkout order approved”. (More event listeners may be added in the future)
- Repeat the above with “Live” being selected, entering the values into the “Live” REST credentials
- Make sure you use sandbox values in sandbox fields and production values in live/non-sandbox fields
- If you cannot see the relevant Sandbox/Live input in Wppizza -> Gateways -> Paypal, make sure to (de)select “Sandbox (Y/N) ?” as appropriate to make these fields visible
Note: for most payment methods, orders will successfully complete without a webhook being set-up, however, some payment methods allow a customer to close the browser after a payment has been made but before your site has been notified, so setting up a webhook is highly recommended
Info and Troubleshooting
Screenshots – (click for larger versions)
admin panel/options |