 Good afternoon, everyone. Welcome to our London webinar for Google Pay. I'm over here in the London office I'm joined by Natasha and Jam and Dom as well And we're also joined by Tony over in the New York office So let's jump straight in to introduce myself. I'm Rowan. I'm a developer advocate for the web and Chrome My team focuses on e-commerce. So obviously payments is very interesting to me and hopefully it is also interesting to you Now if you have got this link from a contact at Google Then they are also your link for following up after this We're on the live stream if you've never been on a live stream before then you should see on the right hand side You have a place where you can chat So Natasha is watching that chat for your questions and towards the end of this She'll be relaying those to myself and Tony and we will be doing our best to answer those for you Let's jump in then with an agenda for the session today We're gonna start with an overview of Google Pay kind of a bit of history and where we are now We'll take a look at some of the design Considerations both inside of Google Pay and for your own checkout Then we're gonna take a look at the implementation on web and once we've done a quick run through of that We're gonna go into more detail and actually just go into some code and a live demo and finally we'll wrap up with Q&A at the end Okay, to set the scene a little bit for you to show you how much of a priority is that this is for Google here's a quote from Sundar CEO of my most recent earnings call and Inside of there you can see that he's really talking about the importance as we move from just being a search engine that answers Questions to really providing complete actions for users and of course that includes transactions And a big part of that is making them frictionless across all of Google's properties Now Google has the ability to reach users at a tremendous scale We've got over 1 billion users on Chrome and over 2 billion Android users But previously with Android pay we weren't really tapping into all of this scale We were only surfacing tokenized credentials and that was just on Android devices as well Now what we're trying to do with Google pay is really take advantage of that massive scale and this is how it works So any time a Google user Transacts on a Google property and has chosen to save their payment details with us And that means on properties like YouTube Chrome the Play Store and so on We are now using Google pay to tap into that collection of cards on file and also make them available to partner Applications and partner sites to create those transactions That means we've really increased the scale of our payment product to now include Hundreds of millions of users who are ready to pay right now We've also really focused on making it easy to use that means if a user has a card on file with Google They're ready to go. They can use Google pay to pay for things now to give you some context This is a little different from how it used to be where maybe you'd have to download the Android pay app Or maybe you'd actually have to actively re-add that card back to your account to make the payment So now stress that again Nothing is required on behalf of the user if they have a payment method saved Then they can go on to one of these properties and they can start making transactions And to give you an idea one of the phrases we have here is eating our own dog food So we've actually started really migrating all of our first-party products to use Google pay as a touch point So that means when you're going through YouTube when you're going through the Play Store You're going to start seeing the Google play the Google pay brand there So we're really looking to make we raise the consumer awareness for this And it's not just surfacing that on sites and apps and inside of Google properties We're trying to make Google pay available on all the surfaces where users interact with Google That means if they're using a Google home then they're using Google pay to complete those transactions If they're using NFC for tap and pay in stores, then it's Google pay that they're seeing on their phone when it makes that payment We're really focused on creating this delightful simple experience for users across all of these surfaces where they interact with us And as well, it's not just about making it easier for our customers We want to make it easier for you our partners and developers to actually build these scalable solutions So Google pay means that we are now available with a single API integration across web And a very similar API for Android globally in over 60 countries And that web API is across desktop and mobile web and is supported in all major browsers so Chrome Firefox and Safari And again, this is the change from what we used to have before with Android pay Where the user was having to download the app rely on adding that card as well Okay, so if that's the scene set, let's talk a little bit more about what it means to use Google pay on an online store Now If we look at the problem, we can see the checker is really a huge pain point for our partners As you can see here 69% of users will abandon a site or an app because there are too many steps in purchase So if we can improve that by just a few percentage points, then that really represents a pretty big win for transaction volume And let's take a look in a bit more detail about where those problems come So here's a kind of average checkout example You can see the multiple steps all of the decisions that we're asking the user to make and a lot of people will just abandon this With the intention to maybe come back later, but generally they don't One of my personal favorites on this is when you're trying to enter your credit card number and someone hasn't actually marked up The field is a number correctly. So you're trying to convince your phone not to keep swapping back to the letter keyboard and so on So on average when we look at something like this to complete a checkout it can take the user about 120 taps or clicks which is like three to five minutes of their time to complete that flow So you can start to see why people are dropping out of experiences like this Now with Google pay when I was talking about those saved payment methods before it's not just the payment method That we're trying to do here We're really trying to improve the checkout experience and provide that consistent seamless Experience to the users so you can see that when I come in with this I'm selecting my shipping method and when I tap something like the G pay button It's popping up with the saved payment methods. I have but inside of Google pay You can also ask for additional details like the user's email address their telephone number their shipping address their billing address So we really provide a uniform and consistent method for getting that entire checkout experience into just one set of you guys You can also see in this screenshot If you look closely that you can link your PayPal account into the into the Google pay app as well So again, we're really trying to streamline this to make it a single experience Okay, so to recap on that This is all about that consistent and seamless experience for users That means if the user is logged in and has a card on file with us Then they are ready to pay with Google pay We have one API that enables that across web very similar API that enables that across app And also it is incredibly simple. I know we have a bullet point here That says integrate in just a few days which everybody always says that about their product But we have some partners who have actually done this It is one developer week of time that it has taken certain partners to implement. We're available globally The checkout we are really streamlining this so it is becoming just a few clicks to get through And we also really want to state that we're fully invested in this We're moving all of our first-party products to be Google pay So you can expect this brand to be future-proof and be a good investment for long term And finally, we don't charge any fees on the transaction in this so Implementing this is no additional cost beyond the development investment Okay, and a few examples of people who have got this out in the wild already These are a few this is a bit American centric on this side But you can see a couple of Mia partners in here as well So Airbnb is is one of them hotel tonight in kayak I think as well just eat does this who I use more than I would like to admit And I'm joy I will pay makes that a little bit too easy Okay, and a few things that our partners are saying about this as well So you can see that customers who are using Google pay here was 65% more likely to complete their booking flow We've also found as well that the ease of Google pay means that users are coming back And they're actually using more inside of the app. So their order amount is increasing And you can see as well that it's much easier for new users to come into the app There's no more additional adding of a payment method saving of a payment method in putting your address again All of that is saved So it's just a couple taps for the for a new user to be acquired and get their transaction in this department. Okay Let's go into what's involved in doing that integration on the web then so to give you a very lightweight idea So three-stage process look at the design as in how Google pay is going to fit into your existing checkout Do the implementation, which is really two main steps. You check if they're ready to pay Ie is Google pay supported on that platform for the payment methods you care about And then you load the payment data and that's where you're expressing your configuration and the transaction that you're using And the transaction that you want to do and then finally when the user is completed that you use your payment processor to process the transaction Okay, let's look at design first then One of the things we recommend is to display Google early and prominently as a payment method This is because the user has the recognition that when they start the process That they are going to be able to get to the end and just tap the button to complete the transaction You also want to make sure that you are displaying all of the relevant purchase information The price the items and services before confirming the transaction because as we'll see what the Google pay interface shows the user is The information they are sharing with you not the transaction that you are completing And also it's always a good idea to ensure that the information you get back in the payment API You echo that in your site as well So display that back to the user and when you send them like a receipt email and invoice email You may also use the Google pay logo there to let them know that that was the payment method They used and we also say use only the official bound styles and logo assets in your app We'll provide links to the documentation where you can find all this guidance and these assets Okay, now let's actually dive into a little bit of code and look at the implementation on web The first thing you want to do is load the Google page on the script client library This is pretty straightforward if you've used any of our APIs before then you'll be used to this pattern as well You specify the payment JS the page as library and then when that's done You can specify a callback for on load, which is where you'll initialize the API Inside of here you can see that we are creating a payment client Just go back a minute because that's a little bit corrupted on the screen We are creating a payment client So you can see here that we're passing through the environment test This is the only parameter to the creation of the client at the moment So it's either test or its production Then you make the API call is ready to pay now what's this this is doing is taking the payment methods and the The transaction information that you have provided and telling you if that browser is ready to make that payment This is supported as of June across Google Chrome Safari and Firefox and this is on desktop and mobile So these are your options for the Google pay button We have both long and short versions and black and white versions So we recommend to use the black button on a light background and use the white button on a dark background Okay, now this is an example of the data that you're actually passing through when you're setting up the API You specify the types of cards that you want to accept. You can either accept generic cards So this is much like autofill that you would receive in the browser We can accept a tokenized card So this is the standard tokenized card that is saved within Google Pay You can then also specify the card networks that you accept So you can see here American Express Discover Mastercard and so on and then below you specify the tokenization Parameters for how you're going to process this So hopefully or the majority of cases you'll be using a payment gateway You can see here. I'm just using the example one, but on the site You'll see the supported gateways such as world a strike and so on We also have a direct method here where we will return the details to you You are responsible for decrypting those passing those on to your payment processor And this also means that you're responsible for the PCI compliance on that side as well Now finally, you're going to add the transaction info to that request as well You can see here that I've specified a final status But you can also have a non-final status here if you don't actually know what the price is going to be Now this could be for a number of reasons because as I said you can also request the shipping address From Google Pay and once you get the user shipping address that might affect the final price that you need to charge them So once you've done this, it's always important to make sure that you display that updated version The updated final total to the user before you actually complete the payment Okay, and this is the final bit when you get that response back from the Google Pay API It will include a payment method token inside of there And that is what you are passing on to your processor library to make that actual payment Okay, so with that done we are going to go into a live demo without any safety net or anything So let's see how this goes. So I'm just going to stop screen sharing for a moment So I can switch over to the demo Actually, you just give me one sec because I need to reset the demo for you so that it's Makes a bit more sense than just showing you the finished item In the meantime while you're waiting for me to mess around This is a good point to get together any questions that you might have and start putting them in the chat So that we can answer those in a little bit Oh another interesting point on this one as well is what I wanted to do in this demo was show you this on an actual phone but conveniently When you see the google pay UI on a phone This is actually marked as private or sensitive inside of android Which means that you're prevented from screen sharing Which is a very good feature, but it does make it a little harder to demo for you So since on the live stream you are no doubt on your phone at the moment anyway You can actually just follow this link to go take a look at the demo on your phone while we go So let me open up the screen sharing again Okay, so I've got a demo here, which I'm just using glitch to host so that can show you the changes fairly quickly So if I jump in to start with if I go up the top You can see that all I've got here is an empty div, which is where we are going to put our google pay bar So if we go right back down to the bottom again The first thing I'm going to do is import the library. So like you can see it's the pay.js file there And my callback is going to be on google pay loaded So let's make sure that we actually have that method available And just to reiterate as well what I'm doing is I'm going through the tutorial that we have available on the site So after this you can actually go along to the tutorial and this is exactly the same code that I'm using there So you can see in here the the first thing I'm doing is getting the payments client And I need to do this a couple times. So we've actually wrapped this up in a function of its own for here So let's uncomment that so we can take a look So you can see it's the google payments client So we're calling the library that we've just imported And as you can see I'm asking for the test environment So just in case you're worried about clicking the button when you're playing along at home I'm not going to be charging you any money for this demo Okay, so let's take a look at what we've got over here and make sure we've done it right Okay, so you can see that what's happening is inside of here just in my console I've just got a response result equals true And that's because what I'm doing is I've got the payment client and I'm calling that is ready to pay method So you can see in here. I'm passing through the allowed payments parameter Let me show you the allowed payment methods, which I've saved at the top So for allowed payment methods, I've said I accept both card and tokenized card So that means that we're pretty likely to be ready to pay on one of these methods So let's jump back down again Now is ready to pay is returning a promise And we use the then keyword to resolve that promise and inside of there We're getting a response and the response is what we're examining the result inside of the response If it's true, we know we're ready to pay. We're good to go ahead and show the button So let's do that. I've wrapped that up in the add google pay button Which I'm going to open up here So you can see here again just calling get google payments client And then create button which unsurprisingly is going to create a button for us The primary thing on that is we need an on click handler So I've got that just up here Let's comment that I'm just going to keep it empty at the moment just so we've got a function that it can call And you can do some configuration on the button. So let's just verify that we're actually Showing the button first. So there we go. We've got a short black button there But like you can see I can go in And I could change just mom and white here Refresh that and we've got the the longer white version But if you were paying attention during the slides, we said that this is against the design guidelines So we're going to change that back to be short and Dark to match our white background And you can see here as well that the create button method is just returning a button element for us Which I'm just depending to the container element that we created earlier on So let's just refresh to ensure that that's working There we go Okay, the other thing that we want to do as well alongside creating our button Is just kind of warm up the api as well so that it's going to be super quick when the user actually taps on it So we can actually prefetch some of that information from the api. So I've wrapped that up in my prefetch function up here I'll just show you that So what i'm doing is i'm getting my payment data configuration Which I've wrapped up in this little function here Now effectively this is the configuration for your site. So you can see my merchant id You can see the tokenization parameters, which are specific to your network So if I jump up here tokenization type as payment gateway could also be direct and see in here I've got example a merchant id now each of the gateways except their own set of parameters here So you'll do something different depending on the configuration I also pass in my allowed payment methods again from the allowed card networks And you can see here as well. I'm actually requesting some additional information I'm going to comment this out from now so we can see a basic request first and then we'll see how that changes as we make some calls Okay, and so with that in place even though we're prefetching we do need a transaction attached to that But we're basically just saying we don't currently know what it is. It's going to be in pounds We get the client again, and we just say prefetch the payment data. That's one of the things that for us So let's just hop back over to our demo and make sure everything is still working Which is so we've got our button But as you can see if I tap it nothing happens at the moment because we've just got that decal back So let's actually go ahead and Respond to that tap So over here, I'm going to get that payment data configuration again So it's the same thing I got before including my tokenization parameters my payment method and so on But this time I'm actually going to add the real transaction info to it So you can see I've saved some transaction info up here in this case. I'm saying it's final and I'm setting a total price This is basically you go and get the contents of your card and pass this through to the transaction Okay, so now I've got that I can call the load payment data method And this is what is going to trigger the google pay UI for the user and that's another promise So when the user completes that either they accept it or they cancel it and the promise is going to resolve And we're going to get the payment data back for us to process Now in the process payment method Since this is a little demo you can see that I'm not doing very much at all All I'm doing is taking the payment data and I'm just logging that to the console So now that we've got all that together. Let's take a look at what that looks like This is the moment of truth I press pay you can see the google pay UI popping up if you're playing along on web, you should see something very similar happen here And you can see that because I already have a payment method saved That this is appearing in here if I didn't have a payment method saved already Then I'd get the in the insight UI to actually add a new card and save that as well So I'm going to say continue here and make the payment And you can see the response that I'm just logging that I get back That has the card info class This is just for display purposes So you can show this back to the user to confirm the payment method and the transaction that they make And then you can also see the payment method token here And this is the actual tokenization the token that comes back Which is what you are going to pass to your processor to make that payment Okay, hopefully that was pretty straightforward and you've been following along So let's take a look at what happens if we ask for a bit more information in there as well So if I say ask for email required Then you just take a look at the data that we've got there currently Which is our card info and payment method By refresh now And I press pay And continue You can see in here that now my email address has been captured and passed back in the response as well And likewise I can keep going I can ask for a shipping address And if I refresh Pay You can see that now the UI has changed to show me my address selection I can either select from multiple addresses or I can add a new one And if I just do continue inside of there I come back and now I've got a shipping address added in there If you take a look through at the documentation You'll see that there are actually a number of things you can ask for You can ask for phone number, you can ask for billing address as well There's a lot come back in exactly the same format Okay So with that You've done our demo That will remain live for a little bit So you can continue to play with that or grab the glitch link and remix it if you want And now we're on to the Q&A So Tony, we're going to hand over to you to answer a few of these and then go back to the Q&A Great, thank you so much Rowan for a great presentation So yes, so it seems that we do have a few questions here And so I'm going to just read around and try to answer So folks, if you have any questions, please leave them in the comments So folks, if you have any questions, please feel free to send that to our way So the first question that we got is So somebody asked if there is a discussion forum for Google Pay API So the short answer is no currently we don't have such forum, but then You know probably in the future we're going to have one But then we have a very good development Website where there's also a form for you to submit questions to us And so if you run into any problem try to integrate in Google Pay to your existence solution You can just also Through our depth site submit question to us and we'll try to answer get that back to you as soon as possible And the second questions that we receive is somebody asked if You know, can you call is ready to pay even without having applied to production access? So he also he giving us a context here says that I would like to check to see how many of our users could benefit from using Google API There's a great question. So So as you can see Rowan just show us a demo without even having a production access so you can use a You can connect to the test environment and then from there you can call uh Called the is ready to pay API So in order to connect to our production environment, you have to have a you have to apply for production access first But then you still can use is ready to pay by connecting to the test environment. So, yeah And I think a quick note on that as well, Tony is We'll notice if you tried the demo on a mobile device if you actually Have to bring up the payment sheet It does provide a little disclaimer saying that this is not a trusted application for you as well So users indication that you know, they they are in a test environment. And this is a real check out Exactly. And you know, also when you are connecting to the test environment um, you can only um the the payment token that you return will be a Kind of like a test token. So you won't be able to pass that token to your payment gateway processor to process that So only when you will have a production environment access then Google pay will return a a valid production payment token for you to pass that to your gaming processor And um, the next question that we got is somebody asked if this worked on any Operating system. So earlier we're rovin already mentioned that we support all the major browser on the desktop and mobile devices, so um, so the question is kind of is it a yes, so because it's um, it's a browser dependent Um, when we're talking about a web, um, so, you know, it support windows Mac linux, so as long as with the um, the browser is supported by google pay Then you shouldn't have any problems. So on the mobile side when we currently google pay api only support android So no ios at the moment yet and um We got another question here, which is um, is um, can payment detail be saved From google pay to own to your own back end system For example, if a user check out with google pay Can they occur details? For example, then be saved for future use in that user account. That's very good questions So, um, if you are using a gateway, um integration meaning that the The payment gateway that um that you are using is supported support google pay Uh, the the payment token returned by google pay Only um has the expression date of about seven days So that's basically they're talking only can only be On the we expire after seven days. So you cannot really save that And use it beyond the seven days Now if for example, if we want to do something like a recurrent payment Is it possible? But then that is outside of google pay already So you will have to work according with your payment processor to handle that because um google pays we return a payment method back to you and then you know Then you will according, you know, what were your payment processors? We're using the api to do a recurrent payment now if another case is if your payment Gateway is not doesn't support google pay. You still can use google pay But then the integration would be a little bit more involved as we mentioned earlier. We now when you use google pay You have to pass the direct Um, there's a parameter called tokenization time. You have to tell that okay, it's a direct meaning that you have to implement the description of The the payment data payload that returned back to you in a pc i compliance environment from there You will see, you know, then once you decrypt that payment data You can see the um the credit card information, right the whole credit card number Expression they um and then all those information and from there you can you know save that and process it for your recurrent payment Um All right, so moving on to the next questions. We have printed question. Very good questions. So um the next one is um somebody asked if um, you know, um They want to do um a and b a b testing Um first before rolling out to auto user Do I have to do anything different than the tutorial suggests? Um, I would say it's um, no Because so for mb testing now you have to design, you know, uh, which subset of user would be using uh google pay b i basically if this user you Whatever criteria that you design, you know, you will show that uh google pay But then for the people that you don't want them to use google pay b i then you just don't show that buttons That's yeah Yeah Page that details of the payment gateways that are currently supporting google pay and the answer is yes Yes, there is you go into the payments documentation Um scroll down a little bit and you will see the full list of processes that are supported And hopefully that will be growing less over time as well The next one This is a good one Tony. I think I might actually have to bounce this to you Is it possible to change the language of the button text? Yes, yes, so it is possible. So, um, um, I think right now we are starting moving out at six or seven different languages So when you call that create button functions In the javascript library it will automatically detect what language to um that it can use and then it will localize that So instead of like for example, if a presence is let's say um Calling google, you know, it's your your your customer is, you know, doing that transaction in germany, for example, and then The google pay api will be able to detect that what browser what localization language they are using and then automatically switch The language to german instead of using english on that buttons. So yeah, it's possible So if that is handle by the um the api automatically You should be able to try that out on the demo like you switch your browser's language The button actually picks up that language change Um, there was another question here that is there an option for the customer to use the saved address? In the account that will overwrite the existing address on the workshop Um, and if yes, is there any address check or validation planned? So what I would say here is this is actually down to your implementation So you're going to make the you're going to request those transaction details from google pay Those are going to come back to you and it's up to you Whether you decide to present that to the user to say would you like to make this your default address? Would you like to save this as an address in your account on the shop? um The other question was about validation on there as well Um, we do we do some validation But like with all of these things anything that's coming back from a third party always validate it yourself as well Don't just always assume that we've done the right thing The other thing that I would double check here is Um, you should also be able to you can request the billing address not just the shipping address So on that the billing address is obviously linked to the card So that's a bit stricter in terms of validation that's happening All right, and I also want to just elaborate a little bit on the address validation too. So, um, You know when you making the the call to google api you can set that okay Requesting address and uh, even though google on the pop-up chooser the payment method pop-up chooser um, uh, when he asked for the user for your customer to enter a Shipping address does not like validate The address but then when they entering the address the google api would use The google map api To make the address entry much faster much quicker and you know, and so that helped the user enter a you know Like a correct address easier And one of the other things we we didn't cover but you can look at the api as you can you can set the The country codes that you want to accept But for example, if you are asking for a shipping address and say it's a you know You're in a very large country and you don't ship everywhere You are going to have to do that validation as well when the shipping address comes back You need to ensure that you can actually ship to that location If you can't you're going to need to bounce the user back and have them either cancel the transaction Or run through it again to select a different address The next question was uh, the whole demo was presented as a front-end integration So is there a way to implement calls in the back end with php instead of javascript as an example So not as far as I know, we don't have like a server side rest api for this because you are You're relying on accessing the user's information. So obviously that's that's quite privacy sensitive It's linked to their google account in the browser hence the the front-end nature of this But at the same time there is nothing say limiting this just being like a Fully single page app or anything if you're doing server side rendering This kind of javascript is going to work in exactly the same way As most of the other payment providers work great. Um, so um, our next question is somebody asking us For the link to the documentation So on the end of the the presentation that here we we're going to give you a a link That point to our development Documentation website. Oh you if oh if you just google You know google pay api and then you will see that right away pops up on the top of the search result I'll just click next on the slides as well. So you should have those links in front of you Great. Thank you robin and um the next question. Um, this is a very good question Somebody asked how the refund work and or some other transact, you know, all the operation works, right? So that's um, so that is outside for google pay already The google pay api the google api pay api will return you the payment method So once you get that payment methods, then you will just process, you know Use that payment method to continue with the with the buy flow, right? charging, you know charging the customer, you know doing the um and then later on capturing the payment after the whatever Um, think that the your customer bot is shifted and now for refund you were going to use that would be would be depend on um on Your payment you know your payment gateway depending on the api that they use So I would say there's there. There shouldn't be any changes on the On the existing way that you know your system is working with handling, you know, we regard to handling of the refunds um The next question is that we receive is what is the process flow when 3d secure jack is requested By the bank either any example process flow documented um So that's very good question. So we currently we don't um the process flow in term on the uh google pay api Is is the stem? But then um, there's um on the doc on the development documentation. There's some um additional parameters that you will have to pass um Then um, yeah, so if you you can check that the documentation for more detailed information on that And Yes, so we got another question. Um, which is are you Able to change the value of the transaction for example adding an optional delaying chart Yes, so um, you can change that after you receive the payment methods back from the google pay um But then remember during the demo robin show us that you Yeah, this um when you make that uh payment data request There's a parameter for the price status that you pass to google pay So if so if you know that the um the final amount of the transaction will be changed depending on the shipping address because the The sales tax or the shipping cost we we get it depending on you know, we change then you would instead of passing final You can pass, you know unknown status or some other value to tell that um, you know The the total amount would change But then we do recommend you to show, you know, um the total Amount before your customer confirm the order Um, all right, so we have another question here which said um from um Calling is ready to pay but doing but not doing any payment. Let's say we have a 10 000 customer I want to find out how many of them could benefit from google pay bi Will they see at calling these functions? uh So when you call Is ready to pay um, there's no ui. There's no pop up that we show the user that you're calling it. So um So yes, so the short answer is no the user The end user won't see that you are calling is ready to pay Yeah I will say though If you take a look at the demo if you open up the google console and say comment out the The actual payment result You can see the calls that are being made when you load the api and when you load ready to pay And obviously if you're adding that to your site, then anyone looking at the developer console will be able to see the calls that are being made as well right exactly All right, so we have an um the The follow-up questions from the question that we just answered. So that's google pay api actually do the payments Oh, it can also be used to just request payment info and we handle the payment um, so So the the answer is uh google pay api doesn't do But if you say um by saying that do the actual payment, you mean, you know Capturing and doing the resettlement. Um, so if you're referring to that part of the um the transaction So um, so the answer is no google pay api doesn't do that google api only return the payment information Back from um to to you and then you will have to you will have to handle all those um payment transactions Yeah, any other questions I think that's a very good question I think that brings us up to the end unless we've got any any final pieces We just uh, we're looking at the live stream here while it just catches up so we can see if there are any last questions before we go Well, no, hopefully hopefully we've explained everything to you So thank you very much to tony for joining us early in the morning in new york And thank you to matasha for really wrangling the live stream to get the questions in front of us as well Uh, thank you to dom for the expert camera control. Thank you to chan for being the moral support here as well We have recorded all of this so this will this recording will be made available So if you need to share this or a reference back to anything And of course the links here for the documentation and for the sample as well So with that, thank you very much. Uh, and we hope to hear more feedback from you Bye