An account represents a customer or payer in the Shuttle system. Every transaction, contract, and payment is linked to an account.
CRM Key
The crm_key is the most important field on an account — it's your identifier for the customer. Whether you're a platform or a merchant, the CRM key ties Shuttle's account back to the customer record in your system. When creating payments or checkouts, you can pass a crm_key instead of a Shuttle account ID, and Shuttle will find or create the account automatically.
How Accounts Are Created
Accounts are created in one of three ways:
- Directly via this API:
POST /accountswith customer details - Automatically during checkout: when a customer completes a hosted checkout, an account is created from the details they provide
- Automatically when creating a payment: pass an
accountobject in your payment request and the account will be created inline
If an account with the same crm_key already exists, it will be reused rather than duplicated.
Pre-filling Checkout
Account details (name, email, phone, address) are used to pre-fill the checkout experience. If you pass these when creating a checkout or payment, the customer won't need to re-enter them. This is particularly useful for returning customers or when you already have their details from your own system.
Address Handling
Address fields are intentionally permissive — any values are accepted to prevent interrupting payments due to address validation. Your application can implement its own validation if needed. When updating an address, the entire address object is replaced.