Stripe Connect setup

If your company uses Stripe Connect to manage payments for your platform or marketplace, you can use Loop to enable customers to pay with crypto for Stripe Connect accounts.

Before getting started please you'll need an account with Loop. Reach out to your contact at Loop to help with this.

Setup overview

  1. Create an API key and send it to your contact at Loop using foxcry.pt or another secure method.

Loop will then use the API key to create a webhook with Loop’s endpoint, which Loop will use to update Product, Price, and Invoice information. And that’s it!

Additionally, please let us know:

  • Where funds ought to be sent (Inbound treasury address) for each entity on each network. It can be the same address across multiple networks

  • What email customers can use to get in touch with your company + each Stripe Connect entity (this is used as part of our automated emails)

  • If you want to configure a platform fee for your platform or marketplace, either as a percentage or as a fixed amount, for payments associated with Stripe Connect accounts, let us know, and we can configure the platform fee to be automatically collected for each payment.

Configuring OAuth for Connect accounts

  1. In your Stripe account, go to Stripe Connect settings (https://dashboard.stripe.com/test/settings/connect for the test mode page). Scroll to the bottom of the Settings page to find the Integration section. Click the OAuth for both Standard and Express.

Creating an API key to send to Loop

  • Go to the “developer” tab in the top right corner of your main Stripe account (not the Connect accounts), click on API key, and create a new “restricted” key

Create a key with the following permissions (these should be set in the "Permissions" column and "Connect Permissions" column):

  • Write permissions

    • Customers (Permissions and Connect Permissions)

    • Products (Permissions and Connect Permissions)

    • Invoices (Permissions and Connect Permissions)

    • Prices (Permissions and Connect Permissions)

    • Subscriptions (Permissions and Connect Permissions)

    • Webhook Endpoints (Permissions and Connect Permissions)

  • Read Permissions

    • Events (Permissions and Connect Permissions)

  • For production API keys, securely send Loop this key using foxcrypt (https://foxcry.pt/). Enter the key as the message, and foxcrypt will generate a one-time URL that Loop will use to view the key.

Note: Your restricted key should start with "rk_", not "pk_". "pk_" denotes a publishable key, which does not have permissions needed for this integration.

Note: Loop will then programmatically create a webhook to consume status updates from Stripe. No action is required in this step.

Some reference information about the webhook event types that Loop consumes:

  • product.updated, product.deleted, product.created

    • Product fields in Stripe that we use for part of our item

  • price.updated, price.deleted, price.created

    • Price fields in Stripe that we use for part of our item

  • invoice.created, invoice.finalized

    • Invoice flow for creating transfers

  • customer.subscription.deleted

    • To cancel subscriptions in Loop when they're canceled in Stripe

Creating child entities in Loop for Stripe Connect accounts

After your Stripe integration has been set up, you should create child entities in loop that will map to your Stripe Connect accounts in Stripe.

First, you need to grab the account IDs in Stripe of the Stripe Connect accounts you want to create in Loop. You can find the table of Connect accounts in the Connect tab in Stripe:

Follow the guide to create child entities in Loop, and set the externalAccountId field to the Connect account ID for each entity.

That's it! At this point, you will be able to manage crypto payments across all your configured Stripe Connect accounts for your platform or marketplace.

Last updated