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: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience 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

uploaded   need   following   work   would   form   joomla   find   page   report   used   website   order   added   creator   list   mysql   license   first   where   windows   server   version   name   parameter   time   source   note   display   function   client   deluge   user   database   code   using   zoho   create   date   data   table   error   files   solution   file   value   field   script   google   system   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 bc1qjtp4l4ra452wzvuk9a45yfj82zkahsyy2z379y
© 2023 Joel Lipman .com. All Rights Reserved.