Integration features
Does Loop support accepting fiat payments?
Loop processes crypto payments only and allows merchants to settle in fiat or crypto. Stripe is your processor for fiat payments. Loop manages the crypto payments and syncs all crypto payment data back to your Stripe account.How are new products created when using the Stripe integration?
You can create a new product and manage (i.e., archive) 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.Does the integration support coupon codes?
Yes, Loop Crypto does support coupon codes created in Stripe. Please refer to this page of the docs.Does the integration support referral codes?
Not at this time. You will need to manage your own referral tracking.How should I use the payment links?
Payment links can be sent directly to customers or embedded directly on your website in a “pay with crypto” button.How does a customer cancel?
A customer can be canceled in either Stripe or Loop. There are several ways a customer can cancel via either Loop or Stripe. For more details on how to manage cancellations, please refer to this page in our documentation.Why are some payments showing as “Payment Canceled” in the Stripe dashboard even though the actual transaction should have been successful?
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.”

In cases of network latency or interruptions, is there a risk of duplicate payments being triggered?
Loop Crypto has a safety mechanism internally to prevent double payments. Our system can never try to process a payment for the same invoice number twice, so even if a particular chain is slow, we will not try the same payment twice. This is something you do not need to worry about handling on your end. Loop Crypto handles all on-chain interactions.Are there specific failure scenarios that I should proactively handle?
Our failure rate is extremely low, too non-existent. This is because Loop will only process payments after we’ve checked the wallet’s balance and approval amount and confirmed they are both high enough to succeed on chain. In the rare chance that a transaction fails on chain, you will see “failed” as the transaction’s status. You can contact Loop in these situations, and we will help you troubleshoot.How are funds settled?
Companies are able to settle in either crypto or fiat. For those wishing to settle in crypto, you will receive the crypto that your end customer pays you in. For example, if the customer pays in USDC, you will immediately see USDC hit your wallet after payment completes. For those wishing to settle in fiat, you complete a KYB screen, which then allows funds to be automatically settled in fiat. In this scenario, your customer would initiate payment in USDC, and you as the business would receive USD.Customer and invoice management
How does Loop or Stripe handle duplicate payment scenarios?
Loop Crypto has a safety mechanism internally to prevent double payments. Our system can never try to process a payment for the same invoice number twice, so even if a particular chain is slow, we will not try the same payment twice. This is something you do not need to worry about handling on your end. Loop Crypto handles all on-chain interactions.What does it mean for an invoice to be in Draft status?
On the Invoices page of the Company Dashboard, there is a tab called “Draft.” This Draft status exists because Stripe does not finalize the next invoice for a subscription until roughly the day before. That means that the invoice could potentially be modified up until the due date. Any modifications to the invoice are automatically pulled into Loop, and the invoice is updated. This Draft status simply denotes that the invoice details (amount, due date, etc.) may change as Stripe has not yet finalized the invoice. Once Stripe finalizes the invoice, the invoice moves to the Finalized tab.How are taxes handled? Does Loop collect taxes as part of the payment?
The Loop checkout collects the final amount due, inclusive of taxes. It is your responsibility to set up tax calculations in Stripe. The final invoice amount, inclusive of tax, is then passed to Loop when the payment link is generated. Most companies will show the customer a final price on a screen before the customer heads to the payment link. You may also want to hide the cart on the Loop checkout if you are showing the breakdown beforehand (?cartEnabled=false). Down the road, Loop is exploring being able to show the tax amount as a line item within the cart. You can also embed the Loop widget and design your own cart UI if desired.If the customer record already exists in Stripe, how do I charge that customer with Loop Crypto?
When you create a checkout session (see the endpoint here), you can pass the Stripe customer ID into this parameter: externalCustomerId. The subscription and/or invoice created in the subsequent checkout will be tied to this customer.Webhooks
What happens if a webhook event fails? Should I be concerned about this?
Loop Crypto monitors its systems and has built internal alerting systems to ensure any downtime is minimal and that any issues trigger immediate alerts. For additional redundancy to confirm when a payment occurs, you can listen to both Stripe’s invoice.paid event as well as Loop Crypto’s transferProcessed event. Both of these events are triggered when a payment occurs on chain. You can also always reference your company’s contract and the on-chain transaction history. We recommend that companies utilize webhooks rather than trying to repeatedly call the Loop API to gather the status of an invoice. You should not need to periodically poll Stripe from the backend as an additional verification method.Is it possible to know which token the user paid with from the webhook data?
Loop Crypto’s transferProcessed event provides more details around the on-chain transaction. It provides the transaction hash, network, and net amount of the token sent. Within the net amount field, you can find the token that was sent for payment.