Stripe Marketplace Express Plugin

Demo to preview the settings

Introduction

Creating a web app pretty much always requires an integration of a payment system. These systems might be rather simple or very complex, depending on your type of app. Stripe is one of the best software platforms for that, whether you’re creating a subscription service, an on-demand marketplace, an e-commerce store, or a crowdfunding platform. Stripe’s meticulously designed APIs and unmatched functionality help you create the best possible product for your users.
Right now the solutions regarding Stripe API that are offered for Bubble users are very limited and require additional development for the functionalities you want your platform to have. Not to mention that the existing solutions are not very well optimized when it comes to developing a more complex service.
This is where we decided to create a plugin that offers pretty much all the tools for setting up a medium to high-complexity payment system with optimization and high performance in mind. You won't need to install multiple plugins or develop additional basic functionalities that other plugins are lacking.
Also, we minimized the number of action calls to the minimum for achieving a faster performance and a more clean workflow. And if you still don't find what you need don't worry we are constantly updating the plugin with new functionalities.
Stripe Marketplace is SCA -Ready plugin that comes with the SCA element token to authenticate, the online payments flow requires the use of 3D Secure for card payments.

Prerequisites

You must have an account with Stripe to interact with the Stripe API. Create your development account at https://dashboard.stripe.com/

Tutorial

Stripe Marketplace Express Plugin Tutorial
Stripe Marketplace Express Plugin Tutorial

Setup requirements

First, you will need to go to stripe.com and register an account.
After you have successfully verified your email address and activated your account, under the Activate your account tab, you can start setting up stripe features you need.
Image without caption
After that, you will need to set up the keys for the plugin. To find the keys go to your stripe dashboard and find API keys under the Developers tab. You need to copy the Publishable and Secret keys both for live and development versions.
Make sure when adding the secret keys to the plugin to add text 'Bearer' before the key (do this just for the secret key) to use it in plugin settings.
Image without caption
Also, make sure you have enabled stripe Connect (Build a platform or marketplace).
Image without caption
Once you've got the keys from Stripe dashboard, for both Live and Development versions place them in Plugins Settings Tab for the Stripe Marketplace Plugin, which should look like this:
Image without caption

Plugin calls & elements

Elements

This plugin has 2 elements:
  • One is called Stripe Marketplace Token. It is used for creating a bank account or card token.
Image without caption
Note: You just have to place the Stripe Marketplace Token on the page and call it from within the workflow when you are trying to convert a form into the token.
Using the Stripe Marketplace Token you can create:
  • a credit card token
  • a bank account token
  • PII token
Image without caption
Note: To use the token you will have to add another workflow that will run when the token is created.
Create ID Number Token Use Create ID Number Token action to convert personally identifiable information (PII) into a single-use token for account identity verification.
Fields:
Title
Description
Type
Personal ID number
The personal ID number. Example: 123131185
text
There you can use the token to create a customer and assign him a credit card, create a stripe seller, or make a payment using the token you have created.
Image without caption
Also, you can add an additional workflow that will check for errors during the token creation thus giving you the option to set up a custom solution for the users.
  • Another element is called SCA. It is primarily used to meet Strong Customer Authentication requirements when setting up the payment process.
Image without caption
Note: To use the SCA actions you will need to place the SCA element on the page.
Using the SCA you can:
  • access a previously created Session which is related to pretty much all other SCA-related action calls

Stripe Marketplace Token Action Calls

All the calls that have multiple fields to be filled in were developed to contain all the necessary parameters stripe requires. Some of them might have a lot of fields but the idea is that you can choose what you want to be filled in while leaving the others blank. This way we maximized the performance of sending requests by having at maximum only 1 being sent while still giving you to option to choose what your request will contain. Also when using an action call, check the documentation for each field it has, for a better understanding of how it works.

Connect express/standard account

This call is used to create an Oauth link for users who already have a stripe account and want to connect to your platform.
It also gives the option for users to register if they don't have an account and after completing the registration to be linked to your platform. It works both for express and standard account types.
In order to fully set up the Oauth flow, you will also have to use the Complete express/standard account connection to complete the onboarding.
Image without caption
Image without caption
Title
Description
Type
Account Type
The type of account you want to connect. Standard or Express
Dropdown
Business Type
The business type for the account. Individual or Company
Dropdown
Action Type
"login" or "register", depending on what type of screen you want your users to see. Only override this to be "login" if you expect all your users to have Stripe accounts already (e.g., most read-only applications, like analytics dashboards or accounting software). Defaults to "login" for scope "read_only" and "register" for scope "read_write".
Dropdown
Scope
"read_write" or "read_only", depending on the level of access you need. Defaults to "read_only".
Text
Redirect Uri
The URL for the authorize response redirect. If provided, this must exactly match one of the comma-separated redirect_uri values in your application settings. Defaults to the redirect_uri in your application settings if not provided.
Text
Capabilities
An array of capabilities to apply to the connected account (e.g. transfers, card_payments). Make sure to verify your stripe account to have capabilities enabled.
Text
User Email
The user's email address. Must be a valid email format.
Text
Open in new tab
Use this if you want the registration/login page to be opened in a new browser tab.
Checkbox

Complete express/standard account connection

This action call is used to complete the express/standard onboarding. After the stripe login/registration the user lands back on the platform with a URL parameter "code" of text type which you should send to stripe to complete the onboarding.
Also, you should save the resulted "stripe_user_id" to the database for future use.
Image without caption
Image without caption
Title
Description
Type
code
Use "Get data from page URL" where data is a type text parameter called "code"
text

Create a seller - Individual

So this is one of the main calls that was kept in mind during the development of the plugin. It provides the ability to create a stripe custom account with all the necessary fields needed for it to be verified from the start, tho you have the choice of not filling in all the fields present there.
This action call should be used only when creating accounts for individuals.
Before creating a custom account you might want to create a bank account token first and use it so the created account has a bank account attached to it from the start.
💡
Also, some of the fields are region related (should be filled in for US only accounts) so check each field's documentation.
Added the option to submit a personal ID number in the new PII token field. You can either create a token, using the Create a number ID token action call and submit the token ID or simply submit the personal ID without tokenizing it.
Image without caption
Image without caption
Image without caption
Title
Description
Type
Capabilities
The set of capabilities you want to unlock for this account (US only). An account may have some of its requested capabilities be active and some be inactive Example: card_payments,transfers.
Text
Bank Account Token
Fill with the token that was created using the 'Create bank account' action.
Text
Country Code
The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you’re creating an account is legally represented in Canada, you would use 'CA' as the country for the account being created.
Text
Currency Code
Three-letter ISO currency code representing the default currency for the account. Example: 'USD' for US Dollars, 'GBP' for British Pound.
Text
Individual Information
Email
The email address of the account holder.
Text
First Name
The individual’s first name.
Text
Last Name
The individual’s last name.
Text
Phone Number
The individual’s phone number.
Text
Date of Birth
The individual’s date of birth.
Date
SSN Last 4
The last four digits of the individual’s Social Security Number (U.S. only).
Text
ID Document Front
Fill with a token created with 'Create file for upload' action.
Text
ID Document Back
Fill with a token created with 'Create file for upload' action.
Text
Business Profile
Name
Business Name
Text
MCC
The merchant category code for the account. MCCs are used to classify businesses based on the goods or services they provide.
Number
Website
The business’s publicly available website.
Text
Address Information
Address Line 1
The complete address of the account holder. It must look like this: 'Street, City, State, Zip code, Country code'
Text
Address Line 2
Additional address info
Text
City
Text
State
Text
Zip Code
Text
TOS Acceptance Information
IP Address
The IP address from which the account representative accepted the Stripe Services Agreement.
Text
Date
The date marking when the account representative accepted the Stripe Services Agreement. Use 'Current date/time'.
Date
Additional Verification Documents
Document Front
Fill with a token created with 'Create file for upload' action.
Text
Document Back
Fill with a token created with 'Create file for upload' action.
Text
PII Token
Creates a single-use token that represents the details of personally identifiable information (PII). This token can be used in place of an id_number in Account or Person Update API methods. A PII token can be used only once.
Text
Tos acceptance
Connected accounts can be under one of the following service agreement types: full or recipient. After the connected account’s service agreement is accepted, the type of service agreement can’t be modified.
Dropdown

Update a seller - Individual

It's almost the same as the Create a seller - Individual the difference being that it is used for updating an account.
Also, it has one extra field which is required and that is the ID of the account you want to update. Use this action call for setting up an account verification flow, so users could create an account but if some of their submitted info failed stripe verification they could resubmit it again.
Added the option to submit a personal ID number in the new PII token field. You can either create a token, using the Create a number ID token action call and submit the token ID or simply submit the personal ID without tokenizing it.

Create a seller - Company

This action call is also used for creating a stripe custom account but it should be used only when creating accounts for companies.
Also it is required you use the Create a person action call so you can add executives, representatives and owners to the created account.
Title
Description
Type
Capabilities
The set of capabilities you want to unlock for this company (US only). An account may have some of its requested capabilities be active and some be inactive Example: card_payments,transfers.
Text
Bank Account Token
Fill with the token that was created using the 'Create bank account' action.
Text
Country Code
The country in which the company resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you’re creating an account is legally represented in Canada, you would use 'CA' as the country for the account being created.
Text
Currency Code
Three-letter ISO currency code representing the default currency for the account. Example: 'USD' for US Dollars, 'GBP' for British Pound.
Text
Company Information
Email
The email address of the company.
Text
Company Name
The company's name.
Text
Phone Number
The company’s phone number.
Text
MCC
The merchant category code for the account. MCCs are used to classify businesses based on the goods or services they provide.
Number
Website
The business’s publicly available website.
Text
Address Information
Address Line 1
The complete address of the company. It must look like this: 'Street, City, State, Zip code, Country code'.
Text
Address Line 2
Additional address info
Text
City
Text
State
Text
Zip Code
Text
TOS Acceptance Information
IP Address
The IP address from which the account representative accepted the Stripe Services Agreement.
Text
Date
The date marking when the account representative accepted the Stripe Services Agreement. Use 'Current date/time'.
Date
Tax ID
The business ID number of the company, as appropriate for the company’s country. (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.)
Text
Vat ID
The VAT number of the company.
Text

Update a seller - Company

It's almost the same as the Create a seller - Company the difference being that it is used for updating a company account.
Also it has one extra field which is required and that is the ID of the company account you want to update. Use this action call for setting up a company account verification flow, so users could create a company account but if some of their submitted info failed stripe verification they could resubmit it again.

Create a person

As described above this action call is used to add executives, representatives and owners to a custom account that is of a company type.
Added the option to submit a personal ID number in the new PII token field. You can either create a token, using the Create a number ID token action call and submit the token ID or simply submit the personal ID without tokenizing it.
Title
Description
Type
Company ID
The account that the person is associated with.
Text
Job Title
The person’s title (e.g., CEO, Support Engineer).
Text
Percent Ownership
The percent owned by the person of the account’s legal entity.
Number
Director
Check this if a person you want to add is a 'Director'.
Checkbox
Executive
Check this if a person you want to add is an 'Executive'.
Checkbox
Owner
Check this if a person you want to add is an 'Owner'.
Checkbox
Representative
Check this if a person you want to add is a 'Representative'.
Checkbox
Email
The email address of the account holder.
Text
First Name
The person’s first name.
Text
Last Name
The person’s last name.
Text
Phone Number
The person’s phone number.
Text
Date of Birth
The person’s date of birth.
Date
SSN Last 4
The last four digits of the personl’s Social Security Number (U.S. only).
Text
ID Document Front
Fill with a token created with 'Create file for upload' action.
Text
ID Document Back
Fill with a token created with 'Create file for upload' action.
Text
Address Information
Address Line 1
The complete address of the person. It must look like this: 'Street, City, State, Zip code, Country code'.
Text
Address Line 2
Additional address info
Text
City
City
Text
State
State
Text
Zip Code
Zip Code
Text
Additional Verification Documents
Document Front
Fill with a token created with 'Create file for upload' action.
Text
Document Back
Fill with a token created with 'Create file for upload' action.
Text
PII Token
Creates a single-use token that represents the details of personally identifiable information (PII). This token can be used in place of an id_number in Account or Person Update API methods. A PII token can be used only once.
Text

Update a person

This action call is used to update details of a person linked to a specific company. You need to provide the ID of the company and of the person that must be linked to the specified company.
Added the option to submit a personal ID number in the new PII token field. You can either create a token, using the Create a number ID token action call and submit the token ID or simply submit the personal ID without tokenizing it.

Delete a seller

This action call gives the option for the admin to delete users that are connected to the platform. Tho it should be used only when deleting testing sellers and not the real ones.
Title
Description
Type
Account ID
ID of the seller account you want to delete.
text

Create a file

Using this action call you can encrypt a government issued identification document of a user to be sent with the Create a seller/Update a seller action call for verification.
You will need to use this call two times to create two versions of the document, one from the front and one from behind and use the resulted ID in the Create a seller/Update a seller action call.
Title
Description
Type
file
Upload an image file of your document ID. Make sure your file isn't too large.
File

Create a customer

This action creates a customer on the platform. Before creating the customer you should create a card token to be used in this action call, that will become the customer's default source, tho you can do it later using the Update a customer call.
You need to store the ID of the added card source for later use.
Title
Description
Type
Full name
Customer's full name.
Text
Email
Customer's email.
Text
Payment source
A token created using the 'Create a card token' action. Use only if you intend to use Charges API.
Text

Update a customer

Update a customer action call gives the option to change the details of a customer. It's main use would be to change the default source of a customer (which means that a card from a user that has multiple cards will be selected to become his new default source).
Title
Description
Type
Customer ID
ID of the customer you want to make changes to.
Text
Full name
Customer's Customer's full name..
Text
Email
Customer's email.
Text
Default source
Provide the ID of a payment source already attached to this customer to make it this customer’s default payment source.
Text
Default payment method
ID of a payment method that’s attached to the customer, to be used as the customer’s default payment method for subscriptions and invoices.
Text

Create a card

This action call is used to add a card to a customer. The added card will just be added to the list of cards the customer has without replacing others (it will become the default source card only if the customer has no cards). You need to store the ID of the created card for later use.
Title
Description
Type
Customer ID
ID of the customer you want to create a card for.
Text
Source(token)
The token created with the "Create card token" call.
Text

Delete a card

Delete a card - action call is used to delete a card from a customer. If you delete a card that is currently the default source, then the most recently added source will become the new default.
Title
Description
Type
Customer ID
The ID of the customer that owns the card you want to delete.
Text
Card ID
The ID of the customer's card you want to delete.
Text

Delete a bank account

Using this action call you can delete destination bank accounts from a custom account. Make sure to add another bank account using the Update a seller call.
Title
Description
Type
Account ID
ID of the seller account that owns the bank account you want to delete.
Text
Bank Account ID
ID of the bank account you want to delete.
Text

Platform charge a customer (Create a charge)

This action is used for charging customers as the platform. It means that you as the platform owner will charge other people and the money will be sent to your account.
Title
Description
Type
Amount
A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
Number
Currency
Three-letter ISO currency code, in lowercase. Must be a supported currency.
Text
Customer ID
ID of the customer you want to charge.
Text
Source
A payment source to be charged. This can be the ID of a card (i.e., credit or debit card), a bank account, a source, a token, or a connected account.
Text
Description
An arbitrary string which you can attach to a Charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the description of the charge(s) that they are describing
Text

Create a refund

Create a refund action is used to refund a payment either to a seller by passing the "Stripe-account" parameter or to a platform if leaving that parameter empty. Also you may want to pass the "amount" of a value of the total payment amount minus stripe's fee which you will have to calculate.
Title
Description
Type
Stripe-Account
ID of the account that received the payment you want to refund. Leave this empty if the platform was the one receiving the payment.
Text
amount
A positive integer in cents representing how much of this charge to refund. You can use this to subtract stripe's fee which is not refundable.
Number
charge
The ID of the charge you want to refund. Leave it empty if you want to refund a payment intent.
Text
refund_application_fee
Boolean (true or false va) indicating whether the application fee should be refunded when refunding this charge.
Boolean
reason
String indicating the reason for the refund. If set, possible values are "duplicate", "fraudulent", and "requested_by_customer". If you believe the charge to be fraudulent, specifying "fraudulent" as the reason will add the associated card and email to your block lists, and will also help us improve stripe's fraud detection algorithms.
Text
payment_intent
The ID payment intent you want to refund. Leave it empty if you want to refund a charge.
Text

Seller charge a customer

This action call gives the option for stripe accounts connected to your platform to charge customers while you as the platform owner will receive a fee from that transaction. The source for this action call needs to be the resulted ID from the Link a customer to seller call.
Title
Description
Type
Stripe-Account
ID of the seller account
Text
Currency
Three-letter ISO currency code, in lowercase. Must be a supported currency.
Text
Source(token)
A payment source to be charged. Use the "Link a customer to a seller call" to create a token.
Text
APP fee
A fee in cents that will be applied to the charge and transferred to the application owner’s Stripe account.
Number
Capture now
Whether to immediately capture the charge. Defaults to true. When false, the charge issues an authorization (or pre-authorization), and will need to be captured later. Uncaptured charges expire in seven days.
Text
Amount
The total amount the customer will be charged.
Number
Description
An arbitrary string which you can attach to a Charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the description of the charge(s) that they are describing
Text

Link a customer to a seller

As described above this action call is used when a connected custom account needs to charge a customer. If the customer doesn't have a card source you should add one first and then use its ID in this action call. Also, this call gives the option for customers to use a card from their list of saved cards. To retrieve the list of a customer's cards uses the Retrieve a customer action call.
Title
Description
Type
Card ID
The ID of ca customer's card.
Text
Customer ID
The ID of the customer.
Text
Stripe-Account
The ID of the seller.
Text

Retrieve a customer

Retrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation.
Title
Description
Type
Customer ID
ID of the customer you want to retrieve.
Text

Retrieve a seller

Retrieves the details of an account. The type of the stripe account doesn't matter you can also get information about standard or express accounts that are connected to your platform.
ID of the customer you want to retrieve.
Title
Description
Type
Stripe-Account
The ID of the connected stripe account you want to retrieve the balance from. Leave it empty if you want to retrieve the platform's balance instead.
Text

Retrieve all charges

Returns a list of charges of a connected account. The charges are returned in sorted order, with the most recent charges appearing first.
Image without caption
Title
Description
Type
Stripe-Account
ID of the account you want to retrieve charges from. If not provided the platform's charges will be listed instead.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Number
starting_after
A cursor for use in pagination. Use an ID of a charge to show the other charges that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a charge to show the other charges that are listed before it.
Text

Retrieve all payouts

Returns a list of existing payouts sent to third-party bank accounts or that Stripe has sent to a connected account. The payouts are returned in sorted order, with the most recently created payouts appearing first.
Image without caption
Title
Description
Type
Stripe-Account
ID of the account you want to retrieve payouts from. If not provided the platform's payouts will be listed instead.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Number
starting_after
A cursor for use in pagination. Use an ID of a payout to show the other payouts that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a payout to show the other payouts that are listed before it.
Text

Retrieve a seller's balance

This action call is used to retrieve a user's balance if the "Stripe-account" field is filled in. Otherwise, it will retrieve the current balance of the platform.
Title
Description
Type
Stripe-Account
The ID of the connected stripe account you want to retrieve the balance from. Leave it empty if you want to retrieve the platform's balance instead.
Text

Create a subscription

Creates a new subscription for an existing customer. Before subscribing customers to plans make sure you have created some plans in your Stripe dashboard and use the ID of the plan you want the customer to subscribe to. To create a plan you need to go to Stripe dashboard -> Billing -> Products and create a product to which you can then attach a plan.
When creating a subscription make sure to store the resulted Subscription ID, Subscription item ID for later use.
Title
Description
Type
Customer ID
The ID of the customer you want to create a subscription for.
Text
Plan ID
ID of the plan you want the customer to subscribe to.
Text
Trial end
The date and time representing the end of the trial period the customer will get before being charged for the first time.
Date
Proration Behavior
Determines how to handle prorations resulting from the billing_cycle_anchor. If no value is passed, the default is create_prorations. Choices: create_prorations, none, always_invoice
Dropdown
Card ID
ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer’s default source.
Text
Billing cycle anchor
A future timestamp to anchor the subscription’s billing cycle. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
Text

Update a subscription

Updates an existing subscription to match the specified parameters. This action call has multiple uses depending on what fields you fill in.
Update a subscription action call gives you the option to:
  • Change the plan /* If you want to replace the current plan of a customer with another you will have to fill in these fields: Subscription ID, Subscription item ID, and the Plan ID of the new plan you want to subscribe a customer to.*/
  • Add additional plans /* A customer can be subscribed to multiple plans. To add an additional plan to a customer you will need to fill in these fields: Subscription ID, and the Plan ID. This will create another Subscription item ID so make sure you store it somewhere for later use.*/
  • Change the billing source /* If you want to change the default billing source for a customer's subscription you will need to fill in the Card ID field with an existing card ID from that customer.
  • Cancel the subscription /* To cancel an existing subscription at the end of the current billing period just fill in the Subscription ID and Cancel at the period end fields.*/
Image without caption
Title
Description
Type
Subscription ID
The ID of the subscription you want to update.
Text
Subscription item ID
Subscription item to update. Leave this empty if you just want to add an additional plan to the existing subscription.
Text
Plan ID
The ID of the plan. If the 'Subscription item ID' field is empty, a new subscription item will be created with the plan you have selected, making so the user will have an additional plan. If the 'Subscription item ID' is not empty then the plan you have selected will replace the existing plan from the subscription.
Text
Trial end
The date and time representing the end of the trial period the customer will get before being charged for the first time.
Date
Proration Behavior
Determines how to handle prorations resulting from the billing_cycle_anchor. If no value is passed, the default is create_prorations. Choices: create_prorations, none, always_invoice
Dropdown
Cancel at the period end
Boolean indicating whether this subscription should cancel at the end of the current period. Use if you want to cancel the subscription.
Yes/No
Card ID
ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. Use if you want to change the customer’s billing source for this subscription.
Text
Billing cycle anchor
A future timestamp to anchor the subscription’s billing cycle. This is used to determine the date of the first full invoice, and, for plans with month or year intervals, the day of the month for subsequent invoices. The timestamp is in UTC format.
Text

Create dashboard link (for express accounts only!)

Creates a link for a connected account of express type to access their stripe dashboard. Here users can update their accounts, view payments, and payouts.
Title
Description
Type
Seller ID
ID of the express account you want to create a dashboard link for.
Text

Retrieve all invoices

This action call returns the existing invoices on the platform or of a specific customer or subscription. To retrieve invoices of a specific customer just fill in the customer field, to retrieve invoices related to a specific subscription just fill in the subscription field, and to retrieve all the invoices on the platform just leave the mentioned fields above empty.
The other fields are used for sorting and pagination.
Title
Description
Type
customer
Only return invoices for the customer specified by this customer ID.
Text
subscription
Only return invoices for the subscription specified by this subscription ID.
Text
status
The status of the invoice, one of draft, open, paid, uncollectible, or void.
Text
ending_before
A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
Text
starting_after
A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
Text

Creating separate charges and transfers

You can make charges on your platform account on behalf of connected accounts, perform transfers separately, and retain funds in the process.
Title
Description
Type
Destination AccountID №1
The Account id destination №1
Text
Amount transfer №1
The amount transfer №1
Text
Destination AccountID №2
The Account id destination №2
Text
Amount transfer №2
The amount transfer №2
Text
Info
Currency
Three-letter ISO currency code, in lowercase. Must be a supported currency.
Text
Amount general
The total amount
Text
Order name
Name of order. example: orderSeparate1
Text

SCA Actions

Create a session (SCA related)

This action call is used to create a Checkout Session that represents your customer's session as they pay for one-time purchases or subscriptions. It should be used to start the process of collecting card details and creating a customer, to pay for an item or a subscription.
Specifically, there are 3 modes that can be used: setup, payment, and subscription. Right now the SCA part of the plugin is built around setup and payment modes. The App fee parameter is no longer obligatory when sending the Seller ID in the request.
Image without caption
Image without caption
Image without caption
Title
Description
Type
Name
The name for product.
Text
Description
The description for the product, to be displayed on the Checkout page.
Text
Currency
Three-letter ISO currency code, in lowercase.
Text
Quantity
The quantity of the product being purchased.
Number
Price Amount
A positive integer in cents representing how much to charge. For example entering a value of 100 will charge 1$.
Number
Image
A list of images representing this product.
Image
Success URL
The URL to which Stripe should send customers when payment or setup is complete.
Text
Cancel URL
The URL the customer will be directed to if they decide to cancel payment and return to your website.
Text
Customer
ID of an existing customer, if one exists. The email stored on the customer will be used to prefill the email field on the Checkout page. If the customer changes their email on the Checkout page, the Customer object will be updated with the new email.
Text
Customer Email
If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file.
Text
Mode
The mode of the Checkout Session, one of payment, setup or subscription.
Text
PaymentIntent Data
Seller ID
If the funds are intended for a connected account fill this in with the ID of the seller that should receive the payment.
Text
Application Fee Amount
The amount of the application fee in cents (if any) that will be applied to the payment and transferred to the application owner’s Stripe account.
Text
Capture Method
Controls when the funds will be captured from the customer’s account. Use 'automatic' for instant capture or 'manual' for capturing the funds later.
Text
On Behalf Of
The Stripe account ID for which these funds are intended.
Text
Receipt Email
Email address that the receipt for the resulting payment will be sent to.
Text
Setup Future Usage
Indicates that you intend to make future payments with this PaymentIntent’s payment method. Use 'on_session' if you intend to only reuse the payment method when your customer is present in your checkout flow. Use 'off_session' if your customer may or may not be present in your checkout flow.
Text
Submit Type
Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. submit_type can only be specified on Checkout Sessions in payment mode. Possible values are 'auto', 'pay', 'book' or 'donate'.
Text
Price ID
The ID of the Price or Plan object. Both are created within the stripe dashboard.
Text
Subscription Data
Coupon
The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.
Text
Trial End
Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. Has to be at least 48 hours in the future.
Text

Creating destination charges (SCA related)

You can create charges on your platform account, take fees, and then transfer the remaining funds to your connected accounts
Title
Description
Type
Name
The name of the product.
Text
Description
The description for the product, to be displayed on the Checkout page.
Text
Amount
A positive integer in cents represents how much to charge. For example entering a value of 100 will charge 1$.
Number
Currency
Three-letter ISO currency code, in lowercase.
Text
Application fee amount
The amount collected as an application fee is capped at the total transaction amount.
Number
Destination Account ID
If the funds are intended for a connected account fill this in with the ID of the seller that should receive the payment.
Text
quantity
The quantity of the product being purchased.
Number
imageURL
An image represents this product.
Image
Success URL
The URL to which Stripe should send customers when payment or setup is complete.
Text
Cancel URL
The URL the customer will be directed to if they decide to cancel the payment and return to your website.
Text

Go to checkout (SCA related)

Use this to redirect a user to the checkout page using a previously created session. For doing this the element SCA should be on the page.
Title
Description
Type
Session ID
The ID of the Checkout Session that is used in Checkout's client and server integration.
Text
Seller ID
A connected account ID (e.g., acct_24BFMpJ1svR5A89k) allows you to perform actions on behalf of that account.
Text

Clone a customer's payment method (SCA related)

It is used for creating a payment source for a transaction between a connected account (seller) and the platform's customer.
Title
Description
Type
Stripe-Account
ID of the connected account you are cloning a platform customer for.
Text
customer
ID of the customer you want the connected account to have access.
Text
payment_method
ID of the customer's payment method that you want to clone.
Text

Attach a payment method to a customer (SCA related)

Used to attach a payment method to a customer so it could be saved for later uses. To get the payment method ID, first, a session should be created, and right after it saves the Intent ID it returns. After the user will successfully exit the session, the action call Retrieve Setup Intent should be used to get the payment method ID which then can be attached to a customer.
Title
Description
Type
Payment method ID
ID of the payment method you want to attach to a customer.
Text
customer
ID of the customer you want to attach the payment method to.
Text

Detach a payment method from a customer (SCA related)

Used to detach a payment method from a customer.
Title
Description
Type
Payment method ID
ID of the payment method you want to delete from a customer.
Text

Create a payment intent (SCA related)

This action call creates a payment intent. Use this when you want to make a payment without the user entering the checkout form (Create a session action call).
Title
Description
Type
Stripe-Account
ID of the account the payment intent is intended for. Leave it empty if the payment intent is intended for the platform.
Text
amount
A positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
Text
currency
Three-letter ISO currency code, in lowercase. Must be a supported currency.
Text
payment_method
ID of the payment method (a PaymentMethod, Card, or compatible Source object) to attach to this PaymentIntent.
Text
customer
ID of the Customer this PaymentIntent belongs to, if one exists. Payment methods attached to other Customers cannot be used with this PaymentIntent.
Text
application_fee_amount
The amount of the application fee (if any) that will be applied to the payment and transferred to the application owner’s Stripe account.
Text
confirm
Set to true to attempt to confirm this PaymentIntent immediately. This parameter defaults to false.
Boolean
off_session
Set to true to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and charge them later. This parameter can only be used with confirm=true.
Boolean
receipt_email
Email address that the receipt for the resulting payment will be sent to.
Text
capture_method
Controls when the funds will be captured from the customer’s account. Use 'automatic' for instant capture or 'manual' for capturing the funds later.
Text
description
An arbitrary string attached to the object. Often useful for displaying to users.
Text

Confirm a payment intent (SCA related)

Use this action to confirm a payment intent. You may set the payment intended to be confirmed later when using Create a payment intent action call with the parameter "confirm" set to "true".
Title
Description
Type
Payment intent ID
The ID of the payment intent that you want to confirm.
Text
Stripe-Account
ID of the account the payment intent was intended for. Leave it empty if the payment intent was intended for the platform.
Text

Capture a payment intent (SCA related)

Use this action to confirm a payment intent. You may set the payment intended to be confirmed later when using Create a payment intent action call or Create a session call with the parameter "capture" set to "manual". Added the option to set the App fee when capturing a payment intent.
Title
Description
Type
Payment intent ID
The ID of the payment intent that you want to capture.
Text
Stripe-Account
ID of the account the payment intent was intended for. Leave it empty if the payment intent was intended for the platform.
Text
amount_to_capture
The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Leave this empty to capture the full amount.
Text
application_fee_amount
The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner’s Stripe account. The amount of the application fee collected will be capped at the total payment amount.
Text

Retrieve a session (SCA related)

This action call is used to get the details of a session that has previously been created.
Title
Description
Type
Session ID
ID of the session you want to retrieve. Use this after a session is complete to store information about the created payment intent, customer ID, payment method and other useful information that can be used later.
Text
Stripe-Account
ID of the account.
Text

Retrieve a setup intent (SCA related)

This action call is used to get the details of a setup intent that has previously been created. For example, you can get the payment method ID to attach it to a customer.
Title
Description
Type
SetupIntent ID
Id of the setup intent you want to retrieve. Retrieving a setup intent returns the payment method that can be attached to a customer for later uses.
Text

Retrieve a customer's payment methods (SCA related)

Retrieves all the payment methods a customer has.
Title
Description
Type
customer
ID of the customer you want to retrieve payment methods for.
Text
type
A required filter on the list, based on the object type field.
Text

Retrieve all payment intents (SCA related)

Returns a list of payment intents of a connected account or of the platform.
Image without caption
Title
Description
Type
Stripe-Account
ID of the account you want to retrieve payment intents from. If not provided the platform's payments will be listed instead.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Text
starting_after
A cursor for use in pagination. Use an ID of a payment intent to show the other payments that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a payment intent to show the other payments that are listed before it.
Text

Create a billing portal session (SCA related)

This action call is similar to "Create a session" taking place on the same checkout page but it is different by providing the customer a different set of options which are mostly related to plans. For example, the user can upgrade or cancel his subscription plan there.
Title
Description
Type
customer
The ID of an existing customer.
Text
return_url
The URL to which Stripe should send customers when they click on the link to return to your website. This field is required if a default return URL has not been configured for the portal.
Text

Data Calls

Retrieve a seller

This call is used to get a seller.
Title
Description
Type
Account ID
ID of the account you want to retrieve.
Text

Retrieve a customer

This call is used to get a customer.
Title
Description
Type
Customer ID
ID of the customer you want to retrieve.
Text

Retrieve all charges

This call is used to list all charges.
Title
Description
Type
Stripe-Account
ID of the account you want to retrieve charges from. If not provided the platform's charges will be listed instead.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Text
starting_after
A cursor for use in pagination. Use an ID of a charge to show the other charges that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a charge to show the other charges that are listed before it.
Text

Retrieve all payouts

This call is used to list all payouts.
Title
Description
Type
Stripe-Account
ID of the account you want to retrieve payouts from. If not provided the platform's payouts will be listed instead.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Text
starting_after
A cursor for use in pagination. Use an ID of a payout to show the other payouts that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a payout to show the other payouts that are listed before it.
Text

Retrieve a setup intent

This call is used to get setup intent.
Title
Description
Type
SetupIntent ID
Id of the setup intent you want to retrieve. Retrieving a setup intent returns the payment method that can be attached to a customer for later uses.
Text

Retrieve all payment intents

This call is used for all payment intents.
Title
Description
Type
Stripe-Account
Id of the setup intent you want to retrieve. Retrieving a setup intent returns the payment method that can be attached to a customer for later uses.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100.
Text
starting_after
A cursor for use in pagination. Use an ID of a payment intent to show the other payments that are listed after it.
Text
ending_before
A cursor for use in pagination. Use an ID of a payment intent to show the other payments that are listed before it.
Text

Retrieve a session

This call is used to get a session.
Title
Description
Type
Session ID
ID of the session you want to retrieve. Use this after a session is complete to store information about the created payment intent, customer ID, payment method and other useful information that can be used later.
Text
Stripe-Account
ID of the account.
Text

Retrieve a seller's balance

This call is used to get a seller's balance.
Title
Description
Type
Stripe-Account
The ID of the connected stripe account you want to retrieve the balance from. Leave it empty if you want to retrieve the platform's balance instead.
Text

Retrieve all invoices

This call is used for all invoices.
Title
Description
Type
customer
Only return invoices for the customer specified by this customer ID.
Text
subscription
Only return invoices for the subscription specified by this subscription ID.
Text
status
The status of the invoice, one of the draft, open, paid, uncollectible, or void.
Text
ending_before
A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
Text
starting_after
A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
Text
limit
A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10.
Text

Retrieve a customer's sources

This call is used to get a customer's sources.
Title
Description
Type
CustomerID
ID of the customer you want to retrieve cards for.
Text

Retrieve a customer's payment methods

This call is used to list all the payment methods of a known stripe customer.
Title
Description
Type
customer
ID of the customer you want to retrieve payment methods for.
Text
type
A required filter on the list, based on the object type field.
Text

Retrieve a payment intent

This call is used to get a payment intent.
Title
Description
Type
Paymentintent ID
Payment intent ID
Text

Retrieve all coupons

This call is used to all coupons.
Title
Description
Type
ending_before
A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
Text
starting_after
A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
Text
limit
A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
Text

Retrieve a price/plan

This call is used to get a price/plan.
Title
Description
Type
Price ID
ID of te plan/price you ant to retrieve.
Text

Retrieve all prices

This call is used to all prices.
Title
Description
Type
active
Only return prices that are active or inactive (e.g., pass false to list all inactive prices).
Text
currency
Only return prices for the given currency.
Text
product
Only return prices for the given product.
Text
type
Only return prices of type recurring or one_time.
Text
ending_before
A cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
Text
starting_after
A cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.
Text
limit
A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10.
Text

Events

Title
Description
Card Token Created
When card token was created
Bank Account Token Created
When Bank Account Token Created was created
ID Number Token created
When ID Number Token was created
Error
When Error

States

Title
Description
Card Token
The created card token.
Bank Account Token
The created bank account token
Status code
Error Code
Error Message
The Error Message.
Error Type
Card ID
The created card id.
Client IP
IP address of the client that generated the token.
Created
Time at which the object was created. Measured in seconds since the Unix epoch.
PII Token
Creates a single-use token that represents the details of personally identifiable information (PII). This token can be used in place of an id_number in Account or Person Update API methods. A PII token can be used only once.
Livemode
Has the value true if the object exists in live mode or the value false if the object exists in test mode.
Used
Whether this token has already been used (tokens can be used only once).

Changelogs

Update 30/10/20 -

  • Added the retrieve of invoices functionality, improved capture of payment intents, and creation of a session action calls

Update 09/02/21-

  • Improvement calls with PII Token

Update 06/04/21 -

  • Added separate calls for retrieving customers’ cards & payment methods.

Update 04/10/21 - Version: 1.42.0.

  • Added the option to use coupons when creating a session in payment mode & other minor fixes

Update 28/07/22 - Version: 1.47.0.

  • "Fixed Error event"

Update 13.11.22 - Version: 1.55.0.

  • Fixed the "Create a transfer" action

Update 19.12.22 - Version: 1.56.0.

  • Added "Creating destination charges" action

Update 03.01.23 - Version: 1.57.0

  • Fixed "Creating destination charges" action

Update 10.01.23 - Version: 1.58.0

  • Fixed "Creating destination charges", and "Go to checkout" actions

Update 20.01.23 - Version: 1.59.0

  • Fixed "Connect express/standard account" action

Update 23.01.23 - Version: 1.61.0

  • Fixed "Creating destination charges" action

Update 23.01.23 - Version: 1.62.0

  • minor edits

Update 1.02.23 - Version: 1.63.0

  • minor fixes

Update 12.04.23 - Version 1.68.0

  • Updated "Go to checkout" action

Update 10.08.23 - Version 1.78.0

  • Added a "Stripe-Account" field for the "Create a customer" action.

Update 17.08.23 - Version 1.80.0

  • Added "Retrieve a refund", and "Cancel a refund" acton calls and minor fixes

Update 05.09.23 - Version 1.81.0

  • Added "Currency" field in "Create Card Token" action

Update 14.09.23 - Version 1.84.0

  • Added "Owners provided" field in the "Update a seller - Company" action.

Update 22.10.23 - Version 1.91.0

  • Fixed "Create a card" action call

Update 11.01.24 - Version 1.96.0

  • Fixed the "Create a session" action and some API calls

Update 24.01.24 - Version 1.99.0

  • Fixed "Send an invoice" action

Update 02.02.24 - Version 1.100.0

  • Fixed the "Update a customer" action
Share
Content