#k3davis-payments
1 messages ยท Page 1 of 1 (latest)
hi! well it's sort of possible but you'd have to use more custom integrations
how do you decide who the customer is , what information do you need for that and when is it done?
in order to prevent duplicate customers we would need to decide who the customer is (or create them) during a verification step that could happen up to 3 days later ๐ฆ
using an internal search match of name, address, phone, email
for 1x charges we could use tokens/the charges api which bypasses the customer object, but it only works for us/canada, which won't do
hmm then that's pretty impossible really. You can use PaymentMethod or tokens directly like you say but you should never just have a Token or PaymentMethod for a few days without using it(using it meaning, charging it or attaching it to a customer)
the CVC in the token goes stale(we only store that internally for a short period for PCI reasons, if you don't use the token immediately we can't send the CVC to the bank so it means you get more declines when you do end up using the token)
i see
it seems like my only solution in this case is to let the stripe client libraries create endless duplicate customers, which is really unpleasant
or else to keep pci scope and create the needed stripe objects on the backend :/
i am just opining now but i wish stripe's api didn't require customer objects to save payments, especially since it assumes email address is always going to be every company's primary key for that
i have no idea how large orgs keep their crm and stripe customers in any kind of sync. perhaps they don't try, and that's where i'm going wrong
sorry, I have thoughts and there are likely solutions, it's just it's a deep topic that requires understanding exactly how you integrate today and your requirements and I haven't had much bandwidth as I'm working with other users
i understand, i am interested in what thoughts you have to offer when you have time, or let me know if I should ask support instead. no rush on my part
Hi there. Stepping in for karllekko
I can try to answer some of your questions
But you may need to go to support
You don't need to pass email address to create a customer: https://stripe.com/docs/api/customers/create#create_customer-email
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
It's optional
i understand that, it's just the most exposed method for one to use the stripe api to check if a customer already exists inside a payment flow.
So why can you not map a customer to their customer id? Does your site not have a registration process?
we aren't selling product, we're accepting donations, but we don't require the donor to sign in first. that's kind of the crux of the issue but forcing authentication adds a lot of friction to the donation process
they can sign in optionally, but few do.
Gotcha I see
Out of curiosity, what fields would you like to search a customer for to try to find if they have an existing customer object?
we have an internal search match that we use against name, address, email, phone, but it's a fuzzy search and occasionally it requires manual matching (typos, customer moved or changed emails without telling us, etc.) - so really we would need to identify the customer later in at least some percentage of cases
i guess we'd have to implement that thing client-side to prevent endless dupes and would sometimes end up with dupes anyway
thanks for your help. this is one aspect of the design of the payments api surface that doesn't suit us well (requiring customer objects to persist payments), but it seems unavoidable for now. if it were possible to move payments from one customer to another, or merge customers after the fact, it wouldn't be as big a deal, but really you're committed to customer duplication in this design
seems there is not a solution on your end and we'll have to come up with something on ours
Yeah. I also recommend going to support with your comments: https://support.stripe.com
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Perhaps they can suggest something, and, if not, they will have feedback
thank you ๐ i appreciate your input
No problem