#some1ataplace
1 messages · Page 1 of 1 (latest)
Hello, is there a specific usecase in our docs that says "gift card" or are you looking to impliment your virtual credit cards in such a way that they can be used as gift cards?
impliment your virtual credit cards in such a way that they can be used as gift cards
Gotcha, have you read through our docs and are stuck on a specific aspect of this or are you still even figuring out where to get started? https://stripe.com/docs/issuing
Yea I read through most of the docs. Mostly not sure how to work through this. I am stuck on the funding part. Is it possible to have my website users fund cards themselves and then share it with someone else?
I believe so but will double check. I think you would essentially want to impliment one of our integrations for accepting a payment and then I think you can move funds from that balance to your issuing balance.
I am confused about top ups, treasury, and payment links and wonder if those could be used
Top ups and treasury would be money coming from your own bank account.
Funding from Stripe Balance will be closest to what you described https://stripe.com/docs/issuing/funding/balance?push-pull-preference=balance-transfers
It means that you would take payment using one of the Stripe flows like these https://stripe.com/docs/payments/accept-a-payment
And then could use the funds from that payment to fund the gift card
Your own bank account = platform bank account or customer bank account?
Platform bank account
I also have stripe connect too being used for affiliate link sharing commissions, not sure if that would be better utilized for this
Customer bank account would be under "Funding from Stripe Balance" as that would be taking a payment
I am not incredibly familiar with Issuing + Connect, will read up on it but I don't think that will change things too much here
Okay. This is all I have so far for the beginning of this for python django:
# Step 1: Create a Cardholder
cardholder = stripe.Issuing.Cardholder.create(
name='gift card receiver's name',
type='individual',
email='gift card receiver's email',
)
# Step 2: Create Card
card = stripe.Issuing.Card.create(
cardholder = cardholder.id,
type = 'virtual',
currency = 'usd',
status='active',
spending_controls = {
'allowed_categories': ['all']
}
)
Gotcha, so the gift cards are always being created on your platform account?
Most likely. Or I could choose to use a connect account
Basically, you have two options at two points here:
- When you take the initial payment, you can either take it on your platform account or on the connected account
- When you create a card with Issuing, you can create it on your account or on the connected account
Ah, though creating the card on a connected account requires that the account be a Custom connect account specifically
oh that won't work. I am using express
Gotcha, so that is out. You will be creating the cards on your platform
And that also means that payments should happen on your platform either through our destination charges flow or our separate charges and transfers flow
https://stripe.com/docs/connect/destination-charges
https://stripe.com/docs/connect/separate-charges-and-transfers
Wait now I am confused why would connect destination or separate charges and transfers be used if not using stripe connect? What about payment links for funding? Or would I have to use treasury or a bank account number of the customer?
So I have a monthly/yearly subscription service as my main platform business model. I also have donations that could be one time or monthly. Then I have affiliate link sharing with stripe express accounts who share links and get commission on sales for the main platform business model monthly/yearly subscription service.
Now I want to implement gift cards. Where a user (regular customer, not stripe connect account) or maybe express connect account would be able to make a gift card, fund it, then share with someone else.
If you aren't using Stripe Connect, then you would not use those flows, but I thought you said you definitely were using Express for affiliate links
Yes I am using Express for affiliate links.
Okay so I guess I would need to know the flow without Express account (platform users create the card and fund it) and with express accounts (express accounts create the card and fund it).
Sounds good. So the three main parts of this are you taking the payment, you creating the cards, and using the customer payments to fund the cards
correct
Taking the payment will be through one of our standard flows for accepting payments. I'd reccommend reading up on them after this
Creating the cards it looks like you have down
ok so i would probably use stripe checkout or payment links?
Yep, either can totally work here
The funding may get a bit tricky depending on your capabilities here. One thing I was typing out to you a couple times here is that it actually takes a couple days for the bank to send Stripe funds here. Which means it also takes a couple of days for the funds to become available in your Stripe account
At which point, you can send the funds to your issuing balance. So if you want to issue a card in the mean time, you would essentially need to float the funds to the customer before they actually arrive https://stripe.com/docs/issuing/funding/balance?push-pull-preference=balance-transfers
hmm so either way the platform customer pays me with payment link or checkout, then the funds from the payment take a few days to process but in the mean time I would have to use whatever is in my main platform bank account to fund the cards?
Yes, though you can also use funds that roll in from these payments, which can limit how often you need to fund things from your platform bank account
I would rather do that. Right away when the customer pays via checkout or payment link, use those same funds to fund the stripe issuing card
Gotcha, as a heads up, top up funds can also take up to 5 days to land at Stripe
So definitely viable, just a thing to also keep in mind. And important part of this flow would be predicting how much available funds you need and keeping that on hand in your account
Yea but if the customer paid the amount for the gift card, why would I need to predict anything if I just use their funds that they paid for each time?
Apologies, I was misremembering how Issuing funding worked. I thought the cards had to be funded close to creation, but the funds only draw from your balance when the card is actually used for a purchase.
oooh good
so a customer pays me $50 via checkout or payment link, then I don't do any funding? I set the max amount they could ever spend on the 1 time card to be $50? It still extracts from my bank account but only $50 gets extracted? And it gets extracted once they spend it?
👋 taking over and catching up
no problem
Have you tested the flow in test mode?
Just wondering, as that would help you understand what the actual behavior would be in live mode
not yet, trying to figure out what to do first
For instance, after the customer pays with checkout or a payment link, how do you connect that to the stripe issuing card?
Are you using Issuing with Connect? Where the "customers" are connected accounts?
I could if I wanted to with connect express accounts or I could do it with platform customers. Not sure which is better. I am thinking platform customers who use my site and services.
That way, anybody can pay for a gift card, then they could share that with anyone who wants to spend it
Gotcha. So one way you could do this is listen for webhook events for checkout completion like checkout.sessions.completed and when you receive that event, you'd look up who (which customer) paid what amount & create an issuing card for them using the API
ok that sounds like a good idea. How would I say you can only spend a max of however much they pay and only spend it once? And once the card is created, I do not have to fund it?