Skip to main content
View on YouTube to comment and like!

over 1 year ago Syntax Podcast

Accepting Money on the Internet in 2025

Wes Bos

Wes Bos Host

Scott Tolinski

Scott Tolinski Host

Topic 0 32:56

Handling fraud and disputes

Wes Bos

last mile carriers

Wes Bos

My bad on that one. I think that's all we have here for accepting money on the Internet.

Wes Bos

luckily, and then you come, again, you come back to the client with that payment intent. I should say that the actual creating the payment intent, your server data rules and whatnot for for handling sensitive information because it's actually going to Stripe directly. Right? The other option is you have a a custom checkout. So the embedded checkout, if you don't Mhmm. And is implementing this themselves.

Wes Bos

I forgot I bought that, or, oh, I didn't realize that that what's that's what that was,

Wes Bos

right now, but I have a a couple methods. It's just search Wes Bos, convert USD And it's there's, like, a local Chinese carrier. You know? It goes on a boat, and then it it shows up. And then

Scott Tolinski

and

Scott Tolinski

That one that you said about, like,

Wes Bos

I have a couple approaches that will get around

Wes Bos

one very important thing to turn on is is Stripe Radar

Wes Bos

You know? It's, and hit the subscribe button. Of course, we're on all the other platforms as well. Leave us a little review if you can. We appreciate that.

Wes Bos

Hold on. I should probably know this. Canada provinces,

Wes Bos

I work in construction. I never would have bought that. And if you can refund it Like, what the hell is going on here in in PayPal? And it turned out that there's two different teams.

Scott Tolinski

I'm I'm stuck into that flow now. I I've, like you know, the place has gotta have free returns and free shipping, and then I can do all that. But, yeah, that's where I'm at. I've been using Parcel for,

Scott Tolinski

disputes, like, very personally when it was, like, somebody who And that is a intense

Wes Bos

fees from PayPal.

Wes Bos

little notes. And all of that stuff is combined and creates a radar score,

Wes Bos

over time. Although the the Amazon shipping in Canada has gotten really fast, so I almost never track it anymore. It just shows up, and it showing up tomorrow. Yeah. Yeah.

Scott Tolinski

Yeah.

Wes Bos

their name does not match the name on the credit card or, before it is

Wes Bos

seems bad, their IP address a platform that is going to sort of process your transactions.

Scott Tolinski

I just click that refund button really quickly. Or get this. If anybody ever emailed me asking for a refund on anything, I would give it to them in one second. And that's the thing that makes me so mad about it. It's like, you could've just emailed asking for a refund, and I would've done that. Instead,

Wes Bos

it's important to have that as well as, like a lot of times people email me and say, hey. What does this charge? And they're like, oh, it's a web development course. They're like, times.

Wes Bos

disputed, then you don't get hit with that $15 fee. So that's that's good. It's per week? You're good. Node California roll. No. I'm not gonna I'm not financing my sushi here.

Wes Bos

all my, like, Canadian taxes because I do have to provinces? Twelve, thirteen? I don't even know.

Scott Tolinski

Being in The US, you know, you you just most of my, customers are in The US or or Node. Sanity,

Wes Bos

because often,

Scott Tolinski

every time.

Wes Bos

Apple Pay. Everything else is so much more secure

Scott Tolinski

some kind of way. If it's if it's legitimate not a great thing. You know? But, hey, and it's a stolen or it's, like, somebody who didn't mean to sign up or there there's a lot of reasons that could be legitimate.

Scott Tolinski

codes in, your delivery stuff, puts it into a nice UI in a widget.

Scott Tolinski

kids charging stuff on their parents' Yarn, like, I've had that in and, like,

Scott Tolinski

And I gotta say,

Scott Tolinski

I've watched the videos. Now I'm just gonna do a a chargeback or whatever. Yeah. I always took that very personally, and I would fight them,

Scott Tolinski

is that she does that. She just buys, like, two or three things of the same different sizes and then returns the ones that and I've, like throw it in your database. Like, you know, you cannot do that. That will that is illegal. I I always joke we've talked about this on the show before a long time ago. I had a client who was moving from their homegrown,

Wes Bos

and then his estate contacted me. And they were just, like had, like, so much debt or something like that, and they were trying to just, like, settle his estate. And they were just going through his credit card trying to get refunds for as much as they can. I was like, oh, yeah. Obviously, he's not gonna watch it. So

Wes Bos

I don't feel good about that. No? Okay. But, like so I I go to these, Cool. Alright. Thanks, everybody, for tuning in. Make sure you check us out on youtube, youtube.com/@syntaxfm, Big fan of that thing. So and iframe in the the PayPal.

Scott Tolinski

I've I've had, like, phone calls like that at least a few times with, like Yeah. Oh, yeah. People who Yarn like, who are you and what are you doing? Oh, I make web development tutorials. Oh, web development? Okay.

Scott Tolinski

iOS. I don't know if it is on Android, but I have to imagine there are other shipping manager apps. So Yeah. Just look for that type of thing, and it is a nice little life thing. Just put a little widget on my screen. I know where my stuff's at. We are in the era of you buy three sizes of something, try it on, and ship the other two back. You know? I mean, that's just where we're at right now. So I I got stuff coming all the time with, clo like, I do all of my clothes shopping there now. And, the way my wife shops for clothes and, this is a positive thing.

Wes Bos

it just man, I I love waiting for for packages to come. I know. It's it is a, dopamine hit that is probably like, good people get caught in it as well, and then you don't get their money.

Scott Tolinski

Just like, hey. Here's all my transactions. Here's my my books. You figure it out. You know? Yeah.

Wes Bos

But when there is is fraud, about your user, and, oh, sorry, also has the, like, user's name and email address and any other stuff you can attach to that.

Scott Tolinski

And like you said, you don't win them that often, and it's a losing battle. But I would I would definitely, like, feel

Scott Tolinski

just tells you It's like a five a year or something too. It's dirt cheap. Yeah. I would pay for it if I end up really liking it and using it all the time. But if you haven't used this,

Wes Bos

screenshots of email with the customer, and then I've I've won it, but probably However, You have to do that whole song and dance again Wes you send all that data back to to the server, So because people don't recognize it, and they immediately be selling stuff to people who that's wild to me that that even works.

Wes Bos

you both have a $15 So you can sign in with Amazon, and it will track where your stuff is

Scott Tolinski

you don't know anything about it, it is on

Scott Tolinski

shipping information inside of the app Parcel, and it's an app that you put all your shipping

Wes Bos

But I love that because it gives you a little little, like, push notification every time something updates, and it will just text you a Node, and then you put the code in, and then you're done. Then Stripe will remember your credit card number. That's I always thought, like, ah, that's dumb. You know? Yeah. I enabled it. Probably at least half of the people use that to check out. Yeah. Which is it just shows me, like, you think, like, yeah, we use password managers and all this stuff. Normal people are not using that stuff. Normal people

Wes Bos

calculate and remit taxes for all the provinces.

Wes Bos

hit on Stripe and and all of these things. So if somebody somebody uses stolen credit card to buy something or or they dispute it or whatever, Absolutely customer sensitive information they want to not have to fuss with remitting taxes in

Wes Bos

hey. If the radar score is below x, y, or z, then reject it. And it's a delicate balance because,

Wes Bos

never,

Wes Bos

and then you can set rules in your Stripe to say, and simply just Yes. Have them type in the form themselves.

Wes Bos

and then it gets put to one of these, like, random last mile carriers where it's, like, a just a dude with a Honda Civic that drives to your house. At least in Canada, that's that seems to be the way it's it's going.

Scott Tolinski

oh, my son is 20 Yarn old,

Scott Tolinski

Also,

Wes Bos

or whatever the equivalent is for your checkout. And what what that will do is they Yeah. Crazy, crazy

Scott Tolinski

I'll take it. The Amazon integration

Wes Bos

story where a guy about the course simple when the the world of money is not simple. You know? There's Yeah. There's legal things all over the place, and not Parcel.

Wes Bos

Alright.

Wes Bos

fan for this three d printer. It's three pin and not four pin. Mhmm. And I'm gonna return it, but, like, popular way. And it has sort of taken over,

Scott Tolinski

Okay. I can get down with that. I don't need I don't need beauty in my ups.

Wes Bos

Yeah. It's it's nice to do that. I was on the phone with my accountant the other day just going through all my,

Wes Bos

you're not in The US, but you're accepting money in The US? How do you then convert that to your local currency? it's probably worth spending So, yeah, we got embedded checkout.

Wes Bos

with,

Scott Tolinski

I don't know why. But he he must've he's a web developer, so chances are he bought this on our card. Now I'm gonna have to have that conversation with him, like, why are you buying stuff on my card? on the web, you got a store, you got a shop, or whatever, post a link to that shop below, post a link to whatever you're you're selling. Let's let's click on each other's links and and buy each other's stuff. But, also, tell us what what payment processor you're using, and I'll let you know what kinda what kinda stuff you're using there because, crypto,

Wes Bos

all of these little you send the information

Wes Bos

Sometimes I buy stuff at auction, Amazon returns.

Wes Bos

the the states, where you what do you have? Fifty fifty states, something like that? That's a little bit harder.

Wes Bos

Beautiful. Alright. Thanks for tuning in. Catch you later. Peace.

Wes Bos

places to try that because they'll they'll they'll have a list of 10,000 credit cards, and they'll just try them all And

Scott Tolinski

I took that,

Wes Bos

And,

Scott Tolinski

if you are accepting payment

Wes Bos

Oh, there's a lot of dropshippers as well. Well, if if it's a crappy product, no problem. I'm sending it back. You know? But, like Yes. Like, for example, I ordered the wrong

Wes Bos

So I've been, been enjoying parcelsapp.

Wes Bos

not so much of an issue now that, like, credit cards are especially American credit cards are catching up with the rest of the world people are looking for people email me all the time JS, what if you have

Wes Bos

I'm still, like, in between the two. But I'm switching over to Vercel they almost always are going to side with the customer.

Wes Bos

especially, like, everyone's like, oh, Amazon, whatever, and maybe some of the stuff. But there's a lot of, like, small businesses selling on there, and you're you're kinda hurting them as well.

Wes Bos

Parcelsapp.com.

Wes Bos

or it'll I think it also says Bos type. And then, like, they can they can contact me. They can call me. And a lot of times, it's just it says, oh, Yeah. On the credit card statement, you can you can write what it shows up JS, and I will try luckily, my name is very Scott, so it'll say, like, Wes Bos beginner JavaScript, PayPal and Braintree absolutely everybody, but that is a extremely

Wes Bos

The the refund or the the disputing it just for the hell of it, there's some bad people out there. Yeah. That is a bad thing to do. If you're out there and you do that about turning something to Amazon.

Scott Tolinski

land. But the the app is

Wes Bos

probably, like, seven Yarn, That's it for money. Let's move into sick picks and shameless plugs. What do you got for me today, Scott?

Wes Bos

little notes about the person visiting the website, You almost Stripe you can do a modal pop up Mhmm. So you have to go into your Stripe account,

Wes Bos

that it's slowly becoming less of an issue, but, you Node, I'll give you the refund. Just let me do it. Yeah. Sometimes the the chargebacks are simply just people don't recognize it, whether it's, oh, my son bought this course or whatever. So what I've gotten is so many of those.

Wes Bos

I don't know that I could do that. That seems the extortionist

Scott Tolinski

I'm interested in what's going on under the hood in some of these things. So, let us know. Here's your shop. What kind of payment processor? What kind of stuff are you using? Do you like it? Let us know.

Scott Tolinski

you know, it does, like, three at once or whatever. But it it does Yeah.

Wes Bos

PayPal.

Scott Tolinski

it's nice. And the free experience on this app is nice because,

Wes Bos

So maybe that'll be my my sick pick as well. It doesn't look as beautiful. But if it's more functional then But it is Yeah. It JS a little bit more functional.

Topic 1 18:22

Overview of checkout flow and payment intents

Scott Tolinski

checkout

Wes Bos

Stripe will take care of attaching the credit card or whatever payment method I'll order something from China, for But luckily, Canada only has, what, 13

Wes Bos

two probably most popular ones.

Wes Bos

What you do is and you want to redirect them to Stripe's own checkout. I'm not gonna go too much into that, but it's kind of a similar approach as well. Let's talk about methods to accept money. So, obviously, credit card bank transfer are the And the way that that works is that

Scott Tolinski

the checkout flow isn't well, it Sanity it depends, but if it's recurring or not recurring.

Wes Bos

the product and the user. You send that to your server,

Wes Bos

It has the method that the user wishes to pay with, you know, whether it's, and all of your different options as well. Right? Because on on one end, you can build something totally custom, and then on the other end, you can just sign up for a service and and have them do everything.

Wes Bos

you take that information, Cash App. Europe has a whole bunch of of weird ones as well. The nice thing about

Scott Tolinski

your payment provider.

Wes Bos

like, customer sessions,

Scott Tolinski

because

Wes Bos

Cash App, all those.

Wes Bos

And and then take that payment intent, you send it back to the client,

Scott Tolinski

all those things, and then you're essentially having to hit their API anytime you want any real information. You want information about what the credit card on file is, what the, signed up and then was like, actually,

Scott Tolinski

that you can charge them. Right?

Wes Bos

Stripe uses something called a payment intent, and the dance that it does is is kind of complicated. But the way that it works JS, like, when you are ready to buy something, like, for example, you click on one of my courses and you click on buy, the Stripe elements simply just takes care Wes, like, you shouldn't just be allowed to know the secret number and then buy stuff on the Internet.

Wes Bos

a credit card or Apple Pay or,

Scott Tolinski

what what you actually do need to store is, like, a an ID for all these things, whether it is the the payment ID or the subscription ID, So having an app that you just paste in the,

Scott Tolinski

The whole flow

Scott Tolinski

attached to a user's, like, subscription object in their thing. So by saying that, like, hit go, I want to I want to subscribe to this, it is telling your payment processor

Scott Tolinski

involves familiar. You know? I I I just I had to do this for so many years with Stripe, PayPal, all these things. And in the past, it was never, like, super a lot of fun. Braintree was a disaster, and that's That's super fun. No. One, I like money. Hey. I like I like accepting money, and I I like having money. So, like, therefore, it's just something that you have to do in development if if you are, you know, having a SaaS or product or an app of any kind that you want to restrict access to or if you wanna keep it running because, hey, your services cost money. And if, you're the type of person who uses a lot of services to build your app, your app's gonna cost even more money. And so like you had mentioned with the sliding scale of how much these things do, that's the big determination

Wes Bos

they remove something from their cart while they have it open.

Scott Tolinski

having a product connected to, oh, that makes sense for, like, Linktree. What? It's just a page of links? But they were like, well, what if we gave you a a way to sell your products on on this thing as well? So I have no idea if this one's any good. I will say about beacons,

Scott Tolinski

that you have approved or the user has approved that credit card There's something called, like, PCI compliance Wes you have to make sure that you are compliant

Wes Bos

Some bank transfers are not instant.

Scott Tolinski

to hold on and be able to validate that that charge anytime once a month, whatever, etcetera.

Wes Bos

to that, then you confirm that payment intent, and that is what will actually charge the card or take the money out of their account.

Scott Tolinski

because your payment processor, They're, one of those they started off as, like, a Linktree competitor. Right? Okay.

Wes Bos

what you need to then do is create a payment intent, and that payment intent describes several things. It has the price

Scott Tolinski

the user's credit card number, all of that stuff,

Scott Tolinski

what they're doing is they're holding on to

Scott Tolinski

So let's talk about the whole

Scott Tolinski

but it's not saving that information anywhere in your system. It's sending it to them. It's sending that credit card, and it's getting an approval by halfway through, you're just like, come on. Like, really? You can't just make this a little bit easier? Just give me an API key or something like that. Just Yeah. It's it's like they don't want you to use it. It's it's wild. Scott complex. The only thing I had to do to get Apple Pay working you are accepting payment, Oh, man. You know what? I have a a shameless or a shameless plug. I have a sick pick of something that you sick picked, I believe, a really long time ago. I I would have to look up when this was because it feels like ancient days in in syntax,

Scott Tolinski

And, typically, how that works is, again, you're just getting an ID of the user. You're getting ID of the transaction,

Scott Tolinski

When you're able to purchase that product, it knows the price. It knows everything. It validates Right? PayPal and just normal credit Yarn.

Scott Tolinski

current subscription level is, what other options are there, what's the user information. Any of that stuff, you're taking that information along with your API keys, and you're having to pull it from them. Because when you do that credit card information or whatever, there's a lot of information that will come back to your server, but you shouldn't be saving that in your database. There's just not a lot of good reason to. You should be pulling that directly from the payment processor.

Wes Bos

bank checkout, Alipay, I do not think that I should

Wes Bos

coupon code, someone changes their email address, the the high level UI. So they kinda they kinda do everything.

Scott Tolinski

Yeah. And if you are doing recurring payment, this process, again, is

Topic 2 06:11

PayPal improving developer experience

Scott Tolinski

things now out there as well in terms of, like,

Scott Tolinski

You can just, send somebody your bank details,

Wes Bos

a million. Every single country, even Node. Canada, you can pay via, like, a I think it's called an IBAN, like a bank transfer.

Wes Bos

a a necessary evil when accepting money on the Internet, and a lot of people are just like, well, screw PayPal. Right. But, like, I'm not as much as I hate it, I still like money. Yes. I'm Scott still pay me via PayPal, so I have to support it. Stripe does now have PayPal And I find that it's a bit better at finding these, like, random update that payment intent. You don't have to create a new one. You simply update it. It's kinda nice to update it because you can see in Stripe what they have done. Like, you can see if they've opened the checkout several times, And what that means is that never really liked that vibe. It's hard, man, especially because, like, also, my courses are That kinda just happens. That happened with PayPal. That's why a lot of people don't like PayPal. It just got complex. But I don't know that you

Wes Bos

over the last Yarn or so

Wes Bos

Let's talk about checkouts. So 10 provinces, three territories. So 13 was right. Luckily, it's not that complicated, but if you have to do that for somebody has has finished that,

Wes Bos

support. So one thing with Stripe is you can have many payment methods.

Wes Bos

the team that does the docs and the team that does the examples,

Scott Tolinski

Apple Pay, Android Pay, those types of things, you know, there's all those if you wanna consider that stuff. Ally Pay, the Yeah. Bank checkout. So I their credit card comes into your email from the website? Yeah. And, like,

Scott Tolinski

is is its own thing. Yeah. It's where you put the credit card information

Wes Bos

there's this is not like cart functionality. I I guess it could be cart functionality, but that's that's sort of a whole separate

Wes Bos

credit card being one of them. And then, like you said, there's Apple Pay and and whatever the Android Pay JS, and then you're you're sorta you're out that much money plus I believe it's plus a $15 hit as well.

Wes Bos

thing. But, like, the actual check the checkout experience itself is it's called Stripe Elements. And Stripe Elements provides you with a bunch of different components

Scott Tolinski

Yeah. That's a that's a it's a bummer. And

Wes Bos

I feel really bad. There's one time the docs were, like, you couldn't select anything in the docs, and I, like, tweeted about it. I was like, you can't even highlight copy paste code in the docs.

Wes Bos

payment methods, On they'll throw it on the dark web.

Wes Bos

Jeez. The entire doc site, which just like, that stuff is really frustrating,

Wes Bos

And I was very excited. I enabled it, but it's not available in Sanity, not available in US. It's, like, only in Europe or some weird Never mind. Thing. So to to see if they're still still valid or not. And then they'll go sell that list of of credit cards saying, like, yes. They work.

Scott Tolinski

and then they Yes. That's, like, the weirdest thing. Sending money by just giving them your bank details is very odd. That that's actually wild to me. Like, yeah, everybody else, it's just like, I'll let Braintree handle it and take care of the taxes how I need to, shoot it all to you know? For me, when I had a business like this accepting payment from all over the world, I left that stuff up to my accountant.

Wes Bos

Yeah. In The States, you guys have this thing called ACH. And

Wes Bos

those numbers are having audits and and getting approvals of their servers and and all that. It's it's pretty tricky.

Wes Bos

I redid mine, and I think I have the option of something like 20 different possible

Wes Bos

all you have to do is give them, like, a void check, and then you just take money out of your account. Like, how is that allowed? How is that allowed? Yeah. And, like, those numbers are not secret. They're on your check that you give to anybody. I haven't written a check-in years, but, like, eight, ten, 12 percent on some of these.

Wes Bos

somebody who had written an example their stuff. They had, like, a million SDKs. They had, like, a JavaScript SDK and a Node SDK and a Python and PHP. They, like, nuked and those can be handy if you and then that will Stripe has a whole webhook API. For example, if if somebody's marks had to, like, put some CSS code that was, like, leaked to global and disabled selecting I had to write it twice.

Wes Bos

almost everything, and they're just cleaning up all the crap, which is so good because when you googled anything for PayPal, you would just go on this, like, you know, kinda tweak them here and there to match what my CSS looked like, but it's essentially just iframed in inputs that live

Scott Tolinski

given that there's a lot of different, The API call is,

Topic 3 02:38

Overview of payment processors

Wes Bos

forward, the most developer friendly. It's By far. Yeah.

Scott Tolinski

once I I wanted to get more serious about it, I moved it to Braintree. Reason being in Yep. And your shipping information, whatever, and that sends that to the payment processor.

Wes Bos

is big in the space as well. And then there's, I don't know, there's millions of millions of other ones that are are out there. Stripe is the most developer

Wes Bos

and then

Wes Bos

it's kinda kinda complex.

Wes Bos

can keep things likely, you wanna create a database for the u put the user in the database. You wanna send them an email with their product, give them access, etcetera.

Wes Bos

Stripe is probably the biggest one out there.

Wes Bos

complex in the last couple years.

Wes Bos

Gotten incredibly a gift card to a local goat farm because they're like, we're gonna do it.

Wes Bos

But you have to pick a pick a payment processor or pick multiple payment processors every country that is out there. So what they will do is they will not you want to attach additional information to the user last

Wes Bos

are another option out there. Square is is another one that seems to be gaining quite a bit of momentum.

Topic 4 23:19

Instant and delayed bank transfers

Wes Bos

things like that. I asked on Twitter, like, what people's thoughts are on this.

Wes Bos

Different wallets. Apple Pay was one of the main reasons for me was I wanted I love when websites have Apple Pay. It's so simple. You know? You just look at it, double tap, and you don't have to put your credit card into some sketchy website.

Scott Tolinski

Again, we've been using this tool for a long time, and it totally rules. Alright.

Wes Bos

was that acts as a merchant of record, meaning that died, Europe. They have this, like, secure two three d or two d secure.

Wes Bos

of Apple Pay and Google Pay for you. Which is a good thing because Apple Pay Yeah. I've I've had some some crazy calls. I had one

Scott Tolinski

friendly

Wes Bos

for when it is accepted. So if somebody were to buy something and do a bank transfer,

Wes Bos

but sort of, like, put them on on ice for a little bit. And then when Stripe does get the money, they will ping your server via a webhook,

Wes Bos

add those domain names Yep. And then you have to put, like, a special you build and you wanna track it, like, the entire way.

Wes Bos

that will send a webhook to my server, and I'll immediately disable that account. There's a whole bunch of that type of webhooks out there, which are really handy. Yeah. Totally.

Scott Tolinski

You don't want a production application out there that, well, you have no visibility into in case something is blowing up, and you might not even know it. So head on over to century.i0/syntax.

Wes Bos

And if that's the case and you still want to accept them, you need to set up a webhook URL, just because app,

Scott Tolinski

sucks to set up. They're like, Apple Yeah. Has to be the least

Wes Bos

a a charge as, like, fraud,

Wes Bos

to test Apple Pay because I needed to run it locally, but it had to be on a So they want you to click a button and redirect you to some totally different website like checkout.stripe.com it again for for PayPal. So

Scott Tolinski

you'll want to check out Sentry at century.i0/syntax.

Wes Bos

you have to then create their account And then once So you confirm it. You can confirm it server or client side. And then once it's then confirmed, you selling it in that country.

Scott Tolinski

web platform, you know, out there. The amount of hoops that I had to jump through to get Apple Pay going was just

Wes Bos

public facing domain name in order for Apple Pay to to work even in test mode. And if you want to see all of the errors in your application, Stripe also has this concept of, and you are allowed to then dispute it and you can provide all of this information.

Topic 5 09:44

Types of checkout experiences

Scott Tolinski

We went to their place, and we're like, so when an order comes in, and have that thing just have everything in one place, I like it. I like it a Scott. And that that, makes me really you know, I have fun feelings for,

Wes Bos

which is

Wes Bos

to sort of avoid that. But let let's talk about the possible options for for checkout first. So you can either have it has to be on a confirmed domain name. So it will not work on local host, and it will not work on any domain name that is not confirmed.

Wes Bos

a embedded checkout,

Scott Tolinski

like, hand rolled ecommerce solution that somebody had built for them in the nineties or something to a Magento based site. This was back in 02/2011.

Scott Tolinski

this information

Scott Tolinski

if Her name is Courtney Grow, I believe. My wife's name's Courtney as well. So but her name is Courtney Grow, and my wife sent sent her the same message. She also blocked my wife, for just being like, hey. You might not know this, but you're actually scamming people. Block,

Scott Tolinski

the the wrong thing to do is take their credit card information,

Scott Tolinski

what now? You use those as the same implementation.

Wes Bos

So I can't use Stripe's coupons because I've got custom logic, and I I don't wanna have to reimplement What are your options? How do you even approach this type of thing? We are going to break it on down. I rewrote my whole checkout flow maybe about six months ago.

Wes Bos

touch your Vercel, and there are a few things you can do

Wes Bos

I have a custom custom coupon input. You know? And and Stripe has coupons, but I also need PayPal.

Scott Tolinski

somebody submits an order online, like, what's the flow like right now? And the guy's like, well, it sends me an email with their credit card number, and I type it in my machine and charge it. And we were just like,

Scott Tolinski

to handling

Scott Tolinski

yeah. You can't do that. So these these checkout flows are designed now to make that process as nice as possible for you. As a rule of thumb, you never ever want to have

Scott Tolinski

operation

Scott Tolinski

in a correct, secure way.

Wes Bos

I framed into your actual website.

Wes Bos

the HTML, CSS, and JavaScript yourself.

Wes Bos

a custom checkout is or even just like a disgruntled person, Mhmm. But if you're selling it in your currency and it's being converted, there's if you need to pay taxes in those countries that you are selling to, And man, oh, man. Like Mhmm. Personally, Yes. Exactly. You don't you don't want any of that, that happening. So that's another option is is doing a custom checkout and then simply just iframing in the bits that you want. And then the other one, which is what everybody wants you to do, is the redirect checkout.

Scott Tolinski

only because you're sending something that is secure information.

Topic 6 04:01

Experience with Stripe and Braintree

Scott Tolinski

of things for PayPal, which I just didn't feel like I wanted to do. And so Braintree allowed me to essentially

Scott Tolinski

I that would have been nice because Stripe working with Stripe was infinitely better than working with Braintree, but then I woulda had to have a whole second implementation

Scott Tolinski

change the end date to be this current month, and then resave that. Like, there's no pause or cancel or whatever. It's like, I gotta manually look through this data. I there's an opportunity for for something to get messed up there or whatever.

Scott Tolinski

there's no API call to pause or cancel someone's subscription.

Scott Tolinski

is that we had a lot of people who PayPal was an essential thing for them,

Scott Tolinski

and they needed PayPal. And so for me, it was either support Stripe and PayPal separately, which Yeah. It is a hard one. Yeah. I know. There there's a lot of predatory things you can do out there, and sure, many of them might work. Wes gotta

Scott Tolinski

you know, the the famous example I use, when talking about the why it's so painful

Scott Tolinski

And so I made that made that change, but, like, Braintree's API is just kind of not designed to be friendly. It's designed to just, like, be functional.

Scott Tolinski

subscription information.

Scott Tolinski

oh, get their current,

Scott Tolinski

is that

Scott Tolinski

But,

Scott Tolinski

That whole flow was able to be done in a little bit more connected of a way.

Scott Tolinski

and and this very well may have changed by now. I haven't touched Braintree in a year and a half, but I doubt it. If you were doing a subscription based flow

Scott Tolinski

and you want to cancel someone's subscription, how hard is that? Yeah. And I complained to customer support about that one time just being like, why doesn't this just exist? And they're like, well, you couldn't use these following services, Recurly and whatever. I'm like, well, they take another percent cut off the top. Like, that that's just what they do. They wanna provide low level tools, and they don't wanna make it easy on you. So Yeah. Stripe is kind of an interesting game where they are both providing the low level tools, but they also are providing

Scott Tolinski

There's too many opportunities for something to to to get wrong. But it's like, why can't you just give us a simple method that says cancel or pause? Like,

Scott Tolinski

Now

Topic 7 00:00

Transcript

Wes Bos

or at if you want full control, in in my case, I still wanna accept Stripe and PayPal at the same time, or if you wanted your own coupon system, that type of thing, then it makes sense to trying to get new couriers added, things like that. And I've been a big fan of it, but I actually am

Scott Tolinski

how much money you're going to lose on any given transaction.

Wes Bos

how much money, you know, or if you have to hire an entire engineer at somebody took their shoes off and put them back in the box or Mhmm. I'm not buying shoes, but, like, they just clearly put the broken one back in the box and sent it back.

Scott Tolinski

accepting money on the Internet because Shopify stores. And then the interface is so

Scott Tolinski

With me, as always, is Scott Tolinski. How are you doing, Scott? Hey. I'm doing good. And let me tell you, Wes, one of the best parts about working at Century is that I no longer have to deal with Yeah. It's all complex, and I I don't I have thankfully, I've never had to deal too much with any of that.

Scott Tolinski

of

Wes Bos

I don't know, two months of your life building a totally custom checkout. But if that two months of your life is worth and description of what the person is is purchasing.

Wes Bos

Welcome to Syntax. Today, we're gonna talk about accepting money on the Internet. You're building an app, and you need to start accepting money from people.

Wes Bos

Yeah. And in a lot of cases, it's worth it. You can either spend, are in charge of what to do next because,

Scott Tolinski

when you are accepting payment.

Wes Bos

how things are done Wes were fairly different.

Wes Bos

And you probably wanna choose something somewhere in between depending on what you're doing.

Wes Bos

When you are going to be accepting money on the Internet, you need to pick a payment processor, which is a

Wes Bos

however much. But at a certain scale never will win it to a point where it's just not worth even even fighting them unless it's clearly somebody trying to pull the wool over your eyes. But if it's legitimate fraud Parcel is really good.

Wes Bos

So I thought, like, let's break it down into all the different parts One thing that's very popular now is these, like, buy now, pay later, Klarna, Afterpay, text file somewhere on your server, and it will then reach out to the server, look for that file, and then come back. So I actually ended up using Cloudflare tunnels used, 2,000 kilometers away, or,

Wes Bos

$200

Wes Bos

a year to to build this thing, whatever country you are in and and whatnot.

Wes Bos

I was on Stripe. I still use Stripe, but the and whatnot. And then they also have data about, like, this credit card was used Depending on where you are, what the rules are, and then you put it put that payment intent into your checkout, and that will then render out,

Wes Bos

So my name is Wes Bos, developer from Canada.

Scott Tolinski

The more a platform does for you, the more money they're going to take per transaction

Topic 8 29:50

Merchant of record services

Scott Tolinski

this is what I wanna say. I I

Scott Tolinski

your scam here.

Scott Tolinski

these these are the easiest easiest ways to get going. In large part, I think they're a good idea for a lot of people. Have you seen, you know, beacons.ai?

Scott Tolinski

book, but it's actually, I I was so sick of just going through and having to click on the email and check the thing, and Wes don't have shipping information for you. I'll go to the email, check it, whatever. It's like, oh, I gotta do all that process, and I I feel like I do it way too much.

Scott Tolinski

And I reached out to Beacons on LinkedIn. I I followed the CEO who had a mutual. So I reached out to him on on LinkedIn, and then I'd sent them a message or whatever. And they took it down, like, instantly. So Scott out to beacons for actually

Scott Tolinski

coming through big time there. So That's great. Wow.

Wes Bos

One other thing to talk about is is, like, handling fraud and and handling disputes.

Wes Bos

ESLint the checkout.

Wes Bos

They have set use Stripe directly, but they will use a service I guess pnpm area we didn't touch upon is you get immediately get docked $15,

Wes Bos

not me, that is well worth it, so they don't have to fuss with with that, and they hire an accountant and all that type of stuff.

Wes Bos

Stripe or Lemon Squeezy is going to be selling it on your behalf.

Scott Tolinski

My my wife got scammed out of a an AI book. There was an influencer she was following pushing a book that was clearly written by AI.

Scott Tolinski

And so because it was somebody she's followed for, like, six, seven years, she's like, this book looks good. I'll buy it. She bought it, and we were both looking at it like, not only was the author clearly fake, but, like, when you're reading it, it's, like, very clearly bad, disjointed,

Scott Tolinski

I remember. They now have the same thing because I I was on something the other day, and it Wes, like, took me to a Beacons merchant. And I was just like,

Scott Tolinski

like, not. And it was it was garbage. And so we mess I messaged the influencer personally. I said, hey. Just so you know, you're hooking this,

Wes Bos

cut they take is extremely high. I've seen, like, 10 the checkout from we'll use Stripe as an example. The checkout from Stripe, probably should've checked a little closer that my bad. You know?

Scott Tolinski

one, it's a scam. It's written by this AI author. It's not real. She blocked me. She straight up blocked me. And then Courtney name there, Scott. Oh, man.

Scott Tolinski

I wanted to get this off the Internet because it was a big scam, and she was pushing it to all of her followers and stuff. Yeah. And because she was such an to me, I was like, you know what? I know you're getting a kickback for this, so I'm gonna get this taken down. That way, you you don't get your kickback for,

Wes Bos

But for a lot of people, still, now if you go to the gym and you wanna set up, like, pre authorized debit, You cannot avoid it in some use cases.

Scott Tolinski

which that's crazy. So the good folks at Beacons, Now

Topic 9 26:06

Buy now pay later services

Scott Tolinski

weird to me, but I've I kinda, like, have

Wes Bos

If anyone wants to bring I want a goat so bad, actually. One day in my life, I'll have a goat. You could toss, to a point now where I order my sushi, and it's like, would you like to pay over four weeks for $2.36 you are technically

Wes Bos

a, a bunch of goat goat coffee and, every aspect of the labels and the inputs. There was not a single piece that I was not able to to find out. I still had to, like, match them,

Wes Bos

cannot afford it. But a lot of people said they simply just use Afterpay and whatever

Wes Bos

the examples big examples of these right now are Lemon Squeezy, Gumroad, and Paddle. And Stripe bought Lemon Squeezy

Scott Tolinski

toss out that, Yeah. Totally.

Wes Bos

as a credit card, and they pay it off at the end of the month. I don't know if that's the case for

Wes Bos

it's kind of complicated

Wes Bos

accepting the money is one thing, and dealing with taxes is another.

Wes Bos

the industry now where you I have not enabled it on yet just because I have yet to find a a convincing argument for it. The, like, money making guy in me wants to just turn it on and and have people pay however they want. But Yeah. Money go bird. Yeah. Yeah. It's it's a hard one.

Wes Bos

like, people are taking them to try to get a better Bos. So, like, maybe they should should be financing it. Maybe they shouldn't be. And some people said in different countries, it is very common. People use that instead of credit cards in some countries. Other people say, like, they have some family members who have gone severely into debt.

Wes Bos

it's kind of fuzzy

Wes Bos

you can just set it up. With the exception of PayPal, people can pay in any way they want. And I said on a podcast are just collecting to see. And he's he DM'd me. He's like, dude, that was me. I'm so sorry. It was out of all kinda bad, but it was it was funny to see. But they were PayPal's really working on So you can submit, like, server logs and all the proof that you have. I think once

Scott Tolinski

Yeah. Right. Yeah. No kidding. I I don't know that. Yeah. That feels we've seen behind the scenes a little too much. We're very too technical occasionally, and we're just too handsome to really, have a good handle on how to do, the things that normal folks are doing. Right? So yeah. Yeah. No. I I agree. Anytime,

Wes Bos

But for a lot of people,

Wes Bos

for a lot of indie makers, people who are developers trying to sell something, I'm not gonna go into that it to the customer. Yep. And then Stripe will simply just pay you a cut. The

Wes Bos

when selling digital products.

Wes Bos

gotta know where you're at. Yeah. Totally.

Wes Bos

Because hot potatoes it to Stripe, and then Stripe comes back with the payment intent to your server. Your server sends it back to the client, which is kinda complicated.

Wes Bos

And there's all kinds of different ones. Obviously, PayPal is is another Node. AliPay, start to think about what your your checkout looks like, which is the the next step that we have here. Actually, before I even get into that, you used I used Stripe. You used Braintree. Right? Yeah. For a long time. Yes. And I'd used Stripe before that, actually, Wes. The first version of LevelUp was built on Stripe. And then,

Wes Bos

your cabin. Yeah. Just use the goat. Let's talk about merchant of record. So this is type in your phone number and and then just check out.

Scott Tolinski

I will accept payment via goat. That's that one, man.

Wes Bos

many years ago, if somebody wants to pay me in a goat, I'll take the goat. And Stripe actually sent me these, like, Amazon return stores every now and then.

Scott Tolinski

giant, John Deere tractor you got up at your,

Scott Tolinski

I said that on a podcast.

Topic 10 15:43

Benefits of standardized checkout UIs

Scott Tolinski

like, you can observe somebody using your app, your site, whatever, and seeing how they use it or seeing what they might expect there to be there like that, it can help you. This is one of those cases.

Scott Tolinski

Yeah. I mean, I I I think it's hard to get a handle on how people use these things sometimes because

Wes Bos

So is when people are typing into that box, it looks like it's on your website, but it's it's technically on Stripe's website. Yeah. And because of that, you do not need to follow all of those

Wes Bos

are, I don't have my credit card. It's it's upstairs. I'll check this out later. You know? And if you Yarn selling a digital product in somebody's local currency, dispute it. So it's PayPal is getting better. I know I've said this for many years. It is getting better. I've talked to quite a bit of people at PayPal

Scott Tolinski

websites that use, like, just a really nice experience.

Scott Tolinski

unless you know exactly what you're doing, yeah, just use one of these iframe, flow

Wes Bos

it's really nice. I I, for the longest time, thought, Node one no one's using this. I'm gonna turn this off, but I was very surprised that how many people actually use the

Wes Bos

Yeah. And, like, unless you're, like, a major, major corporation

Wes Bos

something like that, you might wanna do that. But most people listening to this podcast are probably not gonna be on the Stripe Vercel. And

Scott Tolinski

Yeah. Yeah. Totally. I I do. So I use it. I,

Scott Tolinski

solutions.

Scott Tolinski

You mentioned, like, custom checkout. You can do it in just a straight up form on your website, but, like, the rules around that if you're not iframing it in are, like I said, with PCI compliance, way more intense. And you probably don't want to do that. So,

Wes Bos

and it's very similar Wes if you put in your phone number or email address, If something changes, like, for example, somebody inputs a and I've emailed the developer probably five or six times over the years at like, reporting bugs or, it's still not totally gone, especially if you're selling low item values. You sell something for 3 or 4 or $5, hundreds and hundreds of other ones I've I've lost. And

Scott Tolinski

I just

Wes Bos

Yeah. Talking about your you're talking about Shop Pay. So Stripe has one called Stripe ESLint,

Topic 11 12:33

Custom checkout with iframe elements

Wes Bos

Very easy. You don't leave, but it's not flexible at all. You've got custom checkout, which is kinda best of both worlds, and then you have the redirect checkout, which is by far the simplest because you don't have to fuss with any of that. You simply just

Wes Bos

Another one ESLint

Scott Tolinski

Shopify does so well because people Yes. People know the Shopify input. You know? You know what? When I'm buying something online and I hit that shop pay that's what it's called, the shop, whatever the the little, like, widget JS, and then it goes all my details across different, you gotta issue a chart like, a a fraudulent chargeback, which actually hurts me instead of, like,

Wes Bos

Yes. But the credit card input, the billing address, a couple of those,

Wes Bos

data, and then you put that alongside your your regular HTML form inputs.

Wes Bos

And you can style I was very surprised at this.

Wes Bos

the sensitive inputs are are iframed in. And on my website, you cannot tell that it is an iframe.

Wes Bos

or whatever, then you do all of the payment stuff, and then you they redirect you And, like, sometimes you get stuff where it's clearly Authorize.net they might not have everything you want. So in my case, And I find that these random tiny little carriers are not as well covered.

Wes Bos

And when I possibly can, I can I can use pop ups? So, for example, when you wanna pay with PayPal, to sort of build your own. So let's start with payment processors.

Wes Bos

But if when possible, I like to keep the person on the website just, like, rabbit chase Oh. Of of trying to find what you're looking for. But, like, PayPal is and then you create a payment intent.

Wes Bos

that can be used for inputting customer, I've, like, sent that sort of absolves you from accidentally having an input type of number and and name of credit Yarn, and then somebody submits it accidentally, goes to your database, then it's in your logs. You know? You don't wanna have to do that. Sanity.

Wes Bos

back to the website. I don't love that experience.

Wes Bos

In many cases, you can iframe in that. And then in some cases, you still have to redirect to their bank and come back. So you you do have to be set up for both of those. You know? You have to be able to handle somebody leaving your website and then coming back, and then you lose all state. If you're holding state in in JavaScript, you're kinda screwed, so you gotta save that on the server.

Wes Bos

you just generate what's called a payment intent. We'll talk about that in a second, and then redirect them to a different URL. I don't love that because you it it just looks like a regular Stripe pnpm. But then again, I

Wes Bos

don't know. People like standardized inputs. There's a reason why

Share

Empowering developers for over 286200453707 milliseconds!