15 or so years ago, my manager at WalMart Stores Information Systems Division was previously a programmer on one of the many finance related teams. Specifically, she worked with gift cards, and one time I asked her how different state laws affected how much money WalMart could recover from those cards. She was delighted to elaborate!
I don't recall the particulars of the answer, but it was eye-opening. She said that they had a team of lawyers whose job was to (try to) keep track of all of the laws, all over the world, that had any bearing on this topic. Not only was it state and federal law, but also county and even city law. (And territories...and military bases....etc.) There were some stipulations about where the card was bought AND where the card was used, if in different jurisdictions. Many of the laws were contradictory. In some cases, none of the money could be reclaimed, and would revert to different local funds. There were effectively endless permutations.
She and her team had to decide what of all of this they would model with code. They could not model all of it, so there was a hybrid of some actions being taken with the code, and the code outputting reports that humans would use to make decisions about actions.
It was eye opening to consider how legally complex many such 'simple' things, like gift cards, are when implemented on a wide scale.
> It was eye opening to consider how legally complex many such 'simple' things, like gift cards, are when implemented on a wide scale.
To the armchair HN community who ask "why does it take 1k engineers to run <insert random silicon valley app that operates at global scale>". Here is your answer.
Note - to be fair, yes many of these team are indeed bloated and work on projects that are a result of NIH syndrome, where "buy vs build" decisions just automatically default to "build". Ask anyone at Amazon if they enjoy working with the code on their custom internal ERP system and you'll know what I'm talking about.
> To the armchair HN community who ask "why does it take 1k engineers to run <insert random silicon valley app that operates at global scale>". Here is your answer.
I think the usual question isn't why a random SV app yas 1k engineers, but why does it have < 100 engineers and 2k+ administrative and sales&marketing people.
The answer is the same, but let's be clear: this is not an engineering job. It's legal and sales job.
I don't think many really say that about monsters like Amazon. It's usually these very limited in scope and functionality like Twitter that boggle the mind.
More generally, reality just gets more nuanced as things go broader or deeper in scope. Toy projects are clean, uncluttered; production code needs error handling, logging, monitoring, scaling, and much more.
And, even more generally, it needs to be promoted and sold, money collected, customers supported, taxes paid, partners engaged with, events attended, people hired, people managed, their expenses reimbursed...
Not from the tech teams, but I used to be on one of their ops teams working with ERP system. Having quite some experience with SAP before and since I came to the following conclusion:
- Amazon's ERP is way better suited for e-commerce ops than SAP
- SAP is much better as an overall ERP system when it comes to include non-ops / warehouse management functions
- Amazon's ERP system became hard to adopt and change, meaning it kind of lost the general advantage of a custom system to compared to an off the shelf one
- One of the biggest advantages of Amazon's ERP was the full integration of the webshop front end
- One of the biggest mistakes Amazon made was to not develop their ERP-webshop systems into a stand-alone product (imagine Shopify with a arguably very good e-commerce ERP system)
Let me elaborate on the last point. The big strength of commercial ERP systems is that they are to large part a readily available collection of best practices from countless companies. By keeping it all in-house Amazon lost that opportunity to learn. IMHO it is not the system that gives Amazon the edge but the way it is used, so incorporating eyternal best practices coupd only help. Also, from the commercial side, it is one gigantic missed opportunity. Imagine a SaaS version of Amazon's ERP running all the shops currently using stuff like Shopifyone that is used by countless small stores as a point of sale software with integrated inventory ans warehouse management functions. That would allow Amazon to create a global, decentralized ERP environment fully integrated into any existing or future fulfillment solutions Amazon has. The upside for Amazon and users of such a system are basically endless.
Anything anything involving money is complicated to a fractal degree. I worked on a system to populate data into an large (well-known international) retail site's order database. Representing the simplest possible concept of "this order had no sales tax" took 18 rows across 4 tables. The complexity was due to similar things you point out - the system had to support combinatorically large numbers of cases and even the concept of "nothing" had to be encoded in dozens of different ways.
This is exactly how I answer the folks from the crypto community that make a serious run at the argument that crypto could be a feasible alternative currency.
Things like gift cards are, for all intents and purposes currencies, minted by non-governmental organizations with dollar-parity and limited transferability - and even with those constraints it's incredibly difficult to actually play nicely with Federal/State/Local laws.
If there's one thing governments have ZERO tolerance on it's messing with currencies/money.
I'm curious if a rules engine [1] could be used instead of implementing the logic in code for something this complicated?
Could fuzzy logic be used to build a case when the laws become contradictory? Maybe after the case is built it could be passed on to legal counsel for approval.
Having worked with these sorts of tech/libraries before... they do little or nothing to solve the hard parts of this kinda problem, like:
a) actually obtaining the requisite knowledge of all the jurisdictions involved,
b) encoding the relevant knowledge to make it useable in a rules engine, and
c) understanding and verifying the intent and interactions of all the rules as expected.
In practice, rules engines are almost never more useful than just coding things up normally in the language of your choice when encoding/building the logic for your product. You just have a few business rules that change within your company via conversations, projects, and people involved.
What they're actually useful for is when your product let's your product's users build up logic in some way that you need encoded and executable. In this case the rules are data from your customer. Think a state machine for a Jira ticket/help desk work flow that your customers define, or some workday process that walks your customer's users through new hire onboarding.
One use of Starbucks gift cards not mentioned in the article: cashing out foreign currency.
"When you’re leaving a foreign country and still have some of the local currency, take it to a Starbucks and load it onto a gift card. You can use the card later in the UK, USA, Canada, Australia, Mexico, and the Republic of Ireland."
Just be cautious here... in some countries, Starbucks has to operate as a seperate entity and use a different gift card system. For instance, Malaysia Starbucks is a different entity and the gift cards do not work between other non-Malaysia Starbucks. (At least when I was there a few years ago.)
> Starbucks Cards issued in Brazil, Germany, Italy, France, Japan, Korea, Malaysia, Philippines, Portugal, Russia, Singapore, Spain, Taiwan, Thailand and Turkey may only be used in the market from which they are issued.
When the German Starbucks company (which actually is a Polish company Amrest Coffee) gives out a gift card an independent company in another company doesn't have to take it. They are just sharing a brand, but are different legal entities with independent ownership. (Franchise)
But even if it were the same company they could give out gift cards valid only in a single shop or something. Conditions have to be clear, though.
From the link I sent: “Starbucks Spain S.L. currently operates 90 stores in Spain and 11 stores in Portugal and plans to open 12 new stores and undertake integral renewal of 10 existing stores in Spain in 2016.”
The point is that “Starbucks Spain S.L.” is completely unrelated to “Starbucks Coffee Company” apart from licensing the brand from them since 2001 (I think it was a 50/50 joint venture until 2009 and later Starbucks had a non-controlling stake in 2013-2016).
So they don't charge any explicit foreign exchange fees, but
"Currency conversions are based on currency exchange rates applicable on the date of the Transaction." Well can't they just use a super advantageous measure there? There's no pinning to any external rate in the language.
~30 years ago I was shift manager at a Burger King, outside Detroit. Being close to Windsor, we'd get... probably 2-3 transactions per month where people wanted to use Canadian money. Not a huge deal really - at least at that time, Detroit folks were at least accustomed to seeing it, if not accepting it. The exchange rate was generally ~80c USD to 1 CAD - it fluctuated - sometimes as much as 90c, sometimes below 80. Our store policy was we'd honor $1 CAD at 75c USD.
Most people didn't complain, but now and then someone would complain - "I can get 85c at the bank!". I'd reply something like... "you're free to do that, but it's 9:30 on a Saturday night - we're about your only option - most other places aren't even open, and the ones that are might not take your CAD at all". Oh, and many of the banks wouldn't exchange $ for you unless you were a customer. All that over a $10 meal for 3 people. The difference of an entire potential dollar.
It was my job to bank the money, and we'd end up getting odd reconciliations days or weeks later indicating that that $1163.45 we'd deposited on April 16 was really $1164.32 because of the exchange rate we got when the bank processed the deposit. We probably 'made' $100 in arbitrage for the whole year, but people would complain about it sometimes, that we were 'ripping them off'.
They have a captive audience. They literally only have to provide a rate that's roughly equivalent to the usurious "last chance currency exchange" counters at the airports.
Heck, since probably no one is paying attention that closely to their statements, they could provide even less favorable rates, and simply issue refunds to anyone that actually notices and complains, and still make more money that way.
Right. Particularly, they aren't trying to sell services to people price shopping for forex, is an incidental convenience provided to a customer base that literally isn't even checking prices.
Why you'd assume that the rates will be especially favorable is unclear.
Lots of places that do currency exchange don't charge explicit exchange fees, either, they just have different exchange rates for each direction, the “exchange fee” is just (roughly) half the difference.
Useful tip, thanks! Related is sending Amazon gift cards from the Amazon of their country to people who live in a different country, so that you can effectively send cash without actually sending cash or requiring the receiver to sign up for Paypal etc. The only gotcha is you have to do it using the flavor of Amazon that is the receiver's Amazon, but since Amazon ports your user account and payment information between different Amazons and lets you use your native currency to buy Amazon cards in a different currency, it works.
Which is also why Amazon is one of the most popular money laundering sites. Buy goods with stolen cards, ship them somewhere, resell for profit (both gift cards and real merch)
Even at a small-scale legitimate level, Amazon's useful as a sort of pseudo-cash/petty change bank. They're often a good way to cash out reward points of various types or as a "bank" to convert things like Visa gift cards so you don't need to keep track of them.
I have noticed though that Amazon seems to have recognized that people like them for this sort of thing and their point conversion rates often carry a bit of a premium and certainly aren't as good as you can get from some more niche retailers.
This is how I get around taxation of my bitcoin. I went outside the US and bought $35k worth of Starbucks gift cards. I mean I'm hyper-caffeinated now but at least I didn't pay taxes. PS... I think I can see through time!
Be aware that I believe they have some sort of currency pinning to the country that you opened the account in. I opened mine when I was in Ireland, and when using it in the UK occasionally I see € amounts in the app (usually notifications), even though I haven't used it in a € country for a few years. I've also seen my balance varying in £, even though I've only topped up in £. I'm not a heavy user so I haven't dug into it too much (and the rewards make up for the odd penny here and there).
As for Wayne, while he may earn an implicit interest return in the form of Starbucks points, by forgoing a card payment he's giving up on the associated cash-back or airline points.
I don't agree with this. While merchants pay interchange fees based on the value of card transactions (plus a flat rate per transaction IIRC), as a cardholder rewards are earned only as a percentage of the total purchase, and are not influenced by the number of transactions.
So I earn 4% back on the value of all my Starbucks transactions, regardless of whether the purchase is made via the app or my card. I am willing to forgo a couple pennies in interest on my rolling $15-20 balance to have the convenience of mobile ordering.
If you use the system efficiently, I see it as a net value add as a customer.
Yep. And you're still getting any special merchant-specific rewards the card company might offer you. I just reloaded my Starbucks card using my Amex, and Amex had a promo that offered a 10% credit back on Starbucks purchases, up to $5.
So I threw $50 on my card, I get 10% off the coffee, and earn back a bit on the Starbucks reward points.
I thought the same thing. I fill my Starbucks balance up with a credit card, and I earn points on that. And that money is basically a 30 day free loan anyway. It's basically a leveraged investment payable in coffee with almost zero risk.
I've always thought that the main reason for Starbucks to push their card and reward program is to save on per-transaction credit card fees.
By my understanding, in the US, typical merchant fees to accept a card are a flat $0.20-$0.30 transaction fee, plus 2-3% of the total dollar amount.
The article mentions the interchange fee (the 2-3%), but for small purchases the transaction fee is more significant.
I assume the majority of purchases are individuals buying a single beverage. If an average drink costs $4, a $0.30 transaction fee alone is eating 7.5% of your gross revenue. That's an absolutely huge amount.
Even if Starbucks cards are bought/topped up with a credit card, that $0.30 fee is being amortized over $20+ worth of product instead of $4 worth.
I also figured this tied in with Starbucks' contract with Square some years back - as one of Square's value props is eliminating the per-transaction fee for credit cards. Not sure why that was cancelled, though.
> By my understanding, in the US, typical merchant fees to accept a card are a flat $0.20-$0.30 transaction fee, plus 2-3% of the total dollar amount.
That's correct, generally. But those can always be negotiated. And Starbucks probably has the volume to have some negotiating power. I'd be surprised if they didn't have a lower rate.
This is a great example of a HUGE competitive advantage Starbucks has over regular merchants that's very unfair. Smaller merchants don't get the scale advantages here...
Although, having tried Starbucks coffee, I have to say it's terrible!
Maybe it's the way it's made with an automatic machine and a disinterested barista, or perhaps the beans are over-roasted and mass produced in a factory. Just about any small coffee shop makes better espresso based coffee than them, especially in Sydney, Australia, where Starbucks continues to struggle to gain a foothold.
To be honest some of those smaller merchants can also make better coffee than Starbucks, and as such they can ask for slightly higher prices for said better coffee without their customers complaining.
No one goes to Starbucks for the high quality of their coffee. They go for convenience, maybe atmosphere (a safe comfortable place to hang for awhile), and such. But if you want great coffee, that is a trade off that doesn’t favor Starbucks (like a burger conesuire at McDonald’s).
>maybe atmosphere (a safe comfortable place to hang for awhile),
So I mean, coffee shops in general, yes. But at least in urban areas? Starbucks seems to be really well-designed to maximize throughput and profit; they have fewer seats, usually per cup of coffee sold than the smaller coffee places, and generally seem to be set up for 'to go'.
It's one of those things where if I look at it as an investor, I really like it, but if I look at it as a consumer, the opposite.
What urban areas? Seattle? No, downtown stores have seats, there are very few togo stores, heck the one near the library is pure plush seat forest (the one in Paris near the grand opera is like that also). You can’t operate togo stores at all in China, where your sales volume is strictly limited by the amount of seating you have (unlike the USA). Tokyo has the best seating I’ve ever seen in a Starbucks, maybe NYC?
mm. in santa clara, redwood city, san francisco and Los Angeles, Starbucks usually have few places to sit (compared to local coffee shops) - and are usually way busier (compared to local coffee shops) and usually don't offer mugs; they just have to-go cups (or bring your own mug) - while most of the nicer local places give you a mug by default if you say it's 'for here'
I mean, sure, they aren't 'to go only' - but they are impractical places to meet or hang out compared to most smaller coffee shops, just because they seem to have a much worse (or, I guess as an investor, better) ratio of customers to seats; a lot of time there are more people in line for coffee than there are tables.
I'm not saying they don't have seating at all, just that they seem to be optimized in a thoughtful way to sell as much coffee as possible, making them superior (if you are an investor) but inferior if you want a place to meet up with other people or hang out, when compared to the locally run and less-optimized coffee shops.
The part on "breakage" was interesting. I had recently searched my name on my state's unclaimed property bureau and found I had about $15 and change to claim.
I filed the claim form, and when I got the check, the checkstub said it was from an unused Starbucks account balance.
If last year they had $155 million from abandoned accounts that they could legally just pocket, I wonder how much they also had to send over to various states' unclaimed property offices.
The magic trick here is that Starbucks Rewards -- their "free" loyalty program -- requires using a Starbucks Card (virtual or physical) in order to make your purchases.
Under the old system (prior to ~Apr 2019) you had to make $150 in purchases annually to get "Gold" status, and then you got a free reward after every ~$62.50 in Starbucks spending. The new program has no minimum, and tiered rewards between $12.50 and $200 of spending.
That's important, but it's not really the core of why the Starbucks Card program is so huge.
I worked on the team around 2009, before the rewards program rolled out. The card program was already huge at that point, so the rewards are not the primary draw.
You can get a virtual card in the app and "pay" with it by loading on the exact amount you need to pay with before checking out (or just buying it in the app). So it "needs" a card, but that's really just a weird thing they didn't abstract from the app, it's not actually an inconvenience (at least to me)
As far as I remember, there is no way to load an exact amount, so you always end up with some spare change in the app.
I assume that this is somewhat of an incentive to quite a few customers: That almost-forgotten balance almost feels like a discount towards the next purchase, not so much as a free loan to Starbucks.
I keep wondering why people buy Amazon/Netflix Gift cards. Great, you converted 50$ into 50$ that can only be used on Amazon, and people may end up not using at all. This is also financing with negative interest rate.
1) Hitting minimum spend requirements for a credit card bonus or discount (e.g. 10% statement credit at [Store of the Week] with a max credit of $10 or something).
2) I have a Target credit card and almost everything in Target, including gift cards, is discounted by 5% if I pay for it with Target's credit card. That makes my Hulu subscription or Nintendo Switch digital purchases 5% cheaper in the absence of anything else.
It's actually fairly hard to get money onto those without paying a fee (if you don't have a bank account). Most of the obvious ways to get money onto them involve "Visa ReadyLink", and that comes with a service fee from $2 to $5. If I recall correctly, some even have monthly fees if they get below a certain level.
Amazon gift cards can be purchased without a fee most of the time, and with less friction in the store then actually dealing with the service desk in the store that does ReadyLink.
It's $50 that can only be used on Amazon, but for a lot of people that's a pretty small limitation, especially relative to the utility of being able to transmit it over pretty much any medium.
There are some practical reasons given in this thread. An Amazon card is about as fungible as you get. For me at least, it's even better than a cash card; these days I'll just put that value into Amazon anyway.
Amazon cards are pretty popular when companies have small dollar giveaways of various sort.
More generally, in a lot of circles in the US at least, giving cash as a gift is often seen as a bit crass. So, if you really don't know what to buy a person, a gift card is seen as an at least minimally thoughtful gift that lets the recipient choose what they want. Amazon admittedly tends to fail the minimally thoughtful test but that's the story with gift cards generally.
These days I fund my Netflix account using digital gift cards purchased through PayPal's eBay store, since they frequently sell them at a 15% discount.
If it wasn’t for that I would just pay Netflix directly.
As far as gift cards go Amazon are the most useful. I usually buy them from my friends for slightly less than their credit value. Win for them as they get cash, win for me as I'll definitely use it and I save some money.
> By the way this isn't true in California: by law all stored value and store-credit cards last for 10 years and can be cashed out.
Correction: cannot have any expiration date (not “lasts for 10 years”), service/dormancy fee, and (if purchased after 2007) must be permitted to be cashed out if the remaining balance is under $10.
Not so sure it's due to "coffee addicts" so much as the fact that Starbucks gift cards became the perfect, generic, gift. How many times have you been on your way to X, needed to bring a gift, and just run into Walgreens?
Starbucks coffee and espresso drinks are "will do in a pinch" for me. I'd much rather frequent a local coffee shop with better espresso than what Starbucks serves.
I think Starbucks makes more money these days from its sugary cold drinks than its hot coffee/tea/espresso.
I think that for all of their drinks but the coldbrew. They have solid cold brew and I've tried nearly every artisan coffee shop in DTLA and the valley
Yup, even Costa Coffee has decent cold brew. In my opinion it is very hard to make a bad cold brew, compared to espresso. You just take OK coffee and let it sit for 12 hours. Bingo. With espresso - in Starbucks the make the "american espresso" that quite sucks. It is large and burned.
Also Starbucks french press is pretty decent and good value for money, but it is on "secret" menu and you need to ask for it.
Yeah, I think so too, but for some reason higher end shops try to make special coldbrew and messing it up. It's not complicated. Just takes some planning.
Anecdotally, I've spent maybe ~$5,000 at starbucks in my life. I used a gift card for ~$25 of that and I have never given one as a gift.
For me, it is the predictable atmosphere, the AC, the WiFi, the coffee itself, the hours of operation, and the location convenience that draws my money, not the gift cards. I would be surprised to learn I'm in the minority there, as I figured I was a common starbucks demographic / customer target.
That may be part of it, but Starbucks has done a very good job of getting their regular customers to sign up for their loyalty program and online/app ordering, and to have them sign up for automatically replenishing (every time my balance goes below $10, load another $25) gift card accounts to use both features.
the default setting on the starbucks app on my phone is to automatically top up every time the balance drops below $10. So starbucks basically has a permanent $10 loan from me. I'm sure i'm not the only one.
actual gift cards given as gifts though are probably more likely to be used up and discarded, instead of being set to auto-reload and carry a balance.
When I used the app a couple years ago, it was to skip the in store line and it was forcing me to pay a minimum $5 or $10 for Starbucks credit, and then use that to pay for the $3 item I was planning on buying. Basically, asking me to pay $5 for $3 item since I go to Starbucks once every few years. I don’t know if it has changed.
>Keep in mind that each payment made through the Starbucks app is a payment that isn't made by credit card. Since each credit card payment will cost Starbucks 1-2% in interchange fees paid to the card networks and banks, the company saves a lot of money by guiding customers to its payments app
Most of those gift cards are purchased by credit card as well. This point is incorrect.
What's to know there? Obviously Libra will rack up loads of data on people's spending. Obviously any kind of financial middleman organization these days immediately invests money that it gets from clients for virtual bucks. (I'm surprised to learn that PayPal is limited in this regard, but maybe this report isn't the Singapore PayPal which serves European accounts?)
Back in 2012 I found an exploit [1] that let you fabricate card balances. They fixed it 2012, but in 2015 another person found the same issue [2].
I have no idea why they would not be using transactions, and make the same mistake twice. It really does make me wonder how much FAKE money is inside of that BILLION DOLLAR pot.
I also found similar issues in 2017 for their Thailand division. But this is at least understandable as Thailand operates its own Gift Card system.
> each of these companies could simply pursue their own independent stored-value liability programs. But wouldn't an alliance be better?
Obviously it woudln't. He even provides the evidence why not. People top up their starbucks because they need coffee every day - it's basically a subscription , but they dont buy the same stuff at walmart every day - and the cost levels are widely different. Something similar happens to virtual credits for different games - Experts will tell you that it is better to have a separate economy for each game rather than one unified economy - and you should not even allow players to pay each other. Same reason why stock photo sites want you to buy credits for each one of them, or why each newspaper wants a separate subscription. The "Breakage" breaks up when the economies are unified.
How would you launder money with starbucks cards? Sure, you can transfer balances with them, but that alone doesn't help you launder money.
According to the treasury dept:
>First, the illegitimate funds are furtively introduced into the legitimate financial system. Then, the money is moved around to create confusion, sometimes by wiring or transferring through numerous accounts. Finally, it is integrated into the financial system through additional transactions until the "dirty money" appears "clean".
I don't see how starbucks cards can be used in any of those steps.
>If you can fill one with stolen CC details and then either cash out in a store or sell for a discount, that's a pretty basic launder, no?
that just sounds like credit card fraud and fencing[1]. if you replaced starbucks card with something else that's valuable (eg. beats headphones), would you still call it money laundering?
Being able to cash out a gift card seems like an interesting way to get a cash advance on your credit card, without paying cash advance fees. Surely the credit card companies are on to this, and prevent it somehow?
There's a list of goods[1] that are classified as "cash-like" and are treated like cash advances when you purchase them. They don't really try too hard to crack down on this though, because there's little point. After all, you can always get a cash advance for free by going into a store and offer to pay for someone's purchase in exchange for cash (and a little discount).
I'm not sure how many jurisdictions force them to allow cashing out. If I recall correctly California law says they have to, but only for relatively low value ($10 or $5 ?) so not sure how effective that is. So I doubt the CC companies are too concerned.
Of course if you are selling them below face value and it wasn't your card, its a different calculus.
>then sell the gift cards for "clean" money at a discount from face value.
This seems to be a misconception about how money laundering works. The "cleaness" of money isn't an attribute of the bill (unless you robbed a bank and they recorded the serial numbers), it's whether you can plausibly say it originated from a legitimate source. Taking dirty money, buying starbucks gift cards with them, and reselling them doesn't help you prove you got the money legitimately.
If you sell them, you still end up with cash, and any transaction records isn't going to help you. "Oh, you got this money from selling starbucks cards? Can you explain where you got $10000 worth of pre-activated starbucks cards?"
The model of a laundromat is a cash based business with high margins. You'd "buy" $10000 worth of widgets from yourself, buy $1000 worth of "materials", dump/trash those materials (so they don't pile up), then claim $9000 of profit as "clean" money.
> They can also be used for money laundering, as a result.
Story time:
So, back in 2009, I'd just started working at Starbucks and my first job was to figure out some reporting discrepancies in online purchases of Starbucks cards. Basically, a report from the database on how many $$ of cards we'd sold didn't seem to match up with a transaction volume report from our credit card processor. And, as the new guy, I got stuck digging through stacks of classic ASP, layers of SQL Server stored procedures, and even some really old mainframe that I can't remember the model of. It was important to the business to figure out why these reports didn't match up, but it wasn't exactly a fun assignment that engineers were leaping onto.
Anyway, I eventually figured out that it wasn't a reporting error— we were truly "selling" more $$ in Starbucks cards than we were charging for. I dug through the whole process to see how this was possible, and found what it is still one of the most hilarious bugs I've found in my career.
When you got to the checkout form to buy a Starbucks card in any denomination, you had to fill out your credit card information. If anything you filled out didn't validate or we couldn't authorize your card, you would get an error message. It would ask you to correct the credit card information and resubmit the form. But, crucially, you didn't actually have to correct the information. You could just resubmit the form with anything you wanted, and some spaghetti logic determined that since validation & credit card auth had already been run once, it didn't have to be run again! Instead, we just created an order to ship you the product and didn't bother charging your card at all.
This bug was "leaking" probably over $100K in cards each year, for who knows how long. I still wonder if anyone actually figured it out and was exploiting it. It wasn't even "laundering" money, it was wholesale minting it.
The best part was a few weeks later, long after we'd fixed the bug. Someone from the IT security team showed up at my manager's desk with a lot of questions and pretty ready to walk "the new guy" out, and possibly press charges.
Turns out, while I was troubleshooting the bug, I'd accidentally submitted some absurd order. Something like 100 Starbucks cards, each loaded with $200 or whatever the maximum was. I guess I'd submitted it in production instead of the QA environment, and because of this bug, the order had actually gone through without charging me. It was a large enough order that it triggered a manual audit, and someone was pretty sure that I was just stealing from the company.
Talking them down was fun times, since they were pretty serious about the whole thing while my whole team was just cracking up :)
It's always annoyed me that buying a Starbucks coffee through their app (to skip the line) requires pre-loading a virtual card from your credit card, minimum $10 even if it's for just a $2.50 coffee.
Unlike most other apps (e.g. McDonald's) that simply run each transaction through Apple Pay.
Just by virtue of using the app, I'll always have some leftover money Starbucks will one day keep. (I'm not aware of any way to revert a balance back to cash.)
>Since each credit card payment will cost Starbucks 1-2% in interchange fees paid to the card networks and banks, the company saves a lot of money by guiding customers to its payments app.
i'm not sure this is true. they're definitely saving something on the interchange, but not 1-2%. reloading your starbucks card is done by a credit card payment, so they're still paying that percentage fee one way or another.
Yeah the savings would be on the flat rate (Stripe charges $0.30, who knows that Starbucks pays). Grocery stores, convenience stores, etc, are also not selling Starbucks gift cards for free.
Just today, I uncovered an old gift card from a dept store called Rich's, which apparently became part of Macy's. I have no idea how old the card is, but it has a year 2000 logo on it.
The card has a 800 number on it to check its status. So I called it and entered the card number. It was unrecognized. :-(
It was probably a $50 holiday gift to me at some point.
Shameless plug, If anyone’s building one of these cards, I made a wallet microservice (https://github.com/sudhirj/notecase) for a movie ticket site I work on (justickets.in)
It’ll let you track recharges, spends and balances for your customers, we use it for nearly a million customers.
The best way to go about this is to use your credit card to reload your starbucks balance, get points on the card and from the starbucks purchase.
Relatedly they've tried to sell me on the starbucks credit card but it's a 1-2% difference in rewards. (nto that I spend quite enough on coffee for it to come out to much, but it's the theory of it that's fun)
My Starbucks app is still linked to my credit card. So they must still pay the interchange fee...
Also why would Starbucks form an alliance with McDonald's? They compete in the same market. They both sell coffee and breakfast sandwiches... Would be a bad idea for sbux.
Yep -- Starbucks and similar typically hold these in big banks, who pay interest on the deposits.
They're called "brokered deposits" in finance, and they have all kinds of restrictions. Banks like them because they have predictable stability to lend against.
I don't recall the particulars of the answer, but it was eye-opening. She said that they had a team of lawyers whose job was to (try to) keep track of all of the laws, all over the world, that had any bearing on this topic. Not only was it state and federal law, but also county and even city law. (And territories...and military bases....etc.) There were some stipulations about where the card was bought AND where the card was used, if in different jurisdictions. Many of the laws were contradictory. In some cases, none of the money could be reclaimed, and would revert to different local funds. There were effectively endless permutations.
She and her team had to decide what of all of this they would model with code. They could not model all of it, so there was a hybrid of some actions being taken with the code, and the code outputting reports that humans would use to make decisions about actions.
It was eye opening to consider how legally complex many such 'simple' things, like gift cards, are when implemented on a wide scale.