Skip to main content

Accounts

An Account in the PublicSquare platform is equivalent to a business. If you have several businesses, you can create one or more Accounts to represent each business. All data such as your business information, members and settings are associated at the Account.

When you sign up with PublicSquare, your first account is automatically created for you using your name (e.g. John Smith). You can optionally rename this to match your business name from the settings page.

Account types

All accounts in the PublicSquare platform have a single account type. The account type determines if the account is a standalone or a managed account and also determines which products an account can add.

TypeManagedDescription
merchantNoMerchant type is the default account type. Merchant accounts are independent sales organization (ISO) accounts and can add any PublicSquare products.
sub_merchantYesSub-merchant account type are similar to merchant account types, however they are managed by a Merchant account type.
sellerYesSeller type are marketplace account types. Seller accounts are managed by a Merchant account type. Seller accounts are automatically added to the seller product and can only complete seller onboarding.

To create a new account, you can make a call to the Create Account endpoint:

Create a Seller Account
curl 'https://api.publicsquare.com/accounts' \
-X 'POST' \
-H 'X-API-KEY: <SECRET_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Test Seller",
"type": "seller"
}'

For more information about onboarding and managing seller accounts, please see the Onboard Sellers guide.

Environments

PublicSquare offers two environments for each Account, Test and Production. When you initially create a new Account, you will only have the Test environment available until you have successfully onboarded.

Environment Toggle

Data such as payments, webhooks, and customers are all scoped to an environment. This enables you to start using the PublicSquare platform, even if you haven't been fully onboarded.

Any resource that is scoped to an environment will have the environment attribute on the response informing which environment the data is for:

{
"id": "pmt_2YKewBonG4tgk12MheY3PiHDy",
"account_id": "acc_B518niGwGYKzig6vtrRVZGGGV",
"environment": "production",
"external_id": "e797ef3c-b586-4333-af90-7168d8427d85",
"status": "succeeded",
"transaction_id": "trx_95rvMJvAVeG68W4NtLdfkN3LG",
...
}

The two environments have unique behaviors:

TypeDescription
testThis environment is meant for testing and developer integration. You can have a production-like experience without actually processing real payment methods or incurring charges.
productionThis is your live environment where payments will be charged and settlements will transfer to your bank account on record. This environment is only available after your Account has been successfully onboarded.

Onboarding

All Accounts must complete onboarding to be able to use the Production environment.

Each account is required to complete onboarding as they are tracked as independent businesses.

All business-related information is shared between both Merchant and Seller onboarding. Once you have provided your business details, that information can be re-used to streamline onboarding in the future.

For onboarding status changes, it is recommended to leverage webhooks to subscribe to notifications about the onboarding progress:

Create an Onboarding Status Webhook
curl -L 'https://api.publicsquare.com/webhooks' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-API-KEY: <API_KEY>' \
-d '{
"url": "https://merchantwebsite.com/notification",
"event_types": [
"onboarding:payments:update",
"onboarding:credit:update"
]
}'

Members

You can invite one or more users to join your Account as a member. This enables you invite other members of your organization to help manage the account or integrate with PublicSquare.

Account invitation

Once the user has accepted the invitation, they will be added as a member to your Account and can perform actions in the account based upon their assigned role.