Transcript

[Michael Houck]: Hey, Rafael. How you doing, man? [Rafael Bruno]: Well, with a huge, huge weight out of my shoulders since the wallet issue is like 99% solved. So yeah. Nice. I know it took, it took forever and it was probably bugging you just as much as it was bugging me, but nice work to get it like at least to the finish line here. [Michael Houck]: And we’ll get these last couple taken care of And data integrity, especially with finances, is so important. And it was really rough on me having to see that for our users. [Rafael Bruno]: So I’m glad we’re able to solve it. OK. I also create another query here. And we have a lot. I would say 20 users, if I’m not mistaken. That have a negative total balance. It means that they spend more money that they deposit. [Michael Houck]: Yeah, most of these are most, if not all of these are probably legacy from the early days when we didn’t strictly limit that. And some people did get under zero. So I wouldn’t worry too much about it unless it’s like, you know, $500 or $1000 or something like that. [UNKNOWN_SPEAKER]: OK. [Michael Houck]: They won’t be able to do anything right now, right? I know. [UNKNOWN_SPEAKER]: Then yeah, it’s fine. Let’s. Yeah, it’s fine. [Michael Houck]: So let’s start going through stuff. Rafael, let’s do your stuff first. So I know we’re at the finish line or basically over the finish line with the wallet issues. What about the other in progress tasks? There’s four others that are in progress right now. [Rafael Bruno]: Okay. About the one of transferring the earnings of the other two amplifiers. I’m doing that right now. It should be done in under 30 minutes. And then I will focus on the other Stripe and I believe that the biggest issue, it was the one from blocking payments, getting through the onboarding process. And I solved that yesterday. So I think that the other tasks will be easy. Right, but we had someone sign up. [Michael Houck]: Oh, wait, no, no, we didn’t have someone sign up. I’m getting my issues mixed up. Okay, so yeah, so that one’s solved. So that’s good. The other thing is 950. This is not related to payments. This is the logic change so that the scraper is operating on a per creator level for each post rather than overall for the post. So like the one hour checks and the five minute checks and the 24 hour checks should all happen for the individual request rather than just the post. [Rafael Bruno]: I can create that. I can modify that. Now, it will probably take me like two to four hours to finish that. But I think that I’m able to do this today. [Michael Houck]: Okay, that sounds good. Because Rizwan, he said on the thread that he he updated the capacity of the bots, which should allow us to do this. So yeah, so let’s just do that and see how it goes. [Rafael Bruno]: Okay. [Michael Houck]: There’s others to do. Are we going to get to any of those before the end of the sprint? They’re mostly small things, like notifications in Slack, or things with the scraper, or some emails not working. [Rafael Bruno]: Are any of those going to get done this sprint? This sprint ends this week. Yeah. Probably not. Some of them will have to go to the next sprint. [Michael Houck]: OK. Be very tiny, so you might be able to get them in today, like the Slack notifications, for example. And I don’t know, some of them might be small. So maybe when you’re done the ones that are in progress, if you still have some time today, just take a look and see if any of them are tiny. [Rafael Bruno]: And if not, we can push them to next week. [Michael Houck]: Cool. And then, Sid, how’s it going on? [Sid]: Yeah, so for me, the 940 ticket, which I’m done with, I will be raising a PR soon, I’m just testing it. So that there was an issue with, I mean, there were negative followers because it was checking for past dates, like comparing with past dates for all the accounts. So that has been fixed. I’ll raise a PR and then move to other ticket, which is 935. Which is validation on broadcast URL field in UI. So I mean, it looks like we just we have to validate if the broadcast that is being created by the user is I mean, they have that account. [Rafael Bruno]: That’s, that’s what I think, what is the number of the desk? Yeah, 35. Because I did something similar? [UNKNOWN_SPEAKER]: 35? Yeah. Other users not seeing engagements? [Rafael Bruno]: No, no, this is just to validate the broadcast URL field in UI. [Sid]: I mean, whatever the URL they are passing in the form in the model, we want to validate that that before they click on next button. So this could all, this- I’m opening mega 935. Is that the task? [Rafael Bruno]: Yeah, yeah, right. Mega 935. It says here, other users not seeing engagements. [UNKNOWN_SPEAKER]: No. Wait a minute. [Michael Houck]: Oh, I see. You’re clicking on the Slack link sending you to the post that is like, it’s like just generally, okay. I think I might’ve copied, copy pasted the wrong Slack message in here. This is a number one on that issues to solve list that this shows up. It says validation on broadcast URL field in the UI. Make sure account is right before letting someone click next. So I think Sid your, your understanding of the issue is correct. [Rafael Bruno]: Oh yeah. Yeah. I think that this task is the one that I did a couple of days ago that I should validate if the URL belongs to the account so the user can move forward, right? [UNKNOWN_SPEAKER]: Oh, yeah, that’s true. [Michael Houck]: Yeah, maybe this is a duplicate of that. [Sid]: Probably we created that issue before this was created. Maybe, maybe we had two issues created at different times. [Michael Houck]: I think that I think this might be a duplicate. I think this is already solved. So okay, I’ll move this to cancelled. Good catch. [Sid]: So in that case, I take up 959, which is like update back end for deposit. So is this I mean, can You gave me some clue, although I checked the Slack as well, but [Michael Houck]: Yeah, basically we had to update, we updated the UI for making deposits because we wanted people to be able to use their saved cards. And I think one or two other things as well. And so now we’ll just need some stuff passed from Stripe through the backend to the front end in order for us to turn the new UI on. I think it should be linked on that. And he would also have more details on exactly what he needs. [UNKNOWN_SPEAKER]: Okay. [Sid]: So there are some fields that you want to save in the back in the, in the table and the deposits table when they’re making a deposit. [Michael Houck]: No, no, no. I think this is like using the Stripe API to like enable saved cards to be used or, or something like that. I don’t think it’s related to saving data in in the database. OK. [Rafael Bruno]: And this is partially done on the, if I understood correctly, this is the task to relate it with the payment methods of the user, right, Hulk? Yes, correct. OK. So this is partially done on the back end. We have a place where we attach new payment methods to the customer. [UNKNOWN_SPEAKER]: And we have a place where we get those all the payment methods of the customer. [Sid]: So we just need to create an API that use uses those those methods. Okay. Okay. So the front end will use that API, right? [UNKNOWN_SPEAKER]: Yes. Okay. [Sid]: And what’s that use case that you’ve created? [Rafael Bruno]: After this call, I’ll show you on the code. Sure. [Sid]: Okay, so I’ll get started with this then update the it’s in progress. That’s what I’ll take up and I’ll wrap up sets set up sentry as well. After this, I think that would be a quick one. But maybe I’ll just finish them in like, bring them quickly. They look like the setup center thing looks like it looks like a small, small one. I think it will also make it easier to track errors. I’ll create a common account between us. I mean, common account with the megaphone and then show with everyone so that any one of us can log in and track address. [Michael Houck]: I think we already have a Sentry account. I think I had set one up forever ago. Let me try to sign on right now. Let me make sure we’re all set there. One second. Okay, no, I don’t have it on my megaphone email. What about, what about my other email? Let’s see. [Michael Houck]: No, I definitely was. Oh, maybe I asked them to delete the account. So let me create an account now, Sid, and then I will invite you to it. And then, yeah. But yeah, we should, it sounds like we feel confident we can get this stuff done before the end of the sprint. [Sid]: Yeah, yeah. Okay. Okay, I’ll leave it to you guys. [Michael Houck]: then if you want to talk about the payment method stuff or anything else. [Rafael Bruno]: So sounds good. I’ll see you guys on Slack. [UNKNOWN_SPEAKER]: See you. See you. Okay, so let me share my screen here and I’ll show you. Can you see my screen? Yes. [Sid]: This is about 959 update deposit update back end for deposits. 959 Thank you so much. [Rafael Bruno]: Oh, I see. So here is what you should do. Right now, we need Let me think here. Yeah, we need APIs to get payment methods, update payment methods, and get updates Yeah, I think it’s just those two, get, update, and maybe want to create, if I’m not mistaken. Actually, yeah, for now, let’s just do get and update. What you need to do here on payment HTTP gateway you will see that we already have a method here to get payment methods. So we pass the customer ID and we filter all the payment methods that are barred and return that. And right now we are using this. [Sid]: OK. [Rafael Bruno]: Can you zoom in a bit? So getPaymentMethod, we pass the customer ID, and then we filter all the methods that are hard and return those methods. Right now, we are using that on a use case called getDefaultPaymentMethod. What you need to build is a getPaymentMethods use case that will be basically like this, but instead of returning one payment method, it will return an array of payment methods. So getPaymentMethods use case and Payment. [UNKNOWN_SPEAKER]: Method. [Rafael Bruno]: Update payment, return all payment method, right? [UNKNOWN_SPEAKER]: What? [Sid]: So in the first step, you say get payment method. The use case means it should return all the payment methods. Yeah. [UNKNOWN_SPEAKER]: Okay. [Sid]: And what does that mean? [Rafael Bruno]: What are the second date payment method? [Sid]: OK. What should that do? [Rafael Bruno]: Let me think here. If we need to update something, I have to see the tasks here because they are already end it with that. [Rafael Bruno]: I don’t think we need to update a payment method. [UNKNOWN_SPEAKER]: Let me see that. Yeah, sure. Now let’s do all of our pipes. [Rafael Bruno]: So for that, you need to create all of those five use cases. One to create a payment method, one to get all the payment methods, one to get a specific payment method, one to update, and one to delete the payment method. And then Meru can use all of those. [Sid]: So I need to create an API that will call these to create five APIs. [Rafael Bruno]: Five APIs. [Sid]: Okay. Yeah. And what should the API logic be like create payment method use case? What should that I mean, I’ll get input in the request payload in the request. [Rafael Bruno]: You will receive a forgotten name. [UNKNOWN_SPEAKER]: Let me look here. [Rafael Bruno]: To create, you need to receive a payment method ID. Based on that payment method ID, you have to find the customer and attach that payment method ID to the to the customer. [Sid]: Sanyam Bhutani Okay, Rafael, can you can you tell me like what are we trying to do here in this ticket? Like it’s the ticket says update backend for deposit The name of the ticket is not very intuitive. [Rafael Bruno]: If you read the entire thread, you will understand the problem. The problem is that we don’t have a set of APIs that can deal with payment methods. For example, if a user wants to add a credit card, he’s not able to do that. If the user wants to deliver the credit card, he’s also not able to do that. If the user wants to retrieve all the credit cards, he’s also not able to do that. So we need to create this set of APIs to allow the users to interact with the payment methods that he has on our platform. [Sid]: Okay, so we need to create all APIs, are they all being used, going to be used? [Rafael Bruno]: That’s according to Mehul. If I identify it correctly, we need those five. Maybe one of that will not be used, but we need one to delete, because if the user wants to delete that, we need one to update, because this is on the thread. Maybe we should request one of that. We need one to create, we need one to get all of the payment methods, and maybe we need one to get a specific one, like this one here. [UNKNOWN_SPEAKER]: Now I get it. [Rafael Bruno]: It’s maybe not useful, but the other five we need it. Okay, so you said 50% of this is done. [Sid]: So what does that 50%? [Rafael Bruno]: Well, you already have the logic here of how to attach. You already have the logic here of how to attach. So this is basically done. You just have to create a new method and copy and basically copy and paste that logic. You already have the logic. To get. [UNKNOWN_SPEAKER]: I think I had created the API earlier right to create in Stripe. [Sid]: It was not it was not working. [Rafael Bruno]: You I saw that but I had to change because it was not using the correct APIs on Stripe and it was giving the wrong result. [Sid]: I think we use for that stripe issue that was called 3ds issue. No, the 3ds issue is another thing. [Rafael Bruno]: It’s a different thing. [UNKNOWN_SPEAKER]: Okay. [Sid]: Okay, so here I need to create a pair that will create that will create payment methods or update or delete or whatever. Of the payment methods in Stripe, right? [Rafael Bruno]: We don’t have to save them. No, we don’t save any kind regarding credit cards or anything related with payments, payment identification. We don’t save anything on our database because of security risks. We let Stripe handle that. [Sid]: Okay, I think we can save it, isn’t it? Because we anyway get last four digits from Stripe. So we and we will not get CBV also. [Rafael Bruno]: This is, I don’t think it’s a good practice to save some of those informations. First, because we don’t need to save, we can get directly using Stripe API. And second, because of security risks, because it’s not it will not be good if I don’t know for some reason, I don’t know, we have a security breach on our database and that get spread. [Sid]: Fine, fine, no worries. Can you send me the logic that you are referring to for the 50% that is completed? [Rafael Bruno]: Can you send me the file use case? Yeah, you can find it. [UNKNOWN_SPEAKER]: Look. [Sid]: Yeah, just send me the use case name, yeah. [Rafael Bruno]: Look this, find this. Gateway here. And the use case is this one. OK. On the payment HTTP gateway, you have the logic to get and to attach. You just need to add the logic to delete and to update. And on this get default payment method, and on create subscription. [UNKNOWN_SPEAKER]: Fine, I’ll take a look in this API. [Sid]: Yeah, here. [Rafael Bruno]: If you look here, you will see the payload. Basically, you just need the payload of the payment method ID to attach a payment method to a customer. [UNKNOWN_SPEAKER]: Yeah, yeah. [Sid]: Got it. Fine. On this one. And yeah, I’ll let you know. Okay. [Rafael Bruno]: See you soon. [Sid]: Take care.