old_Loopcrypto.xyz
  • Introduction
  • Supported networks and tokens
  • Loop + Frames
  • Learn
    • How Loop works
    • Core components
      • Collecting authorization
        • Enabling payment on multiple networks
        • Accepting ETH and MATIC
      • Sending payment requests
      • Checking a customer's balance & allowance
      • Receipts and reminders
      • Customer portal
    • Loop + your financial stack
      • Linking on-chain transactions with invoices in your ERP system
      • Connecting with accounting software
      • Crypto off-ramp
    • Case studies
  • Dashboard functionality
    • Subscriptions
      • Free trials, discounts and more
      • Auto-invoicing
      • Auto-cancelations
    • One-time payments
    • Scheduling outbound payments
      • Internal notes
    • Editing an upcoming payment
    • Payments for platforms
  • Integrations
    • Stripe + Loop
      • Getting setup
      • Stripe Connect setup
      • Subscriptions
        • Free trials
        • Upgrading a customer or editing a subscription's products
      • Invoicing
      • One-time payments
      • Coupon codes
      • Stripe Connect - Subscriptions
      • FAQs about Stripe integration
    • Chargebee + Loop
      • Getting setup
      • Subscriptions
      • One-time payments
      • Coupon codes
    • Quickbooks + Loop
      • Invoicing
    • Xero + Loop
      • Invoicing
    • Ghost.org + Loop
    • Zapier + Loop
    • Manually add integrations
  • Technical Docs
    • APIs
      • Entity
        • Adding child entities
        • Adding user to child entity
        • Get child entities
      • Items
        • Adding items
          • Item types
          • Categories
        • Retrieving an item
        • Updating an item
        • Deactivating an item
      • Agreements
      • Transfer requests
        • Signing transfer requests
        • Loop CLI
        • Canceling transfer requests
        • Transfer request status
        • Handling unfulfilled transfer requests
        • Validations
      • Webhooks
        • Checking webhook signatures
        • Demo App
        • Slack, Airtable, Discord, Telegram
    • Archeticture
      • Smart contract
        • Deploying your smart contract
          • Modifying smart contract properties
      • Collecting authorization
        • Checkout page
          • Additional functionality
          • Add "pay with crypto" button
        • Checkout widget
          • NPM package readme
        • Checkout parameter examples
      • Providing on-chain payment based access
        • Subscription gated communities
    • Loop SDK
      • Verify Webhook
      • Transfers
      • Error Handling
      • Generating API keys
    • Sample guide: Collect a subscription or one-time payment
    • Integrating the Loop Protocol into your dApp
      • Payroll applications
      • Loan platforms (credit cards, BNPL)
    • Security
      • API Authentication
      • Securing with signatures
      • API Trust assumptions
      • Audits
  • FAQs
  • Company Dashboard
  • Loop Portal
Powered by GitBook
On this page
  • Setup overview
  • Configuring OAuth for Connect accounts
  • Creating an API key to send to Loop
  • Creating child entities in Loop for Stripe Connect accounts
  1. Integrations
  2. Stripe + Loop

Stripe Connect setup

PreviousGetting setupNextSubscriptions

Last updated 1 year ago

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.

Connect accounts should start with "acct_"