Paypal Checkout API with PHP and JavaScript

Applies to:
  • PayPal OAuth2.0 API v1
  • PayPal Checkout API v2

What?
This is an article on how to build a shopping cart and get your website to accept payments via PayPal. The below isn't a final or perfect option, it's an article to help me document and refine a process.

Why?
It appears that gone are the days when sending a payment via PayPal used to be a basic HTML form. There are probably a ton of other articles out there that document PayPal Checkout REST API v2 as well, I just want to build my own that I can understand and update.

I've chosen the API method because according to PayPal's instructions you don't have to install any additional software/framework. Ideal in my opinion.

How?
This code has been built to work alongside jQuery but it could be adapted to a pure JS solution.

High Level Recap
JavaScript » Cookie » PHP

1. Client Side JS to create Cart
2. Validate Cart with PHP on Checkout
3. Confirm Transaction with PHP and JS

I need to often be reminded of how to calculate a percentage.  The context here is that I want a progress bar in one of my programs.


To determine what percent a number is of a total number:
copyraw
(Progress So Far / Total Progress Units) * 100 = %
or
(Net Amount / Gross Amount) * 100 = %

eg. (12 steps / 30 steps) * 100 = 40%   ie. 12 steps of 30 is 40% progress
eg. ($8 / $10) * 100 = 80%              ie. $8 of $10 is 80%
  1.  (Progress So Far / Total Progress Units) * 100 = 
  2.  or 
  3.  (Net Amount / Gross Amount) * 100 = 
  4.   
  5.  eg. (12 steps / 30 steps) * 100 = 40%   ie. 12 steps of 30 is 40% progress 
  6.  eg. ($8 / $10) * 100 = 80%              ie. $8 of $10 is 80

Category: eCommerce Systems :: Article: 268

This happened to a m8s website in VirtueMart 1.1.3. The issue here was that although all the prices lost their float/decimal and were rounded up to the nearest integer...  

At first we thought this was due to installing a Virtuemart UK Credit Card Payment Module (vm-ukcreditcard). A lot of forums were suggesting to change the number_format to convert any number to a currency or two decimal places. Another suggestion was to alter the main virtuemart database table (jos_vm_prodcut_price)...

Don't do any of these things!

After modifying tax rates and ensuring these were all the same, we also found that this was due to a country not being specified under the Store configuration within VirtueMart.


To setup your store to use SSL (Secure Socket Layer) you will first need an SSL certificate. Many hosting companies will either provide (or can offer) "Shared SSL" or the option to buy a "Dedicated SSL" certificate.

Shared SSL means that your store will run using two domains your master domain name and shared secure domain which may be used by other customers of your hosting company.
Dedicated SSL means that you will have your own SSL certificate which enable you to run your store on one domain using http and https.


Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: The information on this website is provided without warranty and any content is merely the opinion of the author. Please try to test in development environments prior to adapting them to your production environments. The articles are written in good faith and, at the time of print, are working examples used in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

Related Articles

Joes Revolver Map

Joes Word Cloud

joomla   data   used   system   time   version   solution   note   report   added   license   zoho   order   page   work   function   would   windows   find   name   table   user   code   server   first   script   parameter   mysql   google   select   files   error   website   file   using   uploaded   need   creator   source   could   program   list   value   display   form   database   where   following   date   search   JoelLipman.Com

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate

Donate & Support

If you like my content, and would like to support this sharing site, feel free to donate using a method below:

Paypal:
Donate to Joel Lipman via PayPal

Bitcoin:
Donate to Joel Lipman with Bitcoin - Valid till 8 May 2022 3QnhmaBX7LQSRsC9hh6Je9rGQKEGNQNfPb
© 2021 Joel Lipman .com. All Rights Reserved.