Accounts
Create and manage client accounts
Accounts are the foundation of an interaction with Straddle. Each account represents a distinct business entity that has entered into a contractual relationship with Straddle to utilize our payment services. Understanding how to work with accounts is crucial for leveraging Straddle’s full potential.
Understanding Accounts
An account in Straddle is a comprehensive representation of a business entity with the following key aspects:
- Legal Entity: Each account corresponds to a specific legal business entity.
- Immediate Sandbox Access: Upon creation, accounts can instantly access the Straddle API Sandbox.
- Production Readiness: To activate production access, accounts need to complete an automated onboarding process.
- Customizable: Accounts can be tailored with specific capabilities, settings, and metadata.
- Hierarchical: Accounts can be organized under parent Organizations for streamlined management.
As a platform integrating with Straddle, you have the unique ability to create and manage accounts on behalf of your clients. This process involves several key steps to ensure a smooth onboarding experience for your clients and compliance with Straddle’s requirements.
Step-by-Step Account Creation and Onboarding Process
Always create an Organization before creating an Account.
Create the Account
Use the Create Account endpoint to establish the initial account record for your client. This step sets up the basic structure of the account in Straddle’s system.
Add Required Related Objects
After creating the account, you need to add several related objects to complete the account profile:
Initiate Onboarding
Once all required information and related objects are in place, use the Onboard Account endpoint to start the formal onboarding process. This triggers Straddle’s compliance checks and moves the account towards production readiness.
Key Considerations
Accurate Information Gathering
Ensure you collect and provide accurate, up-to-date information from your clients. This is crucial for successful onboarding and ongoing compliance.
Progressive Information Collection
Consider implementing a step-by-step process in your platform to collect information from clients gradually, aligning with Straddle’s account creation and onboarding flow.
Error Handling
Implement robust error handling in your integration. If any step fails (e.g., account creation, adding a representative), ensure your system can gracefully handle and communicate these errors.
Status Tracking
Enable webhooks to track the status of your accounts. This allows you to track progress through the onboarding process and identify any issues that need attention.
Best Practices
By following these guidelines and best practices, you can create a smooth, efficient process for creating and onboarding client accounts through your platform. This not only enhances your clients’ experience but also helps ensure compliance and reduces potential delays in getting accounts production-ready.
Creating an Account
Use the Create Account endpoint to set up a new account in Straddle.
Attributes
When creating an account, you can specify the following attributes:
Field | Type | Description |
---|---|---|
organization_id | string | The unique identifier of the organization this account belongs to. |
account_type | string | The type of account. Currently, only ‘business’ is supported. |
business_profile | object | Detailed information about the business associated with this account. |
business_profile.name | string | The operating or trade name of the business. |
business_profile.website | string | URL of the business’s primary marketing website. |
business_profile.legal_name | string | The official registered name of the business. |
business_profile.description | string | A brief description of the business and its products or services. |
business_profile.use_case | string | A description of how the business intends to use Straddle’s services. |
business_profile.tax_id | string | The business’s tax identification number (e.g., EIN in the US). |
business_profile.phone | string | The primary contact phone number for the business. |
business_profile.address | object | The primary address of the business. |
business_profile.address.line1 | string | Primary address line (e.g., street, PO Box). |
business_profile.address.line2 | string | Secondary address line (e.g., apartment, suite, unit, or building). |
business_profile.address.city | string | City, district, suburb, town, or village. |
business_profile.address.state | string | Two-letter state code. |
business_profile.address.postal_code | string | Postal or ZIP code. |
business_profile.address.country | string | The country of the address, in ISO 3166-1 alpha-2 format. |
business_profile.industry | object | Information about the business’s industry. |
business_profile.industry.mcc | string | The Merchant Category Code (MCC) that best describes the business. |
business_profile.industry.sector | string | The specific sector within the industry category. |
business_profile.industry.category | string | The general category of the industry. |
business_profile.support_channels | object | Contact information for customer support. |
business_profile.support_channels.email | string | The email address for customer support inquiries. |
business_profile.support_channels.phone | string | The phone number for customer support. |
business_profile.support_channels.url | string | The URL of the business’s customer support page or contact form. |
access_level | string | The desired access level for the account. Can be ‘standard’ or ‘managed’. |
metadata | object | Additional key-value pairs for storing extra information about the account. |
external_id | string | Your own unique identifier for the account, useful for cross-referencing. |
Example Request
Here’s how you might create a new account with all possible fields:
Response
Account Status
Account statuses in Straddle reflect the current state of an account in its lifecycle. Understanding these statuses is crucial for managing accounts effectively and knowing when certain actions can be performed.
Status | Description |
---|---|
Created | Initial status when an account is first created. |
Onboarding | The account is going through the onboarding process. |
Active | The account has completed onboarding and is fully operational. |
Rejected | The account has failed the onboarding process or compliance checks. |
Inactive | The account has been temporarily or permanently suspended. |
Understanding status_detail
The status_detail
object provides more granular information about the account’s current status. It includes the following fields:
A more specific reason for the current status. Possible values include:
unverified
: Initial state, pending verificationin_review
: Account is being reviewedpending
: Waiting for additional informationstuck
: Issues in the verification processverified
: Successfully verifiedfailed_verification
: Verification process faileddisabled
: Account has been disabledterminated
: Account has been permanently closed
Indicates the system or process that set the current status. Currently, this is always “watchtower”, Straddle’s compliance monitoring system.
A specific code related to the status reason. This can be useful for programmatically handling different status scenarios.
A human-readable message providing more context about the current status.
Always check both the status
and status_detail
when handling accounts in your integration. The status_detail
can provide crucial information for resolving issues or proceeding with account management.
Next Steps
Once your platform has successfully created an account, you can move forward with the next steps: adding representatives and linking bank accounts. These actions ensure that the account is fully set up to operate and receive funds. Representatives allow you to associate key individuals with the account for compliance purposes, while adding bank accounts enables the platform to facilitate payouts and other financial transactions. Moving through these stages will complete the onboarding process and prepare the account for full functionality on the Straddle platform.