SebasTN

For developers

Take payments on any website.

Paste one snippet to get a pay button. Connect your own Stripe account to receive the money. Use Access0x1 when the customer pays from a wallet.

The pay button

Paste this where the button should appear. It works in a Shopify theme, a WordPress block, an email footer or plain HTML.

<div data-sebastn data-amount="29.00" data-label="Buy the plan"
     data-merchant="acct_XXXXXXXXXXXX"
     data-api="https://sebastn.com"></div>
<script src="https://sebastn.com/os.js" async></script>

For a repeating charge, set the mode.

<div data-sebastn data-amount="9.00" data-mode="subscription"
     data-interval="month" data-label="Subscribe"
     data-merchant="acct_XXXXXXXXXXXX" data-api="https://sebastn.com"></div>

Attributes

data-sebastn
Marks the element as a pay button. If data-amount is missing, its value is the amount.
data-amount
The price, as a decimal number.
data-label
The button text. Defaults to Pay, or Subscribe in subscription mode.
data-currency
The currency code. Defaults to USD.
data-mode
payment for a one-time charge (the default), or subscription for a recurring one.
data-interval
How often a subscription charges: week, month (the default) or year.
data-merchant
Your Stripe account id, from the SebasTN dashboard. It sends the money to your account.
data-api
The SebasTN address that opens checkout: https://sebastn.com.
data-order
Your own order reference, passed to checkout.
data-success
Where the buyer lands after paying. Defaults to the current page.
data-cancel
Where the buyer lands if they go back. Defaults to the current page.
data-hide-badge
Set to true to hide the small SebasTN credit line under the button.

What it does

  • One-time or subscription The button charges once, or on a repeating schedule when data-mode is subscription.
  • Stripe's own checkout A click asks SebasTN to open Stripe's hosted checkout and sends the buyer there. Card details are typed on Stripe's page, never on yours.
  • Paid to you With data-merchant set, the charge lands in your connected Stripe account. SebasTN adds its platform fee on the charge.
  • It says so when it is not ready If payments are not enabled yet, the button shows a message. It never pretends to charge.
  • Safe to paste into a theme The button draws inside a Shadow DOM, so your site's styles cannot break it and it cannot break your site.
  • Mount it yourself Buttons added after the page loads can be mounted with window.SebasTN.mount(element), or window.SebasTN.render(scope) for a whole section.
  • Cards only The pay button takes cards. Wallet payments go through Access0x1, below.

Connect a Stripe account

The money goes to your own Stripe account. SebasTN connects to it; it does not hold it.

  • Sign in and connect Sign in, then connect a Stripe account. Stripe checks who you are on its own hosted page.
  • Your account id Once connected, your Stripe account id (it starts with acct_) is what you put in data-merchant.
  • Read-only dashboard Your balance, payments and payouts are read live from your own Stripe account. One click opens your Stripe dashboard.

Wallet payments with Access0x1

When the customer pays from a wallet, the payment goes through the Access0x1 router.

  • Access0x1 A payment router for USDC on Base, Ethereum, Unichain and Arc. It is non-custodial: the money goes to the business in the same transaction that takes it.
  • One address on every chain The router has the same address on all four chains, so an integration does not change per chain.
  • Public record The addresses, the owner Safe and the payments made are published at access0x1.com/mainnet. Its status and security pages are public too.
Payment router, the same address on each chain
ChainAddress
Base0xe92244e3368561faf21648146511DeDE3a475EB5
Ethereum0xe92244e3368561faf21648146511DeDE3a475EB5
Unichain0xe92244e3368561faf21648146511DeDE3a475EB5
Arc0xe92244e3368561faf21648146511DeDE3a475EB5

Access0x1 has no separate documentation site. Its public pages are the record.