Enabling Credit Cards
Purchasing keys to a lock can also be performed with a credit card payment. Here is how to enable credit cards payments for any lock.
Not all users have a crypto wallet (see Unlock Account for how we handle this). Similarly, even users with a crypto wallet may not have the cryptocurrency required to purchase a membership. Unlock Inc. has built a convenience layer which allows these users to easily purchase a membership to your lock with their credit cards.
For this, we rely Stripe Connect, which means that you will receive payments "off-chain" directly on the bank account that you have set-up with Stripe. The funds do not transit through Unlock and they go directly from your member's card payments to your Stripe account.
The first step, if your lock is eligible, is to connect your lock to a Stripe account. For this, connect to the Unlock Dashboard. Then, click on the Credit Card button on your lock's toolbar.
Click on the Credit Card button in your lock's toolbar
Once the Credit Card pane is displayed, click on the "Connect Stripe" button. When clicking you will first be prompted to sign a message confirming that you own that lock (any lock manager can do that) and that you want to enable credit card payments for it. Once confirmed, you will be redirected to the Stripe Website, where you need to follow multiple steps, including connecting a bank account and providing information about your identity.
Follow Stripe's required steps
Once your application is completed, Stripe will redirect you back to the Unlock Dashboard. It may take a few days for Stripe to approve your application. Until then your lock won't be able to receive card payments.
Stripe has been connected, but the application has not been fully approved.
While you are waiting for Stripe's final approval, you can perform the last step: giving Unlock Inc. the ability to grant keys to users whose credit card payment has been successfully processed (see roles). Once Unlock Inc. has charged your member's card, we will then send them the NFT so that they can use it to prove their membership. In order to do this, we need a lock manager to grant us the role of "key granting". This role can be revoked at any point (but this will disable credit card payments) and we do not receive any permission or capability on your lock.
Once both steps are completed, your lock can now receive credit card payments.
If you use Unlock's paywall application, the credit card flow is directly integrated in the checkout experience. The following screenshots illustrate the user flow.
In this example, there is a single lock, whose price is 0.01Eth (or about $24.50 at time of writing).
The user is prompted to select their payment method.
If they select Credit card, they need to complete this information.
In order to allow them to re-identify themselves, this flow creates an account for them using their email and a password of their choice that they can use to log in if they want to. Unlock Inc. does not store credit card numbers.
Once their information was saved, they are prompted once last time to confirm the transaction.
After this, they are all set and their wallet has received the NFT from your lock.
The fees are a combination of Stripe's fees (2.9% + $0.30) as well as Unlock's fees used to pay for the blockchain transaction costs (gas).
When a key/NFT is purchased via credit card, Unlock Inc., as the granter, retains the key manager title (see roles on a lock contract). This role means that the NFT owner cannot sell or cancel their membership themselves directly. This mechanism prevents malevolent users from using stolen cards, as they would not be able to monetize the NFT by selling or canceling it.
When a credit card transaction has been reversed, it is recommended that the lock owners cancel the existing user's membership as this user should not be able to benefit from their canceled membership anymore.