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 , replacing http[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

Info and Troubleshooting

Screenshots – (click for larger versions)

admin panel/options