[plugin] Stripe Marketplace API Payments

:rocket: Important: This plugin supports both regular api calls as well as api calls to connect to your marketplace connected seller accounts.

:rocket: Each api call has an optional stripe-account header which you can ignore if you do not want to use the marketplace connect feature.

:rocket: Check out on page without redirecting to stripe for single payments or the first payment on a subscription using the Stripe Connect - Payment Element. The Payment Element is an embeddable UI component that lets you accept up to 25+ payment methods with a single integration.

This Stripe plugin is maintained by us and supports marketplace features for Stripe Connect Standard and Stripe Connect Express.

We support SCA checkout with direct charges or destination charges if you wish to control the subscriptions and customers on your own account.

Demo page: http://stripe-connect-standard.bubbleapps.io/

Editor: Stripe-connect-standard | Bubble Editor

Support elements

:arrow_right: Stripe Connect - Payment Element (with event callbacks to instantly track a payment without waiting on webhooks) More on that: Stripe Payment Element | Stripe Documentation
:arrow_right: Stripe Connect - Card Popup (similar to Bubble’s one in V2)

Support data calls

:arrow_right: Stripe Connect - Retrieve an upcoming invoice
:arrow_right: Stripe Connect - Get balance
:arrow_right: Stripe Connect - Get a subscription
:arrow_right: Stripe Connect - List all cards
:arrow_right: Stripe Connect - Retrieve an account
:arrow_right: Stripe Connect - Retrieve a file
:arrow_right: Stripe Connect - List all customer payment methods
:arrow_right: Stripe Connect - Retrieve account capabilities
:arrow_right: Stripe Connect - View upcoming invoices
:arrow_right: Stripe Connect - List all transfers
:arrow_right: Stripe Connect - List all coupons
:arrow_right: Stripe Connect - Retrieve a coupon
:arrow_right: Stripe Connect - Retrieve a customer
:arrow_right: Stripe Connect - List all customers
:arrow_right: Stripe Connect - Retrieve a payment intent
:arrow_right: Stripe Connect - List all account capabilities
:arrow_right: Stripe Connect - Retrieve invoices

Support action calls

:arrow_right: Stripe Connect - Fetch Account ID (used to retrieve details from a connected account)
:arrow_right: Stripe Connect - Disconnect Account (for connect only)
:arrow_right: Stripe Connect - Create a card token (non-pci compliant)
:arrow_right: Stripe Connect - Create a Source
:arrow_right: Stripe Connect - Attach Source to Customer
:arrow_right: Stripe Connect - Get Balance
:arrow_right: Stripe Connect - SCA Hosted Checkout Session Setup
:arrow_right: Stripe Connect - SCA Hosted Checkout Session Payment
:arrow_right: Stripe Connect - SCA Hosted Checkout Session Subscription
:arrow_right: Stripe Connect - Create a direct subscription
:arrow_right: Stripe Connect - Create a destination subscription
:arrow_right: Stripe Connect - Cancel a subscription
:arrow_right: Stripe Connect - Get a subscription
:arrow_right: Stripe Connect - Create a usage record
:arrow_right: Stripe Connect - List all cards
:arrow_right: Stripe Connect - Create a Payment Intent
:arrow_right: Stripe Connect - Confirm a Payment Intent
:arrow_right: Stripe Connect - Capture a Payment Intent
:arrow_right: Stripe Connect - Create a Customer
:arrow_right: Stripe Connect - Delete a Customer
:arrow_right: Stripe Connect - Create an invoice item
:arrow_right: Stripe Connect - Create an invoice
:arrow_right: Stripe Connect - Application fee on invoice
:arrow_right: Stripe Connect - Finalize invoice
:arrow_right: Stripe Connect - Create a transfer
:arrow_right: Stripe Connect - Request capabilities
:arrow_right: Stripe Connect - Express Login Link
:arrow_right: Stripe Connect - Create a Connected Account
:arrow_right: Stripe Connect - Create an account link
:arrow_right: Stripe Connect - Retrieve an account
:arrow_right: Stripe Connect - Create a price
:arrow_right: Stripe Connect - Create a file
:arrow_right: Stripe Connect - Retrieve a file
:arrow_right: Stripe Connect - List a customer payment methods
:arrow_right: Stripe Connect - Attach a payment method to a customer
:arrow_right: Stripe Connect - Detach a payment method from a customer
:arrow_right: Stripe Connect - Create a manual payout
:arrow_right: Stripe Connect - Update destination payment
:arrow_right: Stripe Connect - Create a product
:arrow_right: Stripe Connect - Retrieve account capabilities
:arrow_right: Stripe Connect - List all transfers
:arrow_right: Stripe Connect - Create a transfer reversal
:arrow_right: Stripe Connect - Billing Portal Session
:arrow_right: Stripe Connect - Cancel a payment intent
:arrow_right: Stripe Connect - Create a refund on authorized charge or intent
:arrow_right: Stripe Connect - Stripe Settings - Payout Schedule
:arrow_right: Stripe Connect - Create a subscription
:arrow_right: Stripe Connect - Update a customer payment source
:arrow_right: Stripe Connect - Create a charge
:arrow_right: Stripe Connect - List all coupons
:arrow_right: Stripe Connect - Retrieve a coupon
:arrow_right: Stripe Connect - Update subscription item
:arrow_right: Stripe Connect - Retrieve a customer
:arrow_right: Stripe Connect - List all customers
:arrow_right: Stripe Connect - Delete a subscription item
:arrow_right: Stripe Connect - Create a subscription item
:arrow_right: Stripe Connect - Update a subscription item
:arrow_right: Stripe Connect - Retrieve a payment intent
:arrow_right: Stripe Connect - Pay an invoice
:arrow_right: Stripe Connect - Create a coupon
:arrow_right: Stripe Connect - List all account capabilities
:arrow_right: Stripe Connect - Retrieve invoices
:arrow_right: Stripe Connect - Customer update shipping
:arrow_right: Stripe Connect - Standard Connect
:arrow_right: Stripe Connect - Express Connect
:arrow_right: Stripe Connect - Currency to Symbol
:arrow_right: Stripe Connect - SCA Redirect (used after standard/express connect)
:arrow_right: Stripe Connect - Retrieve an upcoming invoice

3 Likes

looks great!

Just one question which is not related to stripe funtionality directly.

I am looking for a smooth solution of skeleton loaders for a longer time in bubble now.

It seems to work perfectly on your page when clicking on the initialize button.

Could you share how you did that?

Thanks in advance!

Thanks for the feedback. Re the skeleton this is handled by Stripe :wink:

Update (available on next update)

  1. Change font color of input titles
  2. Change background color of the payment element
  3. Return error messages for Stripe payment element

13/11 update:

  • Updated the demo to reflect on how to use the payment functionality for the on-page Stripe Payment Element.
  • Added the ability to use the public key inside the Plugin dynamically to support connected accounts checkout.
  • Create a subscription api call now supports payment_behavior and payment_settings_save_default_payment_method to charge for the first payment using an intent.
  • Retrieve an upcoming invoice API

Updated the demo to display on how to charge for subscriptions:

1 Like

Hi there!

I installed this plugin because I would like to use it for the Payment Element embed. However, I can’t for the life of mine figure out how to actually do it. Unfortunately, the documentation is really limited, confusing and doesn’t provide an actual setting up guide.

I added my public key in the plugin settings:

and then placed the payment element onto the page:

Sadly, nothing is loading when I preview the app (just white space):

I suspect I haven’t set things up correctly, could you provide a step-by-step guide on how to use this plugin? Thank you!

This is exactly what I’ve been looking for but just like @anton5 stated, some documentation would be great. I’ll dive into this more at the top of the week, it looks promising.

@saviorabrams @anton5 you are absolutely right, please see below video on how to implement the embedded experience.

Additionally use this demo to track how it’s used:

1 Like

@nocodeventure I set up the plugin and its working great except that I’m having issues showing the Apple Pay option on the Sripe Element. I have it activated on my Stripe account. I was wondering if you know if there is something on the plugin setup that i need to do to show the apple pay option on the Stripe Element?

@Nicoordonez3 I believe you have to verify your domain. You can upload this file to your SEO / metatags section of your Bubble app at the bottom under Hosting files in the root directory

To register and verify your domain, log in to your Apple Developer account as an Account Holder or Admin. See Register a merchant domain and Verify a merchant domain for the setup steps.

https://developer.apple.com/forums/thread/94631

Upload your .well-known/apple-developer-merchantid-domain-association file to the root hosting directory.

See attached images for your reference.

image

Apple Pay screenshot on Samsung S9.

Quick update: Stripe Checkout Session Payment will no longer return the payment_intent. Instead, you can use the checkout session ID along with the checkout.session.completed webhook to locate the ID in your database.

I’m looking to setup Stripe Connect Custom (not Standard or Express). Will this plugin work for that?

1 Like

For custom connections the integration is quite complex and will not work with this plugin. Should you need a custom version, message us privately and we’ll discuss the possibilities.

I keep getting this error whenever I click a button to initialize the payment intent. It only happens on the first time. What info can I share with you to help me figure out the issue?

Is there an action to update a payment intent?

I have to create a payment intent in order to initialize the payment element. But at that moment I don’t have any info on the “user” making the payment. But at the time the visitor confirms intent and their card is charged that is when I know who they are and want to include that info in their payment.

How can I accomplish this?

Although hands-on support is not available, we would gladly provide assistance if you invite us to your app and privately share a video with us, showing where you need guidance.

I’ve sent you a PM