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:
(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%


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.


Related Articles

Joes Revolver Map

Joes Word Cloud

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

Accreditation

Badge - Certified Zoho Creator Associate
Badge - Certified Zoho Creator Associate
© 2021 Joel Lipman .com. All Rights Reserved.