cityofaustin / atd-data-tech

Austin Transportation Data & Technology Services
17 stars 2 forks source link

Setup Bank Account for Stripe Payments #2516

Closed johnclary closed 2 years ago

johnclary commented 4 years ago

This is the major hurdle to implementing Stripe. The City uses a merchant account to receive online payments. However, Stripe requires a normal bank account. Merchant accounts are not supported:

Stripe is a complete solution that combines the functionality of a merchant account and a gateway in one, which means you only need Stripe to accept payments and deposit funds into a bank account. You cannot use existing merchant accounts or gateways with Stripe, as it functions as both already.

The question is, how will we reconcile payments made into that account with the payments we receive from customers. My understanding is that this should be fairly easy using Knack's payment tracking functionality and the Stripe dashboard.

johnclary commented 4 years ago

I reached out to Gail (Treasury) and Mark (Controller's Office) today:

Gail and Mark,

If you recall, we met with you about a year ago to discuss our options for setting up an integrated online payment solution with Stripe.

Stripe has a really nice user experience, and it integrates easily with our Knack parking permit solution.

Y'all expressed your support for this approach, however we have one major challenge to work through: Stripe does not use Merchant Accounts, it must deposit directly into a bank account.

Every payment that we receive from Stripe will have a unique payment ID associated with each permit we issue. We have a dashboard which makes it easy for us to view/reconcile these payments.

So, I think the questions are:

How can we setup (or use an existing bank account) to receive Stripe payments? How can we manage the transfer of funds from this account into whatever existing workflow y'all use today? Obviously we want to make this as easy as possible on everyone and do not want to create more work for y'all.

Any thoughts on this? I am happy to set up a meeting to discuss. Just let me know.

johnclary commented 4 years ago

I just asked Knack support this question about refunds:

hello! I have a question about Stripe payment processors. Can you explain (or point me to docs about) how refunds work with Stripe payments? Is the refund managed by us through the Stripe dashboard? How do we make sure the refund is reflected in our app? Thank you!

johnclary commented 4 years ago

Latest conversation w/ Mark C:

From me:

Thanks, Mark. We have flexibility as to how funds are transferred. By default, Stripe automatically transfers funds to our account on a rolling basis. But we can optionally configure Stripe to hold funds until we manually transfer them to our account.

Regarding refunds—as you suggested, Stripe will first attempt to issue the refund from our Stripe balance. If the funds are not available, it will debit the funds from our account.

I agree that it would be wise to enable refunds from BC40 just in case.

For reference, here are the Stripe docs about payouts: https://support.stripe.com/topics/payouts


From Mark C

Gail can you confirm if BC40 allows for money to be withdrawn/refunded from the account?

John/Peggy, can you just explain how the funds will move from Stripe to the bank. If it is easier to meet I'm happy to do that it should not take long. I just want to make sure we understand the process. Based on the email conversation I'm imagining something along these lines. Customer funds parking permit, Stripe collects funds into a Stripe account somewhere, Peggy transfers funds to City owned bank account. Is that correct? I'm asking because if we are managing the transfer of funds then it seems like it won't matter if BC40 is only setup to accept funds and not return them as we could always maintain a small pool of funds in the Stripe account to manage the refunds or chargebacks that may come through. It might be wise to change BC40 even if this scenario is true, but I just want to make sure we understand the flow of funds.

johnclary commented 4 years ago

Per Gail (Treasury) we should be able to use the parking enterprise's bank account for this (this account is referred to as "BC40"). We need the Treasury dept to allow Stripe to make debits from that account, in case refunds need to be issued to customers. I followed up with her on Thursday about taking care of this step and will follow up again tomorrow.

@dianamartin @moorerst FYI

johnclary commented 4 years ago

Followed up w/ Gail again today:

Hi Gail—I'm following up on enabling refunds for BC40. What would the next steps be do get this done? I've CC'd the parking folks as well.

johnclary commented 2 years ago

We're pursuing citybase instead