There are three steps to integrating your service with Small Transfers:
See also our starter projects:
Connect either to your existing Stripe account (via Stripe OAuth) or a new one. After you create a Small Transfers merchant account, we will show you the available options and the differences between them.
When the customer wants to start paying (step 1), you obtain their authorization to add charges to their Small Transfers account. You can do this by redirecting them to the authorization page hosted by Small Transfers (steps 2 through 5). See Get Authorization Code for which URL and query parameters to use.
When the customer allows you to charge them (step 4), they are redirected to the your Redirect URI (step 5). Here, your backend reads the authorization code from the query parameters (step 6), and then exchanges it for the access token (steps 7 and 8). See Get Access Token.
Store the access token (step 9) in your session or your database, so you can use it later to charge the customer.
To charge the customer, you first authorize the charge (steps 3 and 4). See Authorize Charge.
Then, you perform your business logic (step 5), and capture the charge (steps 6 and 7). You can capture less than the authorized amount. See Capture Charge.
Why not skip the authorize step? Two things above have a non-trivial chance of failing: authorize charge (e.g. customer reached a spend limit) and your business logic. If authorize charge fails, you don't perform the potentially-costly business logic. If the business logic fails, you don't charge the customer.
To redirect the customer from your site to the customer's Small Transfers dashboard, use the following URL:
Without the email, the page displays info for the currently signed-in customer, which may not be the customer currently signed in on your site. If you use the email and another customer is signed in, they will be prompted to switch accounts.
Anything unclear? Simply contact us, and we will be happy to help you integrate your service with Small Transfers.