Adding bank account details (just before user gets paid for the first time?) - Etsydemo Course

Hi Alex, this is a question regarding addition of bank account details. You said that there are two ways of adding bank accounts 1) when users make their listings or 2) when they are about to be paid for the first time. I was wondering if you had some suggestions for how to get the users to add their account details as they 'bill' for their first payment. So in my website, the seller users will have 'My Sales' page that lists all the sales that they have done. For each of the sales, they can click 'bill' to request the payment for each sales that they have done (i.e. if they have made 4 sales, they need to bill 4 times) I was thinking of adding a boolean column called 'bill' in the Order table and write a code that requests this bank account details when a user bills for the first time. Is this what you would do? I can't quite 'design' which table the bank details should be placed in for such purpose... Would much appreciate some suggestions. Thanks! Harry

Posted almost 5 years ago by Harry Lee
Posted almost 5 years ago by Alex Yang

Hmm...this approach can work, but I wouldn't do it this way. If you don't want sellers to input their bank accounts right away, I would set up a system where any sales will contribute to a user's 'balance', which they can then choose to cash out at any time. The first time they ask to cash out, you can ask them for their bank account info then. Does that make sense?

1
Posted almost 5 years ago by Harry Lee

Hmmm... I've been doing some googling and trying to think of ways to code this... would it be ok for me to ask you for some guidance on as to how I should write this?

I'm thinking I will need to create a scaffold called balance nested under the user scaffold that displays the sum of <%= listing.price %> for listings 1) that have not been paid (we could add 'paid' boolean to the order table and 2) <% listing.user_id = current_user.id %>

Am I along the right track?

1
Posted almost 5 years ago by Alex Yang

I don't think you need a separate balance scaffold. Instead, you should just add a 'balance' column to your User database. When a sale is made, the amount of the order is added to the balance. When a user cashes out, the balance is reset to zero.

1
Posted almost 5 years ago by Harry Lee

Hmm.. if that's the case, I'm guessing the sales page should list the listings sold and at the bottom show the balance with the cash out button next to it. If in my sales page, there are 6 sold listings out of which I have cashed out 4 and the most recent 2 listings aren't cashed out. In this case, there should be an indication of whether a listing sold has been cashed out or not. For this would you add a boolean column called 'paid' to the order table? (i'm guessing somehow once stripe transacts payment for a particular order, we can get the boolean to show as true)

1
Posted almost 5 years ago by Alex Yang

Why is it necessary to cash out each individual sale? If a seller has made 10 different sales, he needs to manage which of those 10 have or have not been cashed out? Seems too complex to me...

Sellers should just have a single balance which reflects the accumulated sales since the last time they cashed out. From a UI standpoint, it'd be best to put the balance right in the navbar.

1
Posted almost 5 years ago by Harry Lee

Oh no I'm not saying the user needs to cash out individual sale no. Exactly, a seller will have a single balance with accumulated sales price. But what i'm saying is that the accumulated price shouldn't take into account the sales for which the seller has already been paid. This is why I thought a payment boolean column might be needed in the order table... no?

1
Posted almost 5 years ago by Alex Yang

Sellers should trust that they're paid for each Order immediately and their only responsibility is to choose when to cash out. Why should a seller need to know whether a dollar (or pound in your case) came from Order A or Order B?

1
Posted almost 5 years ago by Harry Lee

It's actually because mine is private tutor e-commerce..:) I've sent you a screenshot but tutors shouldn't get immediately paid because their offered tuition need to be verified by the students (buyers) which is why I insist on the status of each order (tuition booking).

Thanks for the attention into helping me refine the product though I really appreciate it:)

1
Posted almost 5 years ago by Alex Yang

You're welcome!

1
Posted almost 5 years ago by Harry Lee

Ah I see that makes sense. Cool I'll work on that now thanks!:)

1
Posted almost 5 years ago by Harry Lee

System where a user has 'balance' that they can choose to cash out at any time... I get that and really like that!

1