SlideShare a Scribd company logo
HTML5 Gaming Payment Platforms
     Building Scalable Game Payment Systems




                                Jonathan LeBlanc
                     Developer Evangelist (PayPal)
                             jleblanc@paypal.com
                                Twitter: @jcleblanc
                      Github: github.com/jcleblanc
What are we going to talk about




   Cross Platform   Digital Payments
Demo - JSWars

      http://29a.ch/jswars/
Session Breakdown

        The Architecture


        The Implementation


        The Product Webhooks
Session Breakdown

        The Architecture


        The Implementation


        The Product Webhooks
The Players in our Little Game

    Client & Server-Side Components

    PayPal Digital Goods (Express Checkout)

    HTML5 LocalStorage

    jQuery
How Digital Goods Work

          Fetch the token

          Display login lightbox

          Commit the payment

          Verify the payment
Fetching Identity Information




    Client Identity    PayPal
        Server         Identity
                       Server
Getting the Token and Lightbox

                   Client Requests
                   Payment Token


                   PayPal Returns
                   Token


                   Payment Lightbox
                   Displayed to User
Fetching Inventory Information

                       Within the
                       Application




                       From Client
                       Inventory Store
Committing the Payment

                   Client Approves
                   Transaction


                   PayPal Returns
                   Transaction Data


                   Client Activates
                   Success State
Storing Data

               Store Identity
               Information




               Store Transaction
               Information
Verifying the Purchase


              Client Makes Verification
              Call to PayPal




              PayPal Returns
              Purchase Data for User
Fetching LocalStorage Purchases


                     Local Storage




                     Client Inventory
                     System
Session Breakdown

        The Architecture


        The Implementation


        The Product Webhooks
Setup Sandbox User Accounts

   https://developer.paypal.com/
Library & Toolkit Setup

               Attach the script includes


<script src="https://www.paypalobjects.com/js/
   external/dg.js"></script>

<script src="client/jquery-min.js"
   type="text/javascript"></script>
Creating a Billing Handler

    pptransact.bill({
        userId:'[USER ID]',
        itemId:'[ITEM ID]',
        itemQty:'[ITEM QUANTITY]',
        successCallback: function(data){
           //bill success
        },
        failCallback: function(data){
           //bill cancelled
        }
    });
How the Billing Flow Works
                    Bill
                                  Digital
                                  Goods
               Success / Fail

     Billing
                                 Product
    Request
               Store Details     Storage

                                  User
                Notify User
                                Notification
Creating a Verification Handler

    pptransact.verify({
        userId:'[USER ID]',
        itemId:'[ITEM ID]',
        successCallback: function(data){
           //verify success
        },
        failCallback: function(data){
           //verify failed
        }
    });
How the Verification Flow Works
                  Get Data
                                        Product
                                        Storage
                      Success / Fail

                  Verify Purchase
   Verification                          Digital
    Request                              Goods
                      Success / Fail



                                         User
                  Notify User
                                       Notification
Opening and Closing the Flow

Opening the Modal Window

   var dgflow = dg.startFlow(
     'https://www.sandbox.paypal.com/
     webscr?&useraction=commit&token=###');


Closing the Modal Window

   dgflow.closeFlow();
Session Breakdown

        The Architecture


        The Implementation


        The Product Webhooks
Identity and Payment Hooks




 Client Identity        PayPal Identity
     Server                Server
Identity: verifyUser


 function verifyUser($userId = 0){
   $YourSessionUserId = '888888';

     $returnVal =
       ($userId == $YourSessionUserId)
       ? true : false;

     return $returnVal;
 }
Identity: getUserId



       function getUserId(){
         $result = "888888";
         return $result;
       }
Payment: recordPayment


 function recordPayment($paymentObj = ""){
   $userId = $paymentObj["userId"];
   $itemId = $paymentObj["itemId"];
   $transactionId = $paymentObj["transactionId"];
   $paymentStatus = $paymentObj["paymentStatus"];
   $orderTime = $paymentObj["orderTime"];

     //INSERT YOUR CODE TO SAVE THE PAYMENT DATA
 }
Payment: verifyPayment



 function verifyPayment($userId = 0, $itemId = 0){
   $result = false;

     //INSERT YOUR CODE TO QUERY PAYMENT DATA AND
     //RETURN TRUE if MATCH FOUND

     return $result;
 }
Payment: getPayment

function getPayment($userId = 0, $itemId = 0){
  //INSERT CODE TO QUERY AND RETURN PAYMENT STRUCTURE

    $returnObj = array("success" => true,
               "error" => "",
               "transactionId" => "12345678",
               "orderTime" => "2011-09-29T04:47:51Z",
               "paymentStatus" => "Pending",
               "itemId" => "123",
               "userId" => "888888");

    return $returnObj;
}
Inventory Management Hooks




 Client Inventory     PayPal Digital
      Server             Goods
                        Payment
Inventory: getItem
     function getItem($itemId){
       $items = array(
          array(name => "Mega Shields",
                number => "123",
                qty => "1",
                taxamt => "0",
                amt => "1.00",
                desc => "Unlock the power!",
                category => "Digital"),
          ...);

         $returnObj = array();
         for ($i = 0; $i < count($items); $i++){
           if ($items[$i]['number'] == $itemId){
               $returnObj = $items[$i];
           }
         }

         return $returnObj;
     }
A Few Links

   The HTML5 Toolkit
   https://github.com/paypal/html5-dg

   The PayPal Sandbox (Create Test Users)
   https://developer.paypal.com/

   JSWars Code and Demo
   http://29a.ch/jswars/
Thank You! Any Questions?
        http://www.slideshare.net/jcleblanc




                             Jonathan LeBlanc
                  Developer Evangelist (PayPal)
                          jleblanc@paypal.com
                             Twitter: @jcleblanc
                   Github: github.com/jcleblanc

More Related Content

What's hot (20)

PPTX
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
goodfriday
 
PDF
Web Components: The future of Web Application Development
Jermaine Oppong
 
PPTX
SharePoint Saturday Atlanta 2015
Pushkar Chivate
 
PDF
AtlasCamp 2015: Connect everywhere - Cloud and Server
Atlassian
 
PPT
Going Offline with Gears And GWT
tom.peck
 
PPT
Agile and rails
gregmcintyre
 
PDF
Simplify AJAX using jQuery
Siva Arunachalam
 
PDF
Rego Deep Dive
Torin Sandall
 
PDF
Easing offline web application development with GWT
Arnaud Tournier
 
PPTX
Rohit&kunjan
Rohit Patel
 
PPTX
An Overview of Models in Django
Michael Auritt
 
PDF
Webdevelopment
Giacomo Antonino Fazio
 
PPT
Xml http request
Jayalakshmi Ayyappan
 
PDF
Everything is Awesome - Cutting the Corners off the Web
James Rakich
 
KEY
Html5 For Jjugccc2009fall
Shumpei Shiraishi
 
KEY
Google App Engine with Gaelyk
Choong Ping Teo
 
PDF
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
IT Event
 
KEY
Introduction to Palm's Mojo SDK
Brendan Lim
 
PDF
Ajax
gauravashq
 
PPTX
SharePoint and jQuery Essentials
Mark Rackley
 
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
goodfriday
 
Web Components: The future of Web Application Development
Jermaine Oppong
 
SharePoint Saturday Atlanta 2015
Pushkar Chivate
 
AtlasCamp 2015: Connect everywhere - Cloud and Server
Atlassian
 
Going Offline with Gears And GWT
tom.peck
 
Agile and rails
gregmcintyre
 
Simplify AJAX using jQuery
Siva Arunachalam
 
Rego Deep Dive
Torin Sandall
 
Easing offline web application development with GWT
Arnaud Tournier
 
Rohit&kunjan
Rohit Patel
 
An Overview of Models in Django
Michael Auritt
 
Webdevelopment
Giacomo Antonino Fazio
 
Xml http request
Jayalakshmi Ayyappan
 
Everything is Awesome - Cutting the Corners off the Web
James Rakich
 
Html5 For Jjugccc2009fall
Shumpei Shiraishi
 
Google App Engine with Gaelyk
Choong Ping Teo
 
Oleh Zasadnyy "Progressive Web Apps: line between web and native apps become ...
IT Event
 
Introduction to Palm's Mojo SDK
Brendan Lim
 
SharePoint and jQuery Essentials
Mark Rackley
 

Similar to HTML5 Gaming Payment Platforms (20)

PPTX
2012 SVCodeCamp: In App Payments with HTML5
Jonathan LeBlanc
 
PPTX
Hacking with PayPal
Jonathan LeBlanc
 
PPTX
Commerce Case Studies
Jonathan LeBlanc
 
PPTX
Barcelona Developers Conference 2011
PayPal
 
PPTX
How are mobile devices changing face of payments?
Pragati Rai
 
PDF
Easy Mobile Payments
PayPal
 
PDF
mobilecamp Hamburg
PayPal
 
PPTX
Monetizing your Applications with PayPal X Payments Platform
PayPalX Developer Network
 
PPTX
Monetizing your Applications with PayPal X Payments Platform
guest72b121
 
PDF
Mobile payments with PayPal
Srikanth Nandiraju
 
PPTX
Providing Full Featured Payments (API) at Scale
Praveen Alavilli
 
PPT
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
PayPalX Developer Network
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
xlwqapj1058
 
PPTX
To payments ... and beyond
Praveen Alavilli
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
zdkcysrn692
 
PDF
PayPal APIs Up and Running Second Edition Matthew A. Russell
kemishteklal
 
PPTX
Monetize with PayPal X Payments Platform
guest72b121
 
PPT
PayPal Dev Con 2009 Driving Business
Aduci
 
PPT
2012 4D Summit: Payments Made Easy
Jonathan LeBlanc
 
PPTX
Payflow gw apps
Arun Rk
 
2012 SVCodeCamp: In App Payments with HTML5
Jonathan LeBlanc
 
Hacking with PayPal
Jonathan LeBlanc
 
Commerce Case Studies
Jonathan LeBlanc
 
Barcelona Developers Conference 2011
PayPal
 
How are mobile devices changing face of payments?
Pragati Rai
 
Easy Mobile Payments
PayPal
 
mobilecamp Hamburg
PayPal
 
Monetizing your Applications with PayPal X Payments Platform
PayPalX Developer Network
 
Monetizing your Applications with PayPal X Payments Platform
guest72b121
 
Mobile payments with PayPal
Srikanth Nandiraju
 
Providing Full Featured Payments (API) at Scale
Praveen Alavilli
 
Adaptive Payments: Changing How We Pay with PIN, Pre-approved and Split Payments
PayPalX Developer Network
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
xlwqapj1058
 
To payments ... and beyond
Praveen Alavilli
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
zdkcysrn692
 
PayPal APIs Up and Running Second Edition Matthew A. Russell
kemishteklal
 
Monetize with PayPal X Payments Platform
guest72b121
 
PayPal Dev Con 2009 Driving Business
Aduci
 
2012 4D Summit: Payments Made Easy
Jonathan LeBlanc
 
Payflow gw apps
Arun Rk
 
Ad

More from Jonathan LeBlanc (20)

PDF
JavaScript App Security: Auth and Identity on the Client
Jonathan LeBlanc
 
PDF
Improving Developer Onboarding Through Intelligent Data Insights
Jonathan LeBlanc
 
PDF
Better Data with Machine Learning and Serverless
Jonathan LeBlanc
 
PPTX
Best Practices for Application Development with Box
Jonathan LeBlanc
 
PPTX
Box Platform Overview
Jonathan LeBlanc
 
PPTX
Box Platform Developer Workshop
Jonathan LeBlanc
 
PPTX
Modern Cloud Data Security Practices
Jonathan LeBlanc
 
PPTX
Box Authentication Types
Jonathan LeBlanc
 
PPTX
Understanding Box UI Elements
Jonathan LeBlanc
 
PPTX
Understanding Box applications, tokens, and scoping
Jonathan LeBlanc
 
PPTX
The Future of Online Money: Creating Secure Payments Globally
Jonathan LeBlanc
 
PDF
Modern API Security with JSON Web Tokens
Jonathan LeBlanc
 
PPTX
Creating an In-Aisle Purchasing System from Scratch
Jonathan LeBlanc
 
PDF
Secure Payments Over Mixed Communication Media
Jonathan LeBlanc
 
PDF
Protecting the Future of Mobile Payments
Jonathan LeBlanc
 
PDF
Node.js Authentication and Data Security
Jonathan LeBlanc
 
PDF
PHP Identity and Data Security
Jonathan LeBlanc
 
PPTX
Secure Payments Over Mixed Communication Media
Jonathan LeBlanc
 
PDF
Protecting the Future of Mobile Payments
Jonathan LeBlanc
 
PPTX
Future of Identity, Data, and Wearable Security
Jonathan LeBlanc
 
JavaScript App Security: Auth and Identity on the Client
Jonathan LeBlanc
 
Improving Developer Onboarding Through Intelligent Data Insights
Jonathan LeBlanc
 
Better Data with Machine Learning and Serverless
Jonathan LeBlanc
 
Best Practices for Application Development with Box
Jonathan LeBlanc
 
Box Platform Overview
Jonathan LeBlanc
 
Box Platform Developer Workshop
Jonathan LeBlanc
 
Modern Cloud Data Security Practices
Jonathan LeBlanc
 
Box Authentication Types
Jonathan LeBlanc
 
Understanding Box UI Elements
Jonathan LeBlanc
 
Understanding Box applications, tokens, and scoping
Jonathan LeBlanc
 
The Future of Online Money: Creating Secure Payments Globally
Jonathan LeBlanc
 
Modern API Security with JSON Web Tokens
Jonathan LeBlanc
 
Creating an In-Aisle Purchasing System from Scratch
Jonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Jonathan LeBlanc
 
Protecting the Future of Mobile Payments
Jonathan LeBlanc
 
Node.js Authentication and Data Security
Jonathan LeBlanc
 
PHP Identity and Data Security
Jonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Jonathan LeBlanc
 
Protecting the Future of Mobile Payments
Jonathan LeBlanc
 
Future of Identity, Data, and Wearable Security
Jonathan LeBlanc
 
Ad

Recently uploaded (20)

PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 

HTML5 Gaming Payment Platforms

  • 1. HTML5 Gaming Payment Platforms Building Scalable Game Payment Systems Jonathan LeBlanc Developer Evangelist (PayPal) [email protected] Twitter: @jcleblanc Github: github.com/jcleblanc
  • 2. What are we going to talk about Cross Platform Digital Payments
  • 3. Demo - JSWars http://29a.ch/jswars/
  • 4. Session Breakdown The Architecture The Implementation The Product Webhooks
  • 5. Session Breakdown The Architecture The Implementation The Product Webhooks
  • 6. The Players in our Little Game Client & Server-Side Components PayPal Digital Goods (Express Checkout) HTML5 LocalStorage jQuery
  • 7. How Digital Goods Work Fetch the token Display login lightbox Commit the payment Verify the payment
  • 8. Fetching Identity Information Client Identity PayPal Server Identity Server
  • 9. Getting the Token and Lightbox Client Requests Payment Token PayPal Returns Token Payment Lightbox Displayed to User
  • 10. Fetching Inventory Information Within the Application From Client Inventory Store
  • 11. Committing the Payment Client Approves Transaction PayPal Returns Transaction Data Client Activates Success State
  • 12. Storing Data Store Identity Information Store Transaction Information
  • 13. Verifying the Purchase Client Makes Verification Call to PayPal PayPal Returns Purchase Data for User
  • 14. Fetching LocalStorage Purchases Local Storage Client Inventory System
  • 15. Session Breakdown The Architecture The Implementation The Product Webhooks
  • 16. Setup Sandbox User Accounts https://developer.paypal.com/
  • 17. Library & Toolkit Setup Attach the script includes <script src="https://www.paypalobjects.com/js/ external/dg.js"></script> <script src="client/jquery-min.js" type="text/javascript"></script>
  • 18. Creating a Billing Handler pptransact.bill({ userId:'[USER ID]', itemId:'[ITEM ID]', itemQty:'[ITEM QUANTITY]', successCallback: function(data){ //bill success }, failCallback: function(data){ //bill cancelled } });
  • 19. How the Billing Flow Works Bill Digital Goods Success / Fail Billing Product Request Store Details Storage User Notify User Notification
  • 20. Creating a Verification Handler pptransact.verify({ userId:'[USER ID]', itemId:'[ITEM ID]', successCallback: function(data){ //verify success }, failCallback: function(data){ //verify failed } });
  • 21. How the Verification Flow Works Get Data Product Storage Success / Fail Verify Purchase Verification Digital Request Goods Success / Fail User Notify User Notification
  • 22. Opening and Closing the Flow Opening the Modal Window var dgflow = dg.startFlow( 'https://www.sandbox.paypal.com/ webscr?&useraction=commit&token=###'); Closing the Modal Window dgflow.closeFlow();
  • 23. Session Breakdown The Architecture The Implementation The Product Webhooks
  • 24. Identity and Payment Hooks Client Identity PayPal Identity Server Server
  • 25. Identity: verifyUser function verifyUser($userId = 0){ $YourSessionUserId = '888888'; $returnVal = ($userId == $YourSessionUserId) ? true : false; return $returnVal; }
  • 26. Identity: getUserId function getUserId(){ $result = "888888"; return $result; }
  • 27. Payment: recordPayment function recordPayment($paymentObj = ""){ $userId = $paymentObj["userId"]; $itemId = $paymentObj["itemId"]; $transactionId = $paymentObj["transactionId"]; $paymentStatus = $paymentObj["paymentStatus"]; $orderTime = $paymentObj["orderTime"]; //INSERT YOUR CODE TO SAVE THE PAYMENT DATA }
  • 28. Payment: verifyPayment function verifyPayment($userId = 0, $itemId = 0){ $result = false; //INSERT YOUR CODE TO QUERY PAYMENT DATA AND //RETURN TRUE if MATCH FOUND return $result; }
  • 29. Payment: getPayment function getPayment($userId = 0, $itemId = 0){ //INSERT CODE TO QUERY AND RETURN PAYMENT STRUCTURE $returnObj = array("success" => true, "error" => "", "transactionId" => "12345678", "orderTime" => "2011-09-29T04:47:51Z", "paymentStatus" => "Pending", "itemId" => "123", "userId" => "888888"); return $returnObj; }
  • 30. Inventory Management Hooks Client Inventory PayPal Digital Server Goods Payment
  • 31. Inventory: getItem function getItem($itemId){ $items = array( array(name => "Mega Shields", number => "123", qty => "1", taxamt => "0", amt => "1.00", desc => "Unlock the power!", category => "Digital"), ...); $returnObj = array(); for ($i = 0; $i < count($items); $i++){ if ($items[$i]['number'] == $itemId){ $returnObj = $items[$i]; } } return $returnObj; }
  • 32. A Few Links The HTML5 Toolkit https://github.com/paypal/html5-dg The PayPal Sandbox (Create Test Users) https://developer.paypal.com/ JSWars Code and Demo http://29a.ch/jswars/
  • 33. Thank You! Any Questions? http://www.slideshare.net/jcleblanc Jonathan LeBlanc Developer Evangelist (PayPal) [email protected] Twitter: @jcleblanc Github: github.com/jcleblanc

Editor's Notes

  • #8: $0.01 USD - $3,000.00 USD2.9% + $0.30 USD (Standard Pricing)5% + $0.05 USD (MicropaymentsPricing)
  • #9: Identitywill come from one of two places, either as a hookinto the client ID server or fromPayPalitself
  • #13: If the user binding is not currently done, we store the information back to the client inventory storeStore inventory information into local storage
  • #25: The URI for startFlow is comprised of static values (Sandbox / live URI &amp; useraction parameter) and a dynamic token. The token is generated by making a server side request, then a setExpressCheckout call. This server side call sets the value of the item, currency, success / fail URIs, etc. and generates a token to pop up the modal window.