Hacker News

Mask Customer Credit Card Info API?


I run a company that buys goods on behalf of customers, up till now we have been charging them 3% extra to cover processing fees.

In a focus group, some customers who make frequent larger orders have chosen to stop using our service as they really don't like paying that 3%.

They want us to be able to use their raw credit cards to place orders! Which, is a little unsafe from a developer POV, as humans on our side would need access to those credit cards, plus mistakes in handling that data could be cause for serious concern. Though, assuming we can store that data correctly... (humor me)

We were thinking of a solution, and noticed that services like Google Pay take your CC number, and generate a new virtual Visa card for each payment. We've found a lot of services that can generate these Visa cards quite cheap, but they all draw funds from a central deposit of funds.

Does anyone know of an API that might be able to generate Visa cards that draw funds directly from the customer's Visa card?


3 pointsunicornication posted 4 months ago6 Comments
jermaustin1 said 4 months ago:

I knew a personal shopper who used her own American Express for all purchases (get those points/miles/etc), and then just billed the customer via ACH afterward. She would invoice via QuickBooks (Free ACH payments), but there are programmable options out there.

Plaid+Stripe can hook into a bank account, and you can initiate an ACH that way. The ACH fee is only 0.8% with a cap at $5. That might be low enough to eat it. I'm not sure what your business model is though.

unicornication said 4 months ago:

Thank you for the comment!!

I actually just checked in with Stripe because that sounded awesome! They say that the funds that customers put in via ACH are not able to be drawn upon for up to 5 days, until the transaction "succeeds".

We are slightly worried about using a credit card / line of credit as a buffer to that 5 day ACH, as it would be super risky as we could easily blow past a $100K credit line in the few days ACH would take to settle, leaving us high and dry.

If customers were to "pre-fill" accounts, that would allow for some really cheap funds, though :O Thank you so much for that tip!

jermaustin1 said 4 months ago:

I guess that scale is a little higher than my personal shopper friend. She'd only charge to credit around $25k/mo.

BentoPayments said 4 months ago:

Disclosure: I work at Bento for Business.

Sounds like a perfect use case for our virtual cards!

Our API lets you create virtual cards with custom controls (max dollar amount, days active, category, card on/off) from a bank account that can be funded via ACH. Although the money is kept in a central deposit for your business, each card can have part of the money allocated for purchases and be controlled with our API (https://apidocs.bentoforbusiness.com/). This allows you to easily track expenses at an individual card level.

Let me know if you have any questions. You can reach me @ api-support@bentoforbusiness.com.

unicornication said 4 months ago:

Hi! Thank you for the reply :-)

I stumbled across Bento - the fact that it was based off a central deposit system means we need a high degree of liquidity 7 days in advance?

We are interested in a way to acquire and spend customer funds in near real-time. If Bento had a service that masked customer card information with a virtual card and charged something like 1% with a cap, that would be ideal!

BentoPayments said 4 months ago:

Normally, ACH transfers will be available in 2-3 business days after the process has been initiated by your bank or our application.

Although we don't have a service to proxy card information, we're able to receive wire transfers from your bank account and funds will be made available same or next business day. This can help with same-day liquidity.

Bento does not charge fees for inbound transfers but your financial institution may and we recommend checking their transfer fee schedule.


Transfer Funds options:


Auto-reload based on low-balance and periodic reloads: