SlideShare uma empresa Scribd logo
1 de 31
A person or business
A person or business
                                                                    whose PayPal account
whose PayPal account is
                                                                    is being credited
being debited


                          The API access account making the Express
                          Checkout service calls: may be the sender, one
                          of the receivers, or a third party
1. PayPal as a Payment Method


                                2. Redirection to PayPal and Login



                                                                     3. Transaction Review and Confirmation
protected void DoSetEC(object sender, EventArgs e)
       {
           try
           {                                                                                   Caller API Details
               caller = new NVPCallerServices();
               setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”);
               MyCodec["METHOD"] = "SetExpressCheckout";
               MyCodec["VERSION"] = “82“;
               MyCodec["CANCELURL"] = ”MyCancelURL";                 General API    Settings
               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";                           Payment Request Information
               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                                                          Transaction Specific Token
              {
                     MyToken = MyRespoCodec["TOKEN"].ToString();
                     Response.Redirect(@"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=" + MyToken);
              }
          }
          catch (Exception exp)                                                                  Redirection to PayPal
          {/*sort out exceptions*/}
      }
1. Waiter prints the bill

5. Table is closed




                           3. Customer pays with PayPal




                                                          2. Customer types in the 12 digit
                                                           code from the bill into the Pizza
                                                          Express app, generating the token for
                                                          the transaction
4. Transaction completed
https://www.x.com/developers/paypal/products/adaptive-payments
$10         $100   $10
$100                            $40

             $40

                                $50
       $50
How curl -s --insecure
-H "X-PAYPAL-SECURITY-USERID: api_username"
-H "X-PAYPAL-SECURITY-PASSWORD: api_password"
-H "X-PAYPAL-SECURITY-SIGNATURE: api_signature"           HTTP Headers
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV"
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
-H "X-PAYPAL-APPLICATION-ID: app_id"

https://svcs.sandbox.paypal.com/AdaptivePayments/Pay -d
"requestEnvelope.errorLanguage=en_US
&actionType=PAY
&senderEmail=sender@domain
&receiverList.receiver(0).email=receiver@domain
&receiverList.receiver(0).amount=100.00
                                                                         Payment
&currencyCode=USD
                                                                         instructions
&feesPayer=EACHRECEIVER
&memo=Simple payment example.
&cancelUrl=http://your_cancel_url
&returnUrl=http://your_return_url
&ipnNotificationUrl=http://your_ipn_notification_url”
responseEnvelope.timestamp=2009-07-13T12%3A34%3A29.316-07%3A00
&responseEnvelope.ack=Success
&responseEnvelope.correlationId=d615a365bed61                    Response envelope
&responseEnvelope.build=DEV
&payKey=AP-3TY011106S4428730                                     Pay key and
&paymentExecStatus=CREATED                                       payment status
responseEnvelope.timestamp=2009-08-14T09%3A00%3A37.748-07%3A00
&responseEnvelope.ack=Success
&responseEnvelope.correlationId=7967b2d03745a
&responseEnvelope.build=DEV
&cancelUrl=your_cancel_url
&currencyCode=USD
&logDefaultShippingAddress=false
&memo=Simple payment example.
&paymentInfoList.paymentInfo(0).receiver.amount=100.00
&paymentInfoList.paymentInfo(0).receiver.email=receiver@domain   Payment details
&paymentInfoList.paymentInfo(0).receiver.primary=false
&returnUrl=your_return_url
&senderEmail=sender@domain
&status=CREATED
&payKey=AP-3TY011106S4428730
&actionType=PAY
&feesPayer=EACHRECEIVER
• Designed to be integrated in less than 10 minutes
• No need to code payment UI
• Don’t need to worry about sensitive financial info

• More convenient than always typing credit card
• Can use existing account information

• Physical goods and services
• In-app purchase
- Simple, Chained, Parallel, and Pre-approved payments
- Supports Android 1.5 and above, iOS 3.0 and above


More information you can find here:
https://www.x.com/developers/paypal/products/mobile-payment-libraries
Your Application                                                   Your Server
     Your Activity                                                 (Optional)
     onCreate(){
        …                                                                 Item delivery
        getCheckoutButton(…);
     }                                                                   Purchase data
     onClickListener() {
        …                            PayPal Checkout Activity
        startActivityForResult(…);
     }                                                          Instant Payment
     onPaymentSucceeded() {                                     Notifications
        …                                                       (Optional)
     }
     onPaymentFailed(){
        …
     }                                                             PayPal Server
     onPaymentCanceled() {
        …
                                                                          User Wallet
     }
     onActivityResult(){
        …                                                                  Fraud/Risk
     }

                                                                        Transaction data
Barcelona Developers Conference 2011
Barcelona Developers Conference 2011
Barcelona Developers Conference 2011
Barcelona Developers Conference 2011
Barcelona Developers Conference 2011
Barcelona Developers Conference 2011

Mais conteúdo relacionado

Semelhante a Barcelona Developers Conference 2011

java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guide
Zenita Smythe
 

Semelhante a Barcelona Developers Conference 2011 (20)

HTML5 Gaming Payment Platforms
HTML5 Gaming Payment PlatformsHTML5 Gaming Payment Platforms
HTML5 Gaming Payment Platforms
 
2012 SVCodeCamp: In App Payments with HTML5
2012 SVCodeCamp: In App Payments with HTML52012 SVCodeCamp: In App Payments with HTML5
2012 SVCodeCamp: In App Payments with HTML5
 
WebIT PayPal Standard Product
WebIT PayPal Standard ProductWebIT PayPal Standard Product
WebIT PayPal Standard Product
 
Integration of payment gateways using Paypal account
Integration of payment gateways using Paypal account Integration of payment gateways using Paypal account
Integration of payment gateways using Paypal account
 
java and javascript api dev guide
java and javascript api dev guidejava and javascript api dev guide
java and javascript api dev guide
 
Droidcon DE 2013
Droidcon DE 2013Droidcon DE 2013
Droidcon DE 2013
 
Paypal REST api ( Japanese version )
Paypal REST api ( Japanese version )Paypal REST api ( Japanese version )
Paypal REST api ( Japanese version )
 
Mắt kính chính hãng trả góp 0%
Mắt kính chính hãng trả góp 0%Mắt kính chính hãng trả góp 0%
Mắt kính chính hãng trả góp 0%
 
Monetizing your apps with PayPal API:s
Monetizing your apps with PayPal API:sMonetizing your apps with PayPal API:s
Monetizing your apps with PayPal API:s
 
Monetize your idea! - Pay Pal
Monetize your idea! - Pay PalMonetize your idea! - Pay Pal
Monetize your idea! - Pay Pal
 
Creating an Uber Clone - Part XXXII.pdf
Creating an Uber Clone - Part XXXII.pdfCreating an Uber Clone - Part XXXII.pdf
Creating an Uber Clone - Part XXXII.pdf
 
https://uii.io/ref/hmaadi
https://uii.io/ref/hmaadihttps://uii.io/ref/hmaadi
https://uii.io/ref/hmaadi
 
Marcus Portfolio
Marcus  PortfolioMarcus  Portfolio
Marcus Portfolio
 
PayPal Dev Con 2009 Driving Business
PayPal Dev Con 2009 Driving BusinessPayPal Dev Con 2009 Driving Business
PayPal Dev Con 2009 Driving Business
 
Payments On Rails
Payments On RailsPayments On Rails
Payments On Rails
 
Active Merchant
Active MerchantActive Merchant
Active Merchant
 
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
 
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
 
A2Lab - Payment Request API
A2Lab - Payment Request APIA2Lab - Payment Request API
A2Lab - Payment Request API
 
Micronaut Webinar 2021 - Process Automation Introduction
Micronaut Webinar 2021 - Process Automation IntroductionMicronaut Webinar 2021 - Process Automation Introduction
Micronaut Webinar 2021 - Process Automation Introduction
 

Mais de PayPal

Kraken
KrakenKraken
Kraken
PayPal
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London Intro
PayPal
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To Great
PayPal
 

Mais de PayPal (20)

PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ Scale
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
 
Kraken
KrakenKraken
Kraken
 
Death To Passwords Droid Edition
Death To Passwords Droid EditionDeath To Passwords Droid Edition
Death To Passwords Droid Edition
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
KrakenJS
KrakenJSKrakenJS
KrakenJS
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London Intro
 
Authentication for Droids
Authentication for DroidsAuthentication for Droids
Authentication for Droids
 
Concrete indentity really getting to know your users
Concrete indentity   really getting to know your usersConcrete indentity   really getting to know your users
Concrete indentity really getting to know your users
 
Online Identity: Getting to know your users
Online Identity: Getting to know your usersOnline Identity: Getting to know your users
Online Identity: Getting to know your users
 
Mobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern EuropeMobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern Europe
 
Reinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer NetworkReinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer Network
 
Open Identity - getting to know your users
Open Identity - getting to know your usersOpen Identity - getting to know your users
Open Identity - getting to know your users
 
The Profitable Startup
The Profitable StartupThe Profitable Startup
The Profitable Startup
 
Startup Highway Workshop
Startup Highway WorkshopStartup Highway Workshop
Startup Highway Workshop
 
Droidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDKDroidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDK
 
Berlin Battle hack presentation
Berlin Battle hack presentationBerlin Battle hack presentation
Berlin Battle hack presentation
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To Great
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Barcelona Developers Conference 2011

  • 1.
  • 2.
  • 3. A person or business A person or business whose PayPal account whose PayPal account is is being credited being debited The API access account making the Express Checkout service calls: may be the sender, one of the receivers, or a third party
  • 4. 1. PayPal as a Payment Method 2. Redirection to PayPal and Login 3. Transaction Review and Confirmation
  • 5.
  • 6. protected void DoSetEC(object sender, EventArgs e) { try { Caller API Details caller = new NVPCallerServices(); setProfile(MyProfile, “APIUsername”,”APIPassword”,”APISignature”); MyCodec["METHOD"] = "SetExpressCheckout"; MyCodec["VERSION"] = “82“; MyCodec["CANCELURL"] = ”MyCancelURL"; General API Settings 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"; Payment Request Information 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 Transaction Specific Token { MyToken = MyRespoCodec["TOKEN"].ToString(); Response.Redirect(@"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=" + MyToken); } } catch (Exception exp) Redirection to PayPal {/*sort out exceptions*/} }
  • 7.
  • 8.
  • 9. 1. Waiter prints the bill 5. Table is closed 3. Customer pays with PayPal 2. Customer types in the 12 digit code from the bill into the Pizza Express app, generating the token for the transaction 4. Transaction completed
  • 10.
  • 11.
  • 13. $10 $100 $10 $100 $40 $40 $50 $50
  • 14.
  • 15. How curl -s --insecure -H "X-PAYPAL-SECURITY-USERID: api_username" -H "X-PAYPAL-SECURITY-PASSWORD: api_password" -H "X-PAYPAL-SECURITY-SIGNATURE: api_signature" HTTP Headers -H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" -H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" -H "X-PAYPAL-APPLICATION-ID: app_id" https://svcs.sandbox.paypal.com/AdaptivePayments/Pay -d "requestEnvelope.errorLanguage=en_US &actionType=PAY &senderEmail=sender@domain &receiverList.receiver(0).email=receiver@domain &receiverList.receiver(0).amount=100.00 Payment &currencyCode=USD instructions &feesPayer=EACHRECEIVER &memo=Simple payment example. &cancelUrl=http://your_cancel_url &returnUrl=http://your_return_url &ipnNotificationUrl=http://your_ipn_notification_url”
  • 16. responseEnvelope.timestamp=2009-07-13T12%3A34%3A29.316-07%3A00 &responseEnvelope.ack=Success &responseEnvelope.correlationId=d615a365bed61 Response envelope &responseEnvelope.build=DEV &payKey=AP-3TY011106S4428730 Pay key and &paymentExecStatus=CREATED payment status
  • 17.
  • 18.
  • 20.
  • 21.
  • 22. • Designed to be integrated in less than 10 minutes • No need to code payment UI • Don’t need to worry about sensitive financial info • More convenient than always typing credit card • Can use existing account information • Physical goods and services • In-app purchase
  • 23.
  • 24. - Simple, Chained, Parallel, and Pre-approved payments - Supports Android 1.5 and above, iOS 3.0 and above More information you can find here: https://www.x.com/developers/paypal/products/mobile-payment-libraries
  • 25. Your Application Your Server Your Activity (Optional) onCreate(){ … Item delivery getCheckoutButton(…); } Purchase data onClickListener() { … PayPal Checkout Activity startActivityForResult(…); } Instant Payment onPaymentSucceeded() { Notifications … (Optional) } onPaymentFailed(){ … } PayPal Server onPaymentCanceled() { … User Wallet } onActivityResult(){ … Fraud/Risk } Transaction data

Notas do Editor

  1. MPL and MEC