Loop provides payment links to payment pages allowing customers to subscribe to products, make one-time purchases or pay an invoice. Each product has its own link and products can be combined together to make links that allow for multi-product purchases.

At a high level, when a payment link is used:

  1. Loop creates a customer record and emits the AgreementSignedUp webhook.
  2. Loop creates an invoice based on the billing settings associated with the product and/or subscription and emits the TransferCreated webhook.
    1. If an integration is being used (like Stripe), the integrated platform generates the invoice and Loop ingests the invoice details.
  3. Loop charges the customer onchain based on the bill details and emits the TransferProcessed webhook.
  4. (Subscriptions only) Loop creates the next invoice and emits the TransferCreated webhook.

It could take a few minutes for a transaction to confirm onchain due to chain confirmation times.

For those using Loop's integration with Stripe, please refer to these steps.


How do links work?

Every product has an associated payment link. There are four parts to each link:

  1. Connect wallet
  2. Select network and token
  3. Provide email
  4. Purchase

Connect wallet

Payers can connect any non-custodial wallet to the checkout page, including a Safe wallet. To use a Safe wallet, payers must connect one of the signing wallets and then choose the associated Safe wallet.

When a payer connects their wallet, Loop will check if that wallet has an existing subscription with this product. Thus, this notification does not show up for one-time payments or invoices, but it does show up in the case of multi-item purchases if one of the products has already been purchased.

If the payer has an existing subscription with this product, the payer will see a notification but will still be allowed to proceed with the purchase.

Select network and token

Each link can be configured to only allow payment from a subset of networks and with tokens. This can be configured on the Company Dashboard or via API within the Item endpoint.

By default, all networks and tokens configured at the entity level will be available for a payer to select for purchase.

Provide email

Payers provide their email so that Loop can send a receipt and notify them of upcoming payments, which increases the rate of successful follow-on payments.

Additionally, the provided email is used as a record locator to associate the checkout with an existing customer if you are using one of Loop's integrations like Stripe or Chargebee.

You may pre-fill an email address by passing in the parameter in the URL, defined on the customizable functionality page. This will render the address uneditable by the end payer.

Purchase

Payers confirm one transaction that allows Loop to initiate the payment. Payers will be held at checkout until the payment confirms onchain. If payers modify the payment, they will be asked to resend.

For invoices only

To make it easier for payers to pay invoices with net payment terms, payers are able to schedule a payment date.

Merchants can see what date is scheduled on their company dashboard, having the comfort of knowing the payment will take place without having to bug their end customer.

Some details:

  • Payments are scheduled for 12am on the date chosen in the customer's local timezone.
  • Customers can schedule a payment as far into the future as they would like
  • Customers are prevented from selecting a payment date in the past
  • Customers are not able to edit a payment once it is scheduled