Stripe September 21, 2020

Reward as a Service: Asking for Stripe advice about refunds 🤔

Aleix Ramon @AleixHere

I'm working on a new MVP, Reward as a Service: Set a goal, a deadline, and pay. Proof with photos/screenshots that you've completed your goal and I'll refund your money back.

This model would mean that a lot of transactions would be refunded, some after days, some after months. Are there any known issues with refunding a big amount of transactions with Stripe? Or is there any inconvenience you guys think I should keep in mind?

Thank you!

  1. 4

    By the sounds of your business model, if you can't charge the person, it's not the end of the world (who are the funds going to anyway?).

    I would say just capture their credit card for future use and within 7 days of when the fee would be decided, authorise the payment on the card. If they complete the goal then you can cancel the payment authorisation, if the payment authorisation fails, notify both parties.

    The beauty of this is that you're never actually charging them and don't need to deal with the complexities of refunds and the fees associated with them. Also I think your users would trust this setup more as they may feel like they have some 'wiggle' room to back out if commitments if they really need to.

    1. 2

      I like the sound of this - both from a user and a business perspective! Seems less risky

    2. 1

      You're totally right. This was my plan B in case the refund approach didn't work, but right now it sounds like it makes the most sense because it's simpler and more efficient (as you've pointed out). It's the same system StickK, GoFuckingDoIt or Beeminder use. If you fail, you pay. If you don't fail, nothing happens.

      Thanks for the links to the documentation, I'm already using it to build it. :)

    1. 2

      You're right! It's similar, as I wrote in another comment here. But there are two important differences between GFDI and Reward as a Service:

      1. In GFDI you pay when you fail. In Reward as a Service you pay at the beginning and you get the money back when you succeed. Similar thing, different approach.
      2. Also, in Reward as a Service there's an agent checking your proof (instead of you choosing a friend). In a similar post to the one you shared (https://levels.io/debriefing-go-fucking-do-it/) Pieter explained that almost half of the goals set in GFDI weren't marked as completed nor failed because the friend of the user didn't do anything. Having an agent checking the users solves this problem.

      And there also other (older) products going in that direction (StickK, Beeminder).

  2. 2

    Hey Alex, there is a better way to do this on stripe from our experience.

    You can 'Hold' funds by creating a payment intent but not capturing the funds until a certain time. The user sees it as a "processing" charge on their transaction statement.

    You can release the hold if your trigger isn't met.

    This means you need to be comfortable with the code and their webhooks but it's the most efficient way.

    1. 1

      Hi! Thanks for the input. This is a good approach, as others pointed out in other comments. It would be the same method sites like Beeminder, StickK or Go Fucking Do It use.

      From what I've learned so far from Stripe's documentation if you "hold" funds you have to process the payment within 7 days. For waits longer than 7 days, Stripe seems to recommend to use the "Setup Intent", which can be processed much later - and it's what I'm going to try :)

  3. 2

    Have you considered taking cryptocurrency payments? If you roll your own solution with something like Litecoin or Stellar Lumens your payment fees would be negligible and you could just send those coins back.

    Alternatively you could use uTrust and you would pay only 1%. But the beauty is your customers pay in regular fiat currency and you receive regular fiat currency. The fact that crypto is being used can be invisible to them. They just partnered with WooCommerce.

    1. 1

      Thank for the advice. I've checked uTrust and it looks like they only accept cryptocurrency from buyers, not fiat money (even if yes, the seller gets paid in fiat money).

      But I could still do it this way, accepting cryptocurrency. Still, the problem I see with this is that if the refund is done (let's say one or two months later) the value of the cryptocurrency could be lower than when it was purchased, leading to a possible loss. At least from what I understand.

  4. 2

    You can check Stripes restricted list of businesses to see if your business would fall under that. But yes, generally Stripe has issues with refunds and will see your account as a high risk account

  5. 2

    the only problem I see here is cash flow. I'm a small business, if someone buys an annual plan (for example) then that's great. But 2 months later I simply may not have the money to refund.

    1. 1

      I understand. The idea would be to make sure to keep the amount until they confirm that they've achieved or failed the task. Perhaps I'll also set a time limit, like 3 months max.

      1. 2

        Ok I think you'll find 3 months is a HUUUGE amount of time for small businesses to sit on cash without using it for... running their business.

        1. 1

          Thanks for the advice. I'll probablty keep it to 2 months and then decide based on user feedback.

  6. 2

    Instead of refunds, have you thought about doing something where you take the money (as if they were purchasing a product), and then you could use Stripe Connect (I believe this is it's intended use, paying out people [Like how Shopify is able to pay out store owners]) to pay them the money back?

    1. 1

      That's a nice idea. But on first sight, it looks like using Stripe Connect would be more of a hassle for the users (eg users would have to verify their identity to receive payments).

  7. 2

    [Not sure] You can maybe work on a Tool that charges money from their bank account if the said goal is not done within a certain period. If making such a tool is possible you can charge like $3/m for the actual platform/software (or even free) and is way safer than working with refunds.

    With this business model you'll most probably get an email from Stripe within a few days of opening an account saying, "We unfortunately cannot handle payments for you due to the elevated payments risk". And as another comment mentioned you definitely should contact Stripe and clear a few things.

    1. 1

      Yes, I've just talked with them. It should be ok to issue a lot of refunds.
      Your idea sounds good and it's my plan B. There are other services that work that way, charging them if they don't complete the goal (StickK, GoFuckingDoIt, etc.). So it's definitely doable.

      1. 2

        I would recommend you join YC's Startup School, wait to become eligible for their discounts, and then get the $5,000 in Stripe credits. Refunds end up being pretty expensive - I've been experiencing it myself. Those $5,000 will effectively mean you don't get charged for refunds until you've hit $5,000 in overall Stripe fees.

        1. 1

          This is excellent advice! Thank you, I didn't know about this deal. It will be very useful.

  8. 2

    My understanding is that Stripe's current policies mean that they keep the transaction fee when you refund, so if you refund somebody 100% of what they paid you initially you will have to eat that ~3% fee and lose money.

    You'll also likely end up flagged by stripe since THEY are likely gonna see this as some kind of fraud.

    I would def contact them to see if they have recommended practices for this sort of thing

    1. 1

      I've just talked with and they said we don't flag accounts based on the refunds processed on it. So that's good, let's hope it's true :)

      1. 2

        That's great if it's true. I would try to confirm with a couple of different stripe agents though. Another thing to consider is that a large number of refunds will affect your business credit score which most businesses don't even realize they have. Before stripe was around I had a PayPal account frozen because we started offering new plans to our customers and it was easier to have them sign up for the new plan then refund them on their old payment. We were doing the right thing but our credit score was destroyed and it took a couple of months to get our account unfrozen.

        1. 1

          Thanks for sharing your experience, I'll keep that in mind!

      2. 2

        That's good news! Did you talk to them about retaining the processing fee?

        1. 1

          Yes, refunding is free of charge, but I still would have to pay the initial processing fee.

          What I could do is to simply charge that 3% to the users when they pay, explaining that it's to cover Stripe's processing fees.

  9. 2

    I'd contact Stripe directly about this, as they're the only ones that can give you a definitive answer.

    1. 2

      Done! They were very nice :)
      It shouldn't be a problem, they said.

      1. 1

        I have to add: after talking to different Stripe agents, two of them gave me directly contradicting answers. So lesson learned, always talk with more than one support agent :D

      2. 1

        This comment was deleted 5 months ago.

  10. 2

    Are you working on "reward" as a service or "refund" as a service?

    1. 2

      Sorry, confusing title (now changed) :)
      The service is called Reward as a Service, but the "reward" is actually a refund of the user payment. That's why I wrote Refund as a Service.

Recommended Posts