SlideShare a Scribd company logo
1 of 27






protected void DoSetEC(object sender, EventArgs e)
       {
           try
           {
               caller = new NVPCallerServices();
               setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);
               MyCodec["METHOD"] = "SetExpressCheckout";
               MyCodec["VERSION"] = “82“;
               MyCodec["CANCELURL"] = ”MyCancelURL";
               MyCodec["RETURNURL"] = ”MyReturnURL”;

               MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = "GBP";
               MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";

               MyCodec["L_PAYMENTREQUEST_0_NAME0"] = ”Item in my Shopping cart";
               MyCodec["L_PAYMENTREQUEST_0_AMT0"] = "24.48";
               MyCodec["L_PAYMENTREQUEST_0_QTY0"] = "2”;

               MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = "43.96";
               MyCodec["PAYMENTREQUEST_0_SHIPPINGAMT"] = "1.50";
               MyCodec["PAYMENTREQUEST_0_AMT"] = ”45.46”

               caller.Initialize();
               caller.APIProfile = MyProfile;

               MyNVPRequest = MyCodec.Encode();
               MyNVPResponse = caller.Call(MyNVPRequest);
               MyRespoCodec.Decode(MyNVPResponse);

               if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING")
               { /*display error message*/}
               else
               {
                      MyToken = MyRespoCodec["TOKEN"].ToString();
                      Response.Redirect(@"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=" + MyToken);
               }
           }
           catch (Exception exp)
           {/*sort out exceptions*/}
       }
protected void DoGetEC(string token, string PayerID)
       {
           try
           {
               caller = new NVPCallerServices();
               setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);

                MyCodec["METHOD"] = "GetExpressCheckoutDetails";
                MyCodec["TOKEN"] = MyToken;

                caller.Initialize();
                caller.APIProfile = MyProfile;
                MyNVPRequest = MyCodec.Encode();
                MyNVPResponse = caller.Call(MyNVPRequest);
                MyRespoCodec.Decode(MyNVPResponse);

                if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING")
                { /*display error message*/}
                else
                {/*Get information on the buyer and the transaction*/

CollectShippingDetails(MyRespoCodec[”SHIPPTONAME"], MyRespoCodec[”SHIPTOSTREET1"], MyRespoCodec[”SHIPTOSTREET2”], MyRespoCodec[”SHIPTOCITY”],



                    MyRespoCodec[”SHIPTOPOSTALCODE"], MyRespoCodec[”SHIPTOCOUNTRY"]);
                }
           }
           catch (Exception exp)
           {/*sort out exceptions*/}
       }
protected void DoECPayment(string token, string PayerID)
       {
           try
           {
               caller = new NVPCallerServices();
               setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);

               MyCodec["METHOD"] = "DoExpressCheckoutPayment";
               MyCodec["TOKEN"] = token;
               MyCodec["PAYERID"] = PayerID;
               MyCodec["PAYMENTACTION"] = "Sale";
               MyCodec["CURRENCYCODE"] = “GBP”;
               MyCodec["AMT"] = "39.90";

               caller.Initialize();
               caller.APIProfile = MyProfile;
               MyNVPRequest = MyCodec.Encode();
               MyNVPResponse = caller.Call(MyNVPRequest);
               MyRespoCodec.Decode(MyNVPResponse);

               if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING")
               { /*display error message*/}
               else
               {/*Get information on the payment status*/
                   TxnID = MyRespoCodec[”TRANSACTIONID"] ;
                   if (MyRespoCodec[”PAYMENTSTATUS"] != “Completed”)
                   {/*Handle Incomplete transaction*/}
                   else {/*Fulfill order*/}
               }
          }
          catch (Exception exp)
          {/*sort out exceptions*/}
      }
₤
₤


        ₤


    ₤
protected void DoSetEC(object sender, EventArgs e)
        {
            try
            {
                caller = new NVPCallerServices();
                setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);
                MyCodec["METHOD"] = "SetExpressCheckout";
                MyCodec["VERSION"] = “82“;
                MyCodec["CANCELURL"] = ”MyCancelURL";
                MyCodec["RETURNURL"] = ”MyReturnURL”;

                MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = ”USD";
                MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
                MyCodec["PAYMENTREQUEST_0_SELLERID"] = ”paypal@bookit.com”;

                MyCodec["L_PAYMENTREQUEST_0_NAME0"] = ”Booking for my hotel";
                MyCodec["L_PAYMENTREQUEST_0_AMT0"] = ”423.35";
                MyCodec["L_PAYMENTREQUEST_0_QTY0"] = “1”;

                MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = ”423.35";
                MyCodec["PAYMENTREQUEST_0_AMT"] = ”423.35”

                MyCodec["PAYMENTREQUEST_1_CURRENCYCODE"] = ”USD";
                MyCodec["PAYMENTREQUEST_1_PAYMENTACTION"] = "Sale”;
                MyCodec["PAYMENTREQUEST_1_SELLERID"] = ”paypal@usairlines.com”;

                MyCodec["L_PAYMENTREQUEST_1_NAME0"] = ”Plane tickets";
                MyCodec["L_PAYMENTREQUEST_1_AMT0"] = ”1348.53";
                MyCodec["L_PAYMENTREQUEST_1_QTY0"] = “1”;

                MyCodec["PAYMENTREQUEST_1_ITEMAMT"] = ”1348.53";
                MyCodec["PAYMENTREQUEST_1_AMT"] = ”1348.53”;

               /*Complete API call*/
           }
           catch
           {/*deal with exceptions*/}
       }















protected void DoSetEC(object sender, EventArgs e)
        {
            try
            {
                caller = new NVPCallerServices();
                setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);
                MyCodec["METHOD"] = "SetExpressCheckout";
                MyCodec["VERSION"] = “82“;
                MyCodec["CANCELURL"] = ”MyCancelURL";
                MyCodec["RETURNURL"] = ”MyReturnURL”;
                MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = ”GBP";
                MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale";
                MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = ”23.35";
                MyCodec["PAYMENTREQUEST_0_AMT"] = ”23.35”
               MyCodec["L_BILLINGTYPE0"] = "MerchantInitiatedBilling”;
               MyCodec["L_PAYMENTTYPE0"] = "InstantOnly";
               MyCodec["L_BILLINGAGREEMENTDESCRIPTION0"] = ”Car Insurance";
               MyCodec["L_BILLINGAGREEMENTCUSTOM0"] = "MyTest";
               /*Complete API call*/
           } catch {/*deal with exceptions*/}
       }


 protected void StartReferenceTxn(string transactionID)
        {
                caller = new NVPCallerServices();
                setProfile(MyProfile);

                MyCodec["METHOD"] = "DoReferenceTransaction";
                MyCodec["REFERENCEID"] = transactionID;
                MyCodec["PAYMENTACTION"] = "Sale”;
                MyCodec["AMT"] = ”39.95”;
                MyCodec["CURRENCYCODE"] = "GBP”;
                MyCodec["SOFTDESCRIPTOR"] = ”Car Insurance Installment”;

               /*Complete API call*/
           } catch {/*deal with exceptions*/}
       }







<script>
var dg = new PAYPAL.apps.DGFlow({
trigger: "submitBtn”
});
</script>




https://www.sandbox.paypal.com/incontext?token=<token>




<script>
top.dg.closeFlow();
</script>





Webit expo Standard Product

More Related Content

What's hot

Laporan multiclient chatting client server
Laporan multiclient chatting client serverLaporan multiclient chatting client server
Laporan multiclient chatting client servertrilestari08
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the AirAvitoTech
 
Your code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConYour code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConRafael Dohms
 
8 sql injection
8   sql injection8   sql injection
8 sql injectiondrewz lin
 
Open Selector
Open SelectorOpen Selector
Open Selectorjjdelc
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingPostSharp Technologies
 
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Mail.ru Group
 
T-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLT-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLmniemi
 
PHP Object Injection Vulnerability in WordPress: an Analysis
PHP Object Injection Vulnerability in WordPress: an AnalysisPHP Object Injection Vulnerability in WordPress: an Analysis
PHP Object Injection Vulnerability in WordPress: an AnalysisPositive Hack Days
 
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps Obfuscation-Resilient Privacy Leak Detection for Mobile Apps
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps NECST Lab @ Politecnico di Milano
 
Practical JavaScript Programming - Session 4/8
Practical JavaScript Programming - Session 4/8Practical JavaScript Programming - Session 4/8
Practical JavaScript Programming - Session 4/8Wilson Su
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web developmentJohannes Brodwall
 
[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane code[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane codeFuture Processing
 
Php Security By Mugdha And Anish
Php Security By Mugdha And AnishPhp Security By Mugdha And Anish
Php Security By Mugdha And AnishOSSCube
 
7 client-state manipulation
7   client-state manipulation7   client-state manipulation
7 client-state manipulationdrewz lin
 
Proposed PHP function: is_literal()
Proposed PHP function: is_literal()Proposed PHP function: is_literal()
Proposed PHP function: is_literal()Craig Francis
 

What's hot (20)

Laporan multiclient chatting client server
Laporan multiclient chatting client serverLaporan multiclient chatting client server
Laporan multiclient chatting client server
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
Your code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnConYour code sucks, let's fix it - DPC UnCon
Your code sucks, let's fix it - DPC UnCon
 
8 sql injection
8   sql injection8   sql injection
8 sql injection
 
Open Selector
Open SelectorOpen Selector
Open Selector
 
Produce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented ProgrammingProduce Cleaner Code with Aspect-Oriented Programming
Produce Cleaner Code with Aspect-Oriented Programming
 
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
 
T-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIMLT-121-5300 (2008) User Interface Design 10 - UIML
T-121-5300 (2008) User Interface Design 10 - UIML
 
PHP Object Injection Vulnerability in WordPress: an Analysis
PHP Object Injection Vulnerability in WordPress: an AnalysisPHP Object Injection Vulnerability in WordPress: an Analysis
PHP Object Injection Vulnerability in WordPress: an Analysis
 
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps Obfuscation-Resilient Privacy Leak Detection for Mobile Apps
Obfuscation-Resilient Privacy Leak Detection for Mobile Apps
 
Practical JavaScript Programming - Session 4/8
Practical JavaScript Programming - Session 4/8Practical JavaScript Programming - Session 4/8
Practical JavaScript Programming - Session 4/8
 
Mt4 push-api
Mt4 push-apiMt4 push-api
Mt4 push-api
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web development
 
Java script
Java scriptJava script
Java script
 
[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane code[FDD 2017] Mark Seemann - Humane code
[FDD 2017] Mark Seemann - Humane code
 
Php Security By Mugdha And Anish
Php Security By Mugdha And AnishPhp Security By Mugdha And Anish
Php Security By Mugdha And Anish
 
SQLAlchemy Seminar
SQLAlchemy SeminarSQLAlchemy Seminar
SQLAlchemy Seminar
 
7 client-state manipulation
7   client-state manipulation7   client-state manipulation
7 client-state manipulation
 
Your code is not a string
Your code is not a stringYour code is not a string
Your code is not a string
 
Proposed PHP function: is_literal()
Proposed PHP function: is_literal()Proposed PHP function: is_literal()
Proposed PHP function: is_literal()
 

Similar to Webit expo Standard Product

MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMatteo Pagani
 
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...Mateusz Zalewski
 
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docxVersion1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docxtienboileau
 
Assignment7.pdf
Assignment7.pdfAssignment7.pdf
Assignment7.pdfdash41
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web servicesMichelangelo van Dam
 
Power Shell Commands
Power Shell CommandsPower Shell Commands
Power Shell CommandsSushree Nanda
 
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019DevClub_lv
 
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Jonathan LeBlanc
 
Teaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersTeaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersIan Barber
 
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze..."Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...Mateusz Zalewski
 
Building an End-to-End AngularJS Application
Building an End-to-End AngularJS ApplicationBuilding an End-to-End AngularJS Application
Building an End-to-End AngularJS ApplicationDan Wahlin
 

Similar to Webit expo Standard Product (20)

Marcus Portfolio
Marcus  PortfolioMarcus  Portfolio
Marcus Portfolio
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applications
 
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
 
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docxVersion1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
Version1.0 StartHTML000000232 EndHTML000065057 StartFragment0000.docx
 
Assignment7.pdf
Assignment7.pdfAssignment7.pdf
Assignment7.pdf
 
Introduction to Zend Framework web services
Introduction to Zend Framework web servicesIntroduction to Zend Framework web services
Introduction to Zend Framework web services
 
Power Shell Commands
Power Shell CommandsPower Shell Commands
Power Shell Commands
 
Zero to SOLID
Zero to SOLIDZero to SOLID
Zero to SOLID
 
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019Managing State in React Apps with RxJS by James Wright at FrontCon 2019
Managing State in React Apps with RxJS by James Wright at FrontCon 2019
 
Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2Securing RESTful Payment APIs Using OAuth 2
Securing RESTful Payment APIs Using OAuth 2
 
Teaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersTeaching Your Machine To Find Fraudsters
Teaching Your Machine To Find Fraudsters
 
project
projectproject
project
 
Grails UI Primer
Grails UI PrimerGrails UI Primer
Grails UI Primer
 
My Development Story
My Development StoryMy Development Story
My Development Story
 
Map kit light
Map kit lightMap kit light
Map kit light
 
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze..."Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...
"Kto to pisał?!... A, to ja.", czyli sposoby, żeby znienawidzić siebie z prze...
 
Twitter codeigniter library
Twitter codeigniter libraryTwitter codeigniter library
Twitter codeigniter library
 
Soap tips
Soap tipsSoap tips
Soap tips
 
Muster in Webcontrollern
Muster in WebcontrollernMuster in Webcontrollern
Muster in Webcontrollern
 
Building an End-to-End AngularJS Application
Building an End-to-End AngularJS ApplicationBuilding an End-to-End AngularJS Application
Building an End-to-End AngularJS Application
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Webit expo Standard Product

  • 1.
  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. protected void DoSetEC(object sender, EventArgs e) { try { caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "SetExpressCheckout"; MyCodec["VERSION"] = “82“; MyCodec["CANCELURL"] = ”MyCancelURL"; MyCodec["RETURNURL"] = ”MyReturnURL”; MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = "GBP"; MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale"; MyCodec["L_PAYMENTREQUEST_0_NAME0"] = ”Item in my Shopping cart"; MyCodec["L_PAYMENTREQUEST_0_AMT0"] = "24.48"; MyCodec["L_PAYMENTREQUEST_0_QTY0"] = "2”; MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = "43.96"; MyCodec["PAYMENTREQUEST_0_SHIPPINGAMT"] = "1.50"; MyCodec["PAYMENTREQUEST_0_AMT"] = ”45.46” caller.Initialize(); caller.APIProfile = MyProfile; MyNVPRequest = MyCodec.Encode(); MyNVPResponse = caller.Call(MyNVPRequest); MyRespoCodec.Decode(MyNVPResponse); if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING") { /*display error message*/} else { MyToken = MyRespoCodec["TOKEN"].ToString(); Response.Redirect(@"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=" + MyToken); } } catch (Exception exp) {/*sort out exceptions*/} }
  • 9. protected void DoGetEC(string token, string PayerID) { try { caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "GetExpressCheckoutDetails"; MyCodec["TOKEN"] = MyToken; caller.Initialize(); caller.APIProfile = MyProfile; MyNVPRequest = MyCodec.Encode(); MyNVPResponse = caller.Call(MyNVPRequest); MyRespoCodec.Decode(MyNVPResponse); if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING") { /*display error message*/} else {/*Get information on the buyer and the transaction*/ CollectShippingDetails(MyRespoCodec[”SHIPPTONAME"], MyRespoCodec[”SHIPTOSTREET1"], MyRespoCodec[”SHIPTOSTREET2”], MyRespoCodec[”SHIPTOCITY”], MyRespoCodec[”SHIPTOPOSTALCODE"], MyRespoCodec[”SHIPTOCOUNTRY"]); } } catch (Exception exp) {/*sort out exceptions*/} }
  • 10. protected void DoECPayment(string token, string PayerID) { try { caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "DoExpressCheckoutPayment"; MyCodec["TOKEN"] = token; MyCodec["PAYERID"] = PayerID; MyCodec["PAYMENTACTION"] = "Sale"; MyCodec["CURRENCYCODE"] = “GBP”; MyCodec["AMT"] = "39.90"; caller.Initialize(); caller.APIProfile = MyProfile; MyNVPRequest = MyCodec.Encode(); MyNVPResponse = caller.Call(MyNVPRequest); MyRespoCodec.Decode(MyNVPResponse); if (MyRespoCodec["ACK"] != "Success" && MyRespoCodec["ACK"] != "SUCCESSWITHWARNING") { /*display error message*/} else {/*Get information on the payment status*/ TxnID = MyRespoCodec[”TRANSACTIONID"] ; if (MyRespoCodec[”PAYMENTSTATUS"] != “Completed”) {/*Handle Incomplete transaction*/} else {/*Fulfill order*/} } } catch (Exception exp) {/*sort out exceptions*/} }
  • 11. ₤ ₤ ₤ ₤
  • 12.
  • 13. protected void DoSetEC(object sender, EventArgs e) { try { caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "SetExpressCheckout"; MyCodec["VERSION"] = “82“; MyCodec["CANCELURL"] = ”MyCancelURL"; MyCodec["RETURNURL"] = ”MyReturnURL”; MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = ”USD"; MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale"; MyCodec["PAYMENTREQUEST_0_SELLERID"] = ”paypal@bookit.com”; MyCodec["L_PAYMENTREQUEST_0_NAME0"] = ”Booking for my hotel"; MyCodec["L_PAYMENTREQUEST_0_AMT0"] = ”423.35"; MyCodec["L_PAYMENTREQUEST_0_QTY0"] = “1”; MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = ”423.35"; MyCodec["PAYMENTREQUEST_0_AMT"] = ”423.35” MyCodec["PAYMENTREQUEST_1_CURRENCYCODE"] = ”USD"; MyCodec["PAYMENTREQUEST_1_PAYMENTACTION"] = "Sale”; MyCodec["PAYMENTREQUEST_1_SELLERID"] = ”paypal@usairlines.com”; MyCodec["L_PAYMENTREQUEST_1_NAME0"] = ”Plane tickets"; MyCodec["L_PAYMENTREQUEST_1_AMT0"] = ”1348.53"; MyCodec["L_PAYMENTREQUEST_1_QTY0"] = “1”; MyCodec["PAYMENTREQUEST_1_ITEMAMT"] = ”1348.53"; MyCodec["PAYMENTREQUEST_1_AMT"] = ”1348.53”; /*Complete API call*/ } catch {/*deal with exceptions*/} }
  • 15. protected void DoSetEC(object sender, EventArgs e) { try { caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "SetExpressCheckout"; MyCodec["VERSION"] = “82“; MyCodec["CANCELURL"] = ”MyCancelURL"; MyCodec["RETURNURL"] = ”MyReturnURL”; MyCodec["PAYMENTREQUEST_0_CURRENCYCODE"] = ”GBP"; MyCodec["PAYMENTREQUEST_0_PAYMENTACTION"] = "Sale"; MyCodec["PAYMENTREQUEST_0_ITEMAMT"] = ”23.35"; MyCodec["PAYMENTREQUEST_0_AMT"] = ”23.35” MyCodec["L_BILLINGTYPE0"] = "MerchantInitiatedBilling”; MyCodec["L_PAYMENTTYPE0"] = "InstantOnly"; MyCodec["L_BILLINGAGREEMENTDESCRIPTION0"] = ”Car Insurance"; MyCodec["L_BILLINGAGREEMENTCUSTOM0"] = "MyTest"; /*Complete API call*/ } catch {/*deal with exceptions*/} } protected void StartReferenceTxn(string transactionID) { caller = new NVPCallerServices(); setProfile(MyProfile); MyCodec["METHOD"] = "DoReferenceTransaction"; MyCodec["REFERENCEID"] = transactionID; MyCodec["PAYMENTACTION"] = "Sale”; MyCodec["AMT"] = ”39.95”; MyCodec["CURRENCYCODE"] = "GBP”; MyCodec["SOFTDESCRIPTOR"] = ”Car Insurance Installment”; /*Complete API call*/ } catch {/*deal with exceptions*/} }
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 23.
  • 24.
  • 25. <script> var dg = new PAYPAL.apps.DGFlow({ trigger: "submitBtn” }); </script> https://www.sandbox.paypal.com/incontext?token=<token> <script> top.dg.closeFlow(); </script>

Editor's Notes

  1. Welcome to PayPal Dev Camp!I will start this session with a BIG stereotype: people usually say that women like stability, exerience, proven solutions, whereas men are more prompt to innovative solutions et texting new things.As we will see today, PayPal is not exception! I will leave the new generation of APIs to Saulius and Corrado and I will spend the next 40 min or so on PayPal express checkout – the main API based payment method for PayPal account holders.
  2. And so,
  3. Caller Details and General API settings
  4. Retrieve Shipping addressBilling addressAccount status
  5. Retrieve Shipping addressBilling addressAccount status
  6. Funds transferred from the buyer to each receiever as distributed in the SetEC/DoEC callUp to 10 receivers
  7. 1 payment request per receiverUp to 10payments requests
  8. Payment requests to be added to both Set EC – to be displayed to the userDo EC for the correct payment completion
  9. Particularly relevant to Telco/pay monthly contracts and InsuranceAdaptable to many other industries: - utilities - loyalty schemes - petrol stations
  10. No Pll payments Up to 10 Billing agreementsMerchant initiated billing if BA is with the receiverChannel Initiated billing for Gateway models -&gt; Subject field in DoRefTxn
  11. Automatic redirection/browser recognitionVersion 63 and aboveIn App Payment through Mobile Express Checkout Libraries for iPhone and AndroidPayment with username/passwordDevice specific PIN
  12. Tesco prototype.A few supermarket chains have launched ‘Self Checkout’ systemsConsumer ‘borrows a scanner’ and scans items as they browse in the shop.Using the Tesco APIs, we have pushed the experience further: everyone has a smartphone today, do we really need additional hardware to scan items?
  13. Pizza ExpressPay your bill at the restaurant with PayPal
  14. Relatively newLimitations around functionality compared to Mobile‘Remember Me’ functionality for quicker and slicker processCharacteristics:- No physical delivery- Instant fulfillment - In context purchases- Global Distribution- Smaller Transaction Values
  15. In Game PurchasesUsually low value items
  16. This leads me to the end this overview- but before I hand onto the next section – a few useful places to get started with PP in general and the Express Checkout features specifically