FAQs about Stripe integration

How long does it take to get started with the Stripe integration?

It only takes about 10 minutes to get started. On our onboarding call, we will walk you through creating 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.

Does Loop support free trials, usage-based billing, subscription quantities, and discount codes?

Yes! Details on how to use these features can be found here.

Will my existing data from Stripe be pulled into Loop?

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.

How do I create a new product?

At integration, Loop will pull in any “products” already configured. Going forward as products are made in Stripe, they will automatically be created in Loop. You can see how to add products in Stripe here.

What webhooks do I need to listen to?

You can continue to use Stripe's webhooks for any automations you have. You can use Loop's webhooks if you want to additional functionality.

However, you should note, when a Loop payment occurs, a payment_intent.canceled event is emitted. This is because Stripe will want to charge the payment method on file (fiat). Thus, Loop cancels this event and instead updates the invoice to be "paid outside of Stripe." The invoice.payment_succeededevent will emit once the payment takes place on chain and Loop marks the invoice as paid.

If you're collecting payment in both fiat and crypto, we recommend you listen to both the payment.intent_succeeded and the invoice.payment_succeeded events to ensure you are notified of a payment. For crypto payments, only the invoice.payment_succeeded event in Stripe will be emitted.

What are drafts?

When a subscription renews, Stripe will create a draft invoice; this is the only state that you can edit an invoice in Stripe. Unless you explicitly disable it, invoices you create in Stripe ​automatically finalize about 1 hour before the payment is due. Invoices you create with the Stripe API, however, ​​won’t automatically finalize.

Loop will only collect on invoices that are finalized; however, we pull in draft invoices from Stripe to Loop so that you can see your upcoming invoices and easily check a customer's allowance / balance before the invoice is due. These invoices are marked with a "draft" tag. Note, these invoices are also viewable by end customers in the Customer Portal.

If you cancel a draft invoice in Stripe, it will also cancel in Loop. However, cancelling a draft invoice in Loop does not result in it being cancelled in Stripe. Lastly, Loop sends emails to remind customers about payments. We will include these draft invoices in those notifications, and mark them as drafts, so customers have time to manage their balance / allowance.

Which cryptocurrencies can customers pay with?

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.

What if a customer does not have enough funds or allowance?

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 latePayment webhook event.

Will customers get receipts?

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.

How do new customers that pay get created in Stripe?

Once a customer has successfully signed up for the subscription or one-time payment via the Loop checkout or modal, Loop will create that customer in Stripe and generate a “subscription” associating the customer and the product.

What if a customer already exists in Stripe?

If the customer already exists, Loop is able to create a new subscription for that customer if the subscription ID is passed into the URL of the checkout page, or is passed to the checkout modal when the modal is initialized. Read more about how to do this here.

Do I need to share my Stripe data with Loop?

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. Reach out to Loop to learn more.

Why do I see a canceled payment in Stripe?

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 description of the invoice, you will see a note that “This invoice will be paid via Loop.” 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.

Does Loop Crypto handle fiat payments?

Loop does not handle fiat payments but partners with teams that are able to offer instant conversion. 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.

How does someone cancel?

How do I cancel a subscription, upcoming payment and due payment?

  • Subscriptions: You can cancel a subscription in Loop on the Customers page or in Stripe. Regardless of method, the two systems will speak to each other and update the other system.

    • Note: Stripe will cancel all future invoices, including draft invoices, but not any invoices that are due / past due. Companies must cancel these invoice manually in Stripe.

  • Upcoming payment (i.e. Draft Payments): If you cancel a draft/open invoice in Stripe, it will also cancel in Loop. However, cancelling a draft invoice in Loop does not result in it being cancelled in Stripe.

  • Due payments: Any payment that has already come due MUST be cancelled in Stripe. This will then be updated automatically in Loop.

Last updated