ubiquity / card-issuance

UbiquiCard
0 stars 1 forks source link

Submit applications for virtual card providers #39

Closed rndquu closed 2 months ago

rndquu commented 6 months ago

Stripe has rejected our application for enabling a live mode for card issuing so we need to find a new virtual cards API provider.

There are the following virtual card providers:

I've checked those APIs and all of them support our case of issuing virtual cards for business needs.

It makes sense to reach to all of them and ask if ubiquity org is eligible to use their services.

We should make sure that (on initial contact):

  1. Virtual card service provider would enable live mode for us (i.e. we're compliant with the provider's policy)
  2. Virtual cards can be added to digital wallets (like Apple Wallet or Google Wallet)
  3. Virtual cards can be used for payments in South Korea (or via digital wallet)

Simply put we should start applying for live mode until we get accepted somewhere.

@sergfeldman Perhaps you could run the applications?

sergfeldman commented 6 months ago

@pavlovcik It’s a pity that Stripe rejected us even with an application from a US company!

@rndquu I appreciate you putting together a list of providers. Some time ago I contacted the majority of the providers from the list. Overall, I received dozens of rejections, and even more providers just did not respond to me.

If, after reading my report and Stripe's rejection, you think it makes sense to contact other providers, then I can do that. Using a BVI company significantly reduces the likelihood of cooperation with most providers. Please clarify whether I can use a US company, or continue to use a BVI company.

sergfeldman commented 6 months ago

I would politely point out that the integration of gift prepaid card APIs does not look like a huge project, so we will be able to start testing real cards soon.

Solutions with gift prepaid cards do not require a set-up fee and allow us to legally reward contributors from almost all countries. Despite some inconveniences of gift prepaid cards for their users, they also have the advantage of anonymity. Some providers allow us to top up the account with crypto, which eliminates the need to interact with traditional banks that can block accounts if there are no appropriate documents about the origin of the funds.

After testing and gaining experience with gift prepaid cards, we can turn to the next group of providers. They can issue cards that are global (for most countries) and crypto-friendly (less risk that we will be blocked).

Of course, there are also negative aspects, primarily the higher cost and a very limited number of such global crypto card providers. I have analyzed several strategies and propose a step-by-step approach that should bring maximum benefits with minimal costs for Ubiquity.

0x4007 commented 6 months ago

@sergfeldman hat do you suggest for actionable next steps? You did the most research so you'll probably know best.

Also yes we can try using the USA entity. We can DM for details.

rndquu commented 6 months ago

I would politely point out that the integration of gift prepaid card APIs does not look like a huge project

It's not a huge project but it doesn't align with https://github.com/ubiquity/pay.ubq.fi/issues/174 at all.

Gift prepaid cards have different mechanic:

  1. You order a prepaid card for a contributor
  2. Contributor has to activate (i.e. redeem) it

So with prepaid cards (in context of https://github.com/ubiquity/pay.ubq.fi/issues/174) we have to create a new prepaid card for each solved task by a contributor, then show instructions of how to redeem the card, then somehow check if it is redeemed and get the available balance. It doesn't look like a traditional bank card neither from a contributor's view nor from the code we'd need to implement. We won't be able to substitute an implementation under the interface over gift cards API to a virtual cards provider due to different mechanics. I assume all gift card providers work this way.

While with virtual cards API we could make a prototype to be very close to traditional bank cards.

I guess the right strategy right now is:

  1. Issue a prepaid gift card via one of the providers and (if possible), add it to digital wallet (Apple/Google/etc...) and make sure it can be used in South Korea
  2. Keep pushing virtual card providers and keep applying for live mode until we get accepted
0x4007 commented 6 months ago

An interesting hack/workaround (although this depends on each card issuer's API capabilities) would be to "roll up" spendable balances.

For example, you have accrued 555 WXDAI in rewards, and you can cash out to MetaMask or cash out to virtual card.

Virtual card would be a prepaid card that we generate and you can add it to your Apple/Google/Samsung Pay wallet.

Pro: it's pretty much guaranteed that some funds will not be used. This is a source of profit.

Con: its annoying to manually have to cash out every week etc.


If its possible to modify a prepaid card's balance then we can simulate debit cards.

rndquu commented 6 months ago

If its possible to modify a prepaid card's balance then we can simulate debit cards.

It's not, at least with https://www.reloadly.com/

For example, you have accrued 555 WXDAI in rewards, and you can cash out to MetaMask or cash out to virtual card.

By "virtual card" here I assume you mean a prepaid gift card. Reloadly limits the max amount of prepaid cards by 100 USD. Update: if we whitelist our ip address for API access then there is no upper limit (@sergfeldman pls confirm).

@sergfeldman says that we can try and create a new visa/mastercard gift card right now via https://dashboard.reloadly.com/. Perhaps we can issue one and try to use it or add to Apple/Google wallet.

0x4007 commented 6 months ago

100 USD won't get us very far for demos though. It's really a small amount in the context of bringing a group together to a bar or restaurant in Korea.

It might be better than nothing but I would be quick to drop efforts on it if we find something else that's suitable for the short term.

Update: if we whitelist our ip address for API access then there is no upper limit (@sergfeldman pls confirm).

Let's hope so!

sergfeldman commented 6 months ago

@rndquu Thank you for being ready to test gift prepaid cards.

The standard limit for prepaid Visa and MasterCard cards is 1000 USD. Some providers may change the limit. I`ve sent a question to Reloadly to find out their maximum limits.


Most card providers from the US are not global but can be suitable for testing our flows. I analyzed card providers from the US who were not ready to cooperate with our BVI entity. When I get documents on our US entity, I will apply with these details.

First of all, I plan to apply to these providers https://mercury.com/ is crypto-friendly https://www.lithic.com/ is focused on developers, they grew from privacy.com

If these steps don't work, there are still other options.

sergfeldman commented 6 months ago

Reloadly replied that their card limits could be up to 1000 USD and some up to 10,000 USD

rndquu commented 6 months ago

Reloadly replied that their card limits could be up to 1000 USD and some up to 10,000 USD

Can we test a real gift card and try to add to Apple/Google wallet?

https://www.lithic.com/ is focused on developers, they grew from privacy.com

Their API supports virtual cards so it would be nice if they approved us

https://mercury.com/ is crypto-friendly

I haven't found any virtual or gift card related API at https://docs.mercury.com/reference/credit-1

sergfeldman commented 6 months ago

@rndquu

Can we test a real gift card and try to add to Apple/Google wallet?

For the test, I topped up the Reloadly account with 25 USD, issued a global virtual MasterCard card with a balance of 1 USD, and added this card to the Google Wallet. I plan to test a purchase from this card when I'm in an offline store.

Receipt

Card 3

I haven't found any virtual or gift card related API at https://docs.mercury.com/reference/credit-1

Thanks for analyzing the API methods!

rndquu commented 6 months ago

@sergfeldman

issued a global virtual MasterCard card with a balance of 1 USD, and added this card to the Google Wallet

Did you activate the card somehow? Or it just works "out of the box"?

molecula451 commented 6 months ago

try to add it on Github subscription perhap

sergfeldman commented 6 months ago

Following the instructions for gift cards, I activated this Virtual Prepaid MasterCard card on the website https://myprepaidcenter.com/

After a number of attempts to pay with this card using Google Wallet and online, it failed. There is a possibility that the restrictions are caused by banking control in my country. The exact reason is unknown yet, I wrote a request to Reloadly support.

sergfeldman commented 6 months ago

Reloadly still has not provided information about the root cause of why I could not pay with the issued card. I will continue to communicate with their support.

@rndquu Can you please analyze the API methods https://epn.net/client-documentation I will send credentials to dm

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
rndquu commented 6 months ago

Reloadly still has not provided information about the root cause of why I could not pay with the issued card. I will continue to communicate with their support.

@rndquu Can you please analyze the API methods https://epn.net/client-documentation I will send credentials to dm

Got it, thank you

API of https://epn.net/client-documentation looks good, we can:

  1. Issue virtual cards
  2. Get balances
  3. Transfer funds from platform account to a card (as far as I understand, at least there is an option for this in their UI dashboard)

I've contacted support of https://epn.net/ and they told that:

  1. There is no sandbox mode for API testing (but we can bare with it)
  2. There is no upper bound for number of issued cards for verified account (so it scales pretty well)

Overall https://epn.net/ looks like a semi legal service that (almost) perfectly fits our needs.

@sergfeldman Could you try to issue a virtual card and check if it can be added to mobile wallet and can actually be used for real payments?

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

@sergfeldman Could you try to issue a virtual card and check if it can be added to mobile wallet and can actually be used for real payments?

I'm working on it now. https://core.allbridge.io/history/ETH/0x765da464587aad86959080c092166acee0db2b545737a864af9a87b47266d20e

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

Not looking good so far. Will need to contact support because its not showing up the dashboard.

image

https://tronscan.io/#/address/TRzPm2XZ5EspDYjZuwTAnX2NbTnN9qTU1D

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

At the moment we are not accepting transactions via smart contract, however we will release an update next week and will be able to process your transaction. Now we accept only TRC-20 and you can pay via TRC-20

I don't use Tron but from what I understand I need to make a Tron wallet, transfer money into the Tron wallet, and then transfer to their deposit address.

Trying again, but made an intermediary Tron wallet to accomodate their limitations. https://core.allbridge.io/history/ETH/0xd4bcf2f563b51d292ff4c15f680435f29092d6ccfa0de0358af1b44918fc9c1d

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

This deposit is successful https://tronscan.org/#/transaction/cc5b9e848532937941993be23d28877bd217c27ec14ac8ba4de312fa52da8ac5

Screenshot 2024-03-07 at 19 46 36

It is unclear to me why they let us choose our BINs but I'll pick at random.

Screenshot 2024-03-07 at 19 47 56

looks like a semi legal service

lol

image

I was able to pay my OpenAI bill of $10 successfully. There's another $10 on there for testing if anybody wants to try.

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
rndquu commented 6 months ago

It is unclear to me why they let us choose our BINs but I'll pick at random

Each BIN is a separate bank and country although all of the ones mentioned on the screenshot are from US located banks

looks like a semi legal service

Looks like they call some other API provider under the hood with mock cardholder details

0x4007 commented 6 months ago

image

"Learn more" shows a very long whitelist of banks. Probably these https://support.apple.com/en-us/HT204916

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

I can try signing up for lithic

Allow your cardholders to directly add payment cards to the device's digital wallet (e.g. Apple Pay) with one touch from your app.

This requires some additional setup and configuration. Please Contact Us or your Customer Success representative for more information.

Source https://docs.lithic.com/reference/postcardprovision

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

It will take a little while to pass compliance probably (they have bank account requirements etc)

@rndquu here is a sandbox only key they offered because I started the onboarding process: 05252f24-7b22-4930-920d-538bbcbe6f41


Looks like I can enable production but with the following spend limits:

$250.00 Per Week $500.00 Per Month

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
0x4007 commented 6 months ago

I am working on opening up a USA Wyoming LLC for all the card related affairs. I will also obtain a US bank account, Coinbase account (USDC offramp) and an EIN number. Will keep you guys posted.

I'm waiting for a full list of requirements from Lithic support before proceeding.

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
sergfeldman commented 6 months ago

I am working on opening up a USA Wyoming LLC for all the card related affairs. I will also obtain a US bank account, Coinbase account (USDC offramp) and an EIN number. Will keep you guys posted. I'm waiting for a full list of requirements from Lithic support before proceeding.

@pavlovcik Great news! As far as I can evaluate, Lithic is one of the best solutions in the US. They provide developer-friendly services and grew out of privacy.com https://techcrunch.com/2021/05/20/privacy-com-rebrands-to-lithic-raises-43m-for-virtual-payment-cards/

As far as I know, Lithic’s policy regarding crypto is neutral, they do not provide solutions specifically for crypto cards.

During the previous communication they replied "At this time, Lithic only supports US card issuance".

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
ubiquibot[bot] commented 6 months ago
! action has an uncaught error
sergfeldman commented 6 months ago

Reloadly still has not provided information about the root cause of why I could not pay with the issued card. I will continue to communicate with their support.

After clarifying with Reloadly the issues with payment by a gift card, we believe that the reason is the limitations of the gift card vendor. The full list of countries that this card vendor restricts is available here https://myprepaidcenter.com/prohibited-countries

There are no additional restrictions from Reloadly. There is 21.8 USD on the Reloadly balance, which I replenished. Anyone who is in a country not included in the list of restricted countries can test the purchase with a gift card.

Balance

0x4007 commented 6 months ago

Perplexity didn't yield an answer on if Reloadly is supported by Apple Pay. What do you know about that @sergfeldman

Also I noticed a declined charge about seven hours ago:

Declined charge card
Card: 428852.....6212 (Universal 3.7.2024, 07:49 PM )
Operation: ENEBA ENEBA                  +37061710012   LT
Sum: -4.72$
molecula451 commented 6 months ago

There's another $10 on there for testing if anybody wants to try.

This was me lol, tried but it got declined, perhaps for billing address

ubiquibot[bot] commented 6 months ago
! action has an uncaught error
sergfeldman commented 6 months ago

Perplexity didn't yield an answer on if Reloadly is supported by Apple Pay. What do you know about that @sergfeldman

For the MasterCard global card it is stated "... compatible with Apple Pay, Google Pay and Samsung Pay". It would be interesting to test both Visa and MasterCard. I will dm you my MasterCard card and also you can create a new Visa card on Reloadly.