Oftentimes, sellers already have customer information from login credentials or email marketing campaigns. Depending on the customer information you have, there are various ways to apply it to an order and expedite the checkout process. 

You have no customer information:

FastSpring creates an account at the end of the checkout process using the email address and name entered for the order. The account is given an ID and the order generates an account.created webhook. 

You have limited customer information:

If you do not have enough information to create a customer account, you can use the SBL command fastspring.builder.recognize on your webpage. When the customer lands on the checkout page, their email and name are pre-filled in checkout fields. Customers can edit these fields. When the order is completed, the account is given an ID and the order generates an account.created webhook. 

We do not recommend creating customer accounts out of tentative information. Please use fastspring.builder.recognize for unconfirmed information.

You have customer information but no FastSpring Account ID:

If you have the customer’s email address, name, and a customer ID, you can pre-create a customer account before they complete a purchase in your Store. To do this, use the /accounts API endpoint to return the Account ID. Alternatively, you can use the SBL to pass customer information on the frontend. 

You know your customer’s FastSpring Account ID:

If you have already collected the customer’s Account ID through the order.completed or account.created webhook, you can pass the customer information to the frontend using a secure payload. 

We recommend only passing the ID when you apply customer information to the order. You can do this through the FastSpring API by creating a session with the /sessions endpoint. Alternatively, you can use the Store Builder Library to pass the data with a secure request

Create an Account with Customer Information

FastSpring automatically creates new accounts for unrecognized names and email addresses at checkout. However, if you have an existing customer on your website that does not have a FastSpring Account ID, you can use their email address and name to create a customer account within the App. This way, customers do not need to enter their personal information at checkout; only payment details are required.

If you pass a FastSpring Account ID, the contact and accountCustomKey fields are ignored. FastSpring uses the name and email address associated with the Account ID regardless.

Using the Store Builder Library

If your backend houses customer information, this approach is required. Pass the existing information to the checkout process using a secure request. This will apply authenticated customer information to the session. 

{
  "account": null,          // known FS account ID. If passed, the "contact" section is ignored. 
  "accountCustomKey": null, // OR: vendor provided custom account, at least 4 characters. Valid id contains _, a-z, A-Z, 0-9, -. When passing you are required to pass "contact" object below as well
  "contact":{  
     "email":"csustomer@gmail.org",
     "firstName":"Leeroy", "lastName":"Jenkins", 
     "company": null,       //optional
     "phone": null          //optional
   }
}

If you pass accountCustomKey when there is no Account ID in the payload, FastSpring attempts to locate the customer account associated with the key. If the account exists, FastSpring automatically uses the information associated with the accountCustomKey. Additional information is ignored. However, if no Account ID or accountCustomKey is present, FastSpring uses data from the contact field to populate the order. When the order is completed, a new account is created.

Using the FastSpring API 

Using the FastSpring API, you can create a new FastSpring account for a customer provided they have never completed an order in your FastSpring Store. If you already have an Account ID on file for that customer, you can use it to reference a customer during the checkout process. 

  1. Create a new customer account using the /accounts endpoint, to which you pass all the required information.
  2. Use the Account ID to build a session via the /sessions endpoint. This requires you to pass the Account ID in the request. FastSpring returns the session ID as a result. 

Every transaction or rebill within your FastSpring store is associated with a customer account. These are typically generated after the first order from an unrecognized email address, and contain all information regarding customer activity and stored payment methods.

Each customer account has a unique Account ID. All subsequent orders in your Store containing that email address are automatically associated with that Account ID. You can obtain the Account ID by subscribing to account.created and order.completed webhook events, or use it to search for account details and obtain existing customer order information.

If an existing customer places an order using a new email address, or in a separate FastSpring Store, they will have separate Account IDs. The Store and email address must remain the same for FastSpring to recognize the existing customer account.

Information Stored in the Customer Account

The following information is associated with customer accounts:

If you are running your own authentication, or have your own customer account records, we recommend that you update the FastSpring Account information whenever it changes on your end.

Payment Details Associated with a Customer Account

FastSpring does not store credit card, PayPal, or SEPA information. FastSpring tokenizes the information and stores it with the information customer account information provided the following is true:

FastSpring does not share stored payment information with anyone. Customers may see the last 4 digits of the credit card when logged in to their Account Management portal, however this is only accessible through the Account Management portal, and they cannot see more information.

Creating and Retrieving Customer Information

You can use the FastSpring API to retrieve, create, or update customer information associated with an existing account. This includes:

Payment information is not included.

Create a New Account

You can create a customer User ID that you have associated with a customer on your website. For example, this can be the username used when logging in. After you pass the User ID, the API and webhooks return it, allowing you to store an association between a FastSpring Account ID and the account on your website.

Obtain a FastSpring Account ID

To obtain an existing FastSpring Account ID, use the associated Order ID or Subscription ID to make a call to the /accounts endpoint.

Alternatively, there are 2 ways to provide a customer with their FastSpring Account ID:

Update Account Information

Existing customer accounts can only be updated through the APi. To update account information, use the /accounts endpoint along with the Account ID you stored when the customer placed the subscription order. If you pass updated information (such as a new email address) when setting up an order with customer’s Account ID, the updated information is disregarded. The order uses the customer account information on file.

Table of Contents

FastSpring provides your consumers with an accessible website to view their complete order history for your Store and manage their subscriptions and payment methods. When consumers click the Manage Your Orders link in their email, the link directs them to the Account Management site on your default Web Storefront

The Account Management site includes tabs for Orders, Subscriptions, and Account Details and Payment Methods. When consumers log in, they see their order history for your Store. However, you can direct consumers to a different tab by retrieving the authenticated Account Management URLs via the FastSpring API. See Provide Consumers with Pre-Authenticated Account Management Links below for more information.

Consumer Experience

  1. After a consumer completes a purchase in your Store, their email receipt contains a link to their Account Management site labeled “Manage Your Orders”. 
  2. When consumers click the link, they are prompted to enter their email address on a page that matches your default Web Storefront.
  3. After the consumer enters their email address and clicks Continue, the system sends them an email containing a login link to the Account Management site. 

The login link in the email is only valid for 24 hours from the time the email was sent. After 24 hours, consumers need to repeat the process above to receive a new login link.

Orders Tab

For each order, the Account Management site displays:

To protect information, the Account Management site displays different information for the purchasers and recipients of Gift Purchases. See Gift Purchases for more information.

 

Subscriptions Tab

The Subscriptions tab lists all the consumer’s active and inactive subscriptions. Each Subscriptions Manage option lets the consumer update the payment method or cancel the subscription. 

If a consumer cancels a subscription, they can reactivate it here until the deactivation date. 

If a consumer has a Manual Subscription, they can click Pay Now to initiate a payment via a secure, streamlined checkout process.

Account Details and Payment Methods

The Account Details and Payment Methods tab houses the consumer’s account information. Here, they can add or remove payment methods.

Account Management Site Appearance

The Account Management Site’s appearance is configured to match your Default Web Storefront. When you edit the Account Management appearance, the changes are also applied to Storefront. See Edit an Online Storefront for more information. 

If you want the styling of the Account Management Site to differ from your main Storefronts used for purchases, consider providing customers with links to other Storefronts. By directing consumers to other Storefronts for completing purchases or ordering quotes and invoices, your default Web Storefront can be used only for the Account Management site. 

Your Default Web Storefront must be Online in order for the styling to affect the Account Management site.

The Manage Your Orders link in consumers' receipt email messages always targets the Account Management site via your default Web Storefront. The format of the link is:

<Secure Web Storefront URL>/account/

For example, if the Storefront URL is https://yourexamplestore.onfastspring.com, then the corresponding Account Management page is https://yourexamplestore.onfastspring.com/account/.

Security

By default, to log on to the Account Management site, consumers must verify that they have access to the email address associated with the order. This is required because sensitive data such as license keys and transaction details may appear on the site.

To log on, consumers enter their email address on the initial page of the site. If the address is associated with a consumer account in your Store, FastSpring sends an email containing a live login link to that address. Consumers must click that temporary link to log in.

Login links contained in these email messages are valid for 24 hours. This temporary status also applies to the pre-authenticated login links that you can generate via the /accounts endpoint of the FastSpring API See Provide Consumers with Pre-Authenticated Account Management Links below for more information.

Provide a Consumer with a Pre-Authenticated Account Management Link

If you have your own external consumer account functionality, you can provide pre-authenticated Account Management links to consumers who have logged on to your system. This is accomplished via the /accounts endpoint of the FastSpring API, as shown below:

GET /accounts/{id1},{id2},{id3},.../authenticate

URLs retrieved by this method are valid for 24 hours. If a consumer clicks on a link targeting this URL within the 24 hours, they directly access the Orders tab of Account Management, skipping over the email address prompt.

Send Consumers Directly to the Subscriptions Tab

To send consumers directly to the Subscriptions tab of Account Management, append #/subscriptions to the URL returned in the API response. For example:

https://yourexamplestore.onfastspring.com/account/Mv5c3m6kRaKr_3DHyPr2BQ/dfgOdUwLT7n#/subscriptions