In-Flash Payments Overview
AGENDA	


•  About Us	

•  In-Flash Payments: Overview	

•  Architecture	

•  Security	

•  Roadmap	

•  Integration
WHO WE ARE	


       Vikas Gupta, Co-founder & CEO	

        * Manager, Amazon Payments for 4+ years	

        * Lead Inve...
WHAT WE ARE	




A platform that allows you to monetize
virtual goods via direct payments and
    optimize via in-depth an...
WHAT WE OFFER	


•  Micropayments & Subscriptions	

•  Virtual Currency: txns & inventory mgmt	

•  Reporting & Analytics	...
SERVICES ACCESSED VIA API
IN-FLASH PAYMENTS	

User Benefits	

  -  No interruption of flow	

  -  No additional login required	

Developer Benefits	

 ...
IN-FLASH PAYMENTS FLOW
CREDIT CARD ENTRY: IN-GAME
BILLING ADDRESS ENTRY: IN-GAME
CONFIRMATION: IN-GAME
SEAMLESS RETURN TO GAME	



   Balance is
updated in real
  time, while
 game state is
  maintained.
SINGLE-CLICK REPEAT PURCHASES
SINGLE-CLICK PAYPAL, TOO!
IN SHORT . . .	


•  You focus on building awesome games	

•  We provide a frictionless and secure
  payments experience w...
PRODUCT DESCRIPTION	


A SWC that less you initiate a UI to enable
customer payments	


•  Your app receives events when t...
PRODUCT ARCHITECTURE
SECURITY OBJECTIVES	

Priorities	

  -  Secure customer data	

  -  Secure developer credentials	

Starting Points	

  -  ...
ROADMAP	

UX	

  -  More payment methods in Flash	

  -  Support for portals/ non-hosted sites	

Payments Stuff	

  -  Mor...
INTEGRATION	

You’ll need . . .	

•  Valid merchant account	

   http://getsocialgold.com   	

•  Configured virtual curren...
INSTALLATION & DOCUMENTATION	



 •  Unpack Social Gold API zip file	

 •  Add the dist/SocialGold.swc file to your
   proje...
GETTING STARTED: STEP ONE	




  Send user_id, signing key and
   environment to your app
# Add the following to a Controller or Helper:
def signing_key_for_user( user_id )
  offer_id = "your offer id here”
  mer...
GETTING STARTED: STEP TWO	





Collect flashvars in ActionScript
// ActionScript Project:
this.parameters = root.loaderInfo.parameters;

// Flex Framework Project:
this.parameters = Appli...
GETTING STARTED: STEP THREE	




     Instantiate & Configure
      the SocialGoldService
service              =   new SocialGoldService();
service.userId       =   parameters.userId;
service.signingKey   =   par...
GETTING STARTED: STEP FOUR	




     Call an API method &
  Handle events on the request
var request:SocialGoldRequest = service.buyCurrency();

// Called on Success:
request.addEventListener(SocialGoldEvent.SUC...
GETTING STARTED: OPTIONAL STEP	





 Show & Hide a loading animation
// Called when UI load starts:
request.addEventListener(SocialGoldEvent.UI_LOAD_STARTED,
                         uiLoadSt...
GETTING STARTED: FINAL STEP	





           Ship it!
Upcoming SlideShare
Loading in …5
×

Social Gold In-Flash Payments Webinar

3,353 views
3,228 views

Published on

in this presentation we give a brief intro to Social Gold, an overview of the in-flash solution architecture followed by a step by step integration example.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,353
On SlideShare
0
From Embeds
0
Number of Embeds
872
Actions
Shares
0
Downloads
26
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Social Gold In-Flash Payments Webinar

  1. 1. In-Flash Payments Overview
  2. 2. AGENDA •  About Us •  In-Flash Payments: Overview •  Architecture •  Security •  Roadmap •  Integration
  3. 3. WHO WE ARE Vikas Gupta, Co-founder & CEO * Manager, Amazon Payments for 4+ years * Lead Inventor, Amazon Payments web service (FPS) Reza Hussein, Co-founder & CTO * Engineering Head, Amazon Order Workflow * Engineering Head, Amazon Mechanical Turk Hemant Bhanoo, Principal Engineer * Senior Engineer, Distributed Systems and Payments, Amazon * Founder and CEO, Reporterist And the Eng team that built payments at Amazon!
  4. 4. WHAT WE ARE A platform that allows you to monetize virtual goods via direct payments and optimize via in-depth analytics    
  5. 5. WHAT WE OFFER •  Micropayments & Subscriptions •  Virtual Currency: txns & inventory mgmt •  Reporting & Analytics •  Fraud Control •  Customer Service
  6. 6. SERVICES ACCESSED VIA API
  7. 7. IN-FLASH PAYMENTS User Benefits -  No interruption of flow -  No additional login required Developer Benefits -  Get callbacks directly in AS3 or Flex -  No reload required – less server load -  Preserve “flow” and user engagement
  8. 8. IN-FLASH PAYMENTS FLOW
  9. 9. CREDIT CARD ENTRY: IN-GAME
  10. 10. BILLING ADDRESS ENTRY: IN-GAME
  11. 11. CONFIRMATION: IN-GAME
  12. 12. SEAMLESS RETURN TO GAME Balance is updated in real time, while game state is maintained.
  13. 13. SINGLE-CLICK REPEAT PURCHASES
  14. 14. SINGLE-CLICK PAYPAL, TOO!
  15. 15. IN SHORT . . . •  You focus on building awesome games •  We provide a frictionless and secure payments experience within your game •  We help you maximize revenue without sacrificing engagement
  16. 16. PRODUCT DESCRIPTION A SWC that less you initiate a UI to enable customer payments •  Your app receives events when the payment completes •  You choose whether the UI is an html browser popup or a Flash display object
  17. 17. PRODUCT ARCHITECTURE
  18. 18. SECURITY OBJECTIVES Priorities -  Secure customer data -  Secure developer credentials Starting Points -  Trusted merchants (you) -  Merchant-hosted games -  Existing ID platform (FB, MS or your own)
  19. 19. ROADMAP UX -  More payment methods in Flash -  Support for portals/ non-hosted sites Payments Stuff -  More payment methods (Latin America, etc) -  Local currencies (36+ currencies…)
  20. 20. INTEGRATION You’ll need . . . •  Valid merchant account http://getsocialgold.com •  Configured virtual currency Flash offer http://www.jambool.com/socialgold/offers •  Social Gold Flash API SWC http://www.jambool.com/socialgold/flash/download •  Server side environment (PHP, Ruby, JSP, etc.)
  21. 21. INSTALLATION & DOCUMENTATION •  Unpack Social Gold API zip file •  Add the dist/SocialGold.swc file to your project library path •  Open dist/doc/index.html and select SocialGoldService (from bottom left frame)
  22. 22. GETTING STARTED: STEP ONE Send user_id, signing key and environment to your app
  23. 23. # Add the following to a Controller or Helper: def signing_key_for_user( user_id ) offer_id = "your offer id here” merchant_secret_key = "your secret key here” current_period = (Time.now.to_i * 1.0 / 1.day).to_i raw_signing_key = "#{offer_id}#{user_id}#{current_period}#{merchant_secret_key}” return Digest::MD5.hexdigest(raw_signing_key) end # Add the following to an ERB template: <html> <head> <script type="text/javascript" src="scripts/swfobject-1.5.1.js"> </script> <script> function embed() { var so = new SWFObject("YourApplication.swf", "swf", "100%", "100%"); so.addVariable("userId", "<%= user_id %>"); so.addVariable("signingKey", "<%= signing_key_for_user(user_id) %>"); so.addVariable("environment", "<%= environment %>"); so.write("flash-content"); } </script> </head> <body onload="embed()"> <center> <div id="flash-content"></div> </center> </body></html>
  24. 24. GETTING STARTED: STEP TWO Collect flashvars in ActionScript
  25. 25. // ActionScript Project: this.parameters = root.loaderInfo.parameters; // Flex Framework Project: this.parameters = Application.application.parameters;
  26. 26. GETTING STARTED: STEP THREE Instantiate & Configure the SocialGoldService
  27. 27. service = new SocialGoldService(); service.userId = parameters.userId; service.signingKey = parameters.signingKey; service.offerId = ‘yourofferidhere’; // Set a display object container for the buyCurrency UI: service.modalParent = stage; // Pass in ‘sandbox’ or ‘production’ for environment: service.environment = parameters.environment; // Set true to use Flash UI for buyCurrency calls: service.useInAppPayments = true; // (Optional) Set true when debugging: service.debug = (parameters.environment != ‘production’);
  28. 28. GETTING STARTED: STEP FOUR Call an API method & Handle events on the request
  29. 29. var request:SocialGoldRequest = service.buyCurrency(); // Called on Success: request.addEventListener(SocialGoldEvent.SUCCESS, buyCurrencySuccessHandler); // Called on Failure: request.addEventListener(SocialGoldEvent.FAILURE, buyCurrencyFailureHandler); // Called after every request: request.addEventListener(SocialGoldEvent.COMPLETE, buyCurrencyCompleteHandler); private function buyCurrencySuccessHandler(event:SocialGoldEvent):void { trace(">> buyCurrency SUCCESS"); } private function buyCurrencyFailureHandler(event:SocialGoldEvent):void { trace(">> buyCurrency FAILURE"); } private function buyCurrencyCompleteHandler(event:SocialGoldEvent):void { trace(">> buyCurrency COMPLETE"); }
  30. 30. GETTING STARTED: OPTIONAL STEP Show & Hide a loading animation
  31. 31. // Called when UI load starts: request.addEventListener(SocialGoldEvent.UI_LOAD_STARTED, uiLoadStartedHandler); // Called when UI load is complete: request.addEventListener(SocialGoldEvent.UI_LOAD_COMPLETED, uiLoadCompletedHandler); private function uiLoadStartedHandler(event:SocialGoldEvent):void { trace(">> uiLoadStartedHandler"); addChild(yourLoadingAnimationInstance); } private function uiLoadCompletedHandler(event:SocialGoldEvent):void { trace(">> uiLoadCompletedHandler"); removeChild(yourLoadingAnimationInstance); }
  32. 32. GETTING STARTED: FINAL STEP Ship it!
  33. 33. IN-FLASH PAYMENTS Questions? flash@jambool.com
  34. 34. Virtual  Economies.  Real  Revenues.  

×