If you have questions specifically about how to use Loop Crypto for crypto payments with Stripe, you have come to the right place. For more general questions related to Loop Crypto, you can head over to our FAQ page.
In addition to the questions below, you can also check out our Loop + Stripe Integration videos hosted on Loom.
It only takes about 10 minutes to get started. On our onboarding call, we will walk you through making an API key in Stripe specifically for Loop. And that’s it. Be sure to arrive at that call with your Stripe account already set up.
The only data brought into Loop at integration are your existing “products” (i.e., subscription plans) already configured in Stripe. As new products are made in Stripe, they will automatically be created in Loop and a payment link will be generated that can be used to collect a crypto payment authorization from a non-custodial wallet.
You can create a new product and manage (i.e., delete) your existing products all within Stripe. To create a new product in Stripe, navigate to the Products page and click “Add Product.” Any new products or updates you make to products in Stripe automatically sync with Loop on the Company Dashboard. At this time, Loop only supports the standard pricing model.
Loop is compatible with any ERC-20 token. By default, we will deploy your contract with our default list of tokens. Every product synced with Loop will be assigned this default list; however, you can edit what tokens a specific product accepts using our APIs or our frontend.
Loop offers two ways to collect payment authorization from your customer: the Loop modal and the Loop payment link.
Loop provides a checkout modal that can be integrated into the context of your company's website or application to enable your customers to pay with crypto. The modal allows end users to give Loop authorization to enable autopay. Applications can embed the autopay button as a React component. Technical directions can be found here.
When a product is brought into Loop, we will generate a unique payment link that can be found on the Loop Company Dashboard. This payment link can be embedded on your website with a ‘Pay with Crypto’ button, or you can send the link directly to a customer.
Once a customer has successfully signed up for the subscription, Loop will create that customer in Stripe and generate a “subscription” associating the customer and the product.
If the customer already exists, we’ll create a new subscription for that customer.
A customer can be canceled in either Stripe or Loop. If you cancel a customer in Stripe, then Stripe will no longer generate the invoice, thus Loop will have no invoice to process. Conversely, if you cancel a customer in Loop, Loop cannot process the payment because we will no longer have the authorization from the customer to move funds.
When Stripe generates the first invoice, Loop pulls in this invoice and then facilitates the payment on chain. When the transaction is confirmed on-chain, Loop will mark the payment as paid in Stripe (and include in the metadata the transaction hash). Since the invoice is marked as paid in Stripe, users are able to leverage Stripe’s notification system to learn about paid invoices.
Additionally, you can subscribe to webhooks directly from Loop and see (and download as a CSV) all of the transaction metadata via the Loop dashboard.
During your onboarding with Loop Crypto, you will set up a receiving wallet (called an “inbound treasury”), which is the wallet where customer payments will flow. This wallet can be on an exchange, an EOA, or a multi-sig. The only criterion is that the wallet is on the same network as your customers will be using to pay.
Loop’s integration with Stripe is network agnostic. The integration is available on all networks where Loop is live - Ethereum, Polygon, Arbitrum, and Binance; however, we are compatible with any EVM chain. If there is a chain you’d like us to be on, reach out at firstname.lastname@example.org.
Upon completing the Loop checkout, a customer receives an email notification that crypto autopay has been enabled via Loop. At the time of the first payment, a second email will be sent providing a receipt for the transaction.
The Sunday before a payment is due, the end customer will receive an email notifying them of the upcoming payment and letting them know if they have sufficient funds and allowance. If the customer has insufficient funds, Loop will then remind the customer again 48 hours and 24 hours before the payment is due. If the payment is missed, a missed payment email is sent letting the customer know the transaction did not take place and explaining why it was not processed.
One of the great benefits of crypto payments is that there is visibility into whether a transaction will succeed before it happens. If a wallet does not have a sufficient balance and/or the allowance is too low to cover the payment, the transaction will simply not be processed. To help prevent missed transactions, Loop sends an email update if an upcoming payment needs attention.
On the Stripe side, you will see the invoice for that particular customer remain open until the customer adjusts their allowance and/or tops up their wallet.
Additionally, companies can subscribe to Loop’s missed payment webhook.
Loop ingests all the Products you have set up in Stripe. When a new customer signs up via the Loop checkout page, a call to the Stripe system automatically creates that customer in Stripe. The Loop database and Company Dashboard only store and make available details of clients who paid in crypto. If you do not want Loop to automatically ingest this data, you are able to integrate Stripe directly with Loop’s APIs.
Whenever a payment is due for a subscription, Stripe generates an invoice and tries to collect payment by automatically charging the payment method on file; however, in the case of crypto payments, there is no payment method on file. Loop will automatically update the invoice and mark it as “paid outside of Stripe.” Within the memo of the invoice, you will see a note that this invoice was “paid via LoopCrypto.” The canceled payment you see is simply Stripe canceling its attempt to charge the payment method on file after it recognizes that a payment has been made outside of Stripe.
Loop does not handle fiat payments. Loop does not view or interact with any customer data for those customers paying with fiat. All fiat payments are handled via Stripe’s checkout page.