Version 2025-07 is the last API version to support React-based UI components. Later versions use web components, native UI elements with built-in accessibility, better performance, and consistent styling with Shopify's design system. Check out the migration guide to upgrade your extension.
Buyer Identity API
customer and purchasingCompany properties require level 1 access. The email and phone properties require level 2 access.The Buyer Identity API provides information about the buyer who placed the order, including their customer account, email, phone, and B2B company details. Use it to display buyer information or personalize the Order status page experience.
Anchor to Use casesUse cases
- Display buyer details: Show the buyer's email or phone number alongside their order information.
- Identify B2B orders: Detect B2B orders and display company-specific information such as the company name or location.
- Guest vs. signed-in detection: Determine if the buyer has a customer account or is checking out as a guest.
Supported targets
- customer-account.
order-status. announcement. render - customer-account.
order-status. block. render - customer-account.
order-status. cart-line-item. render-after - customer-account.
order-status. cart-line-list. render-after - customer-account.
order-status. customer-information. render-after - customer-account.
order-status. fulfillment-details. render-after - customer-account.
order-status. payment-details. render-after - customer-account.
order-status. return-details. render-after - customer-account.
order-status. unfulfilled-items. render-after - customer-account.
order. page. render
Supported targets
- customer-account.
order-status. announcement. render - customer-account.
order-status. block. render - customer-account.
order-status. cart-line-item. render-after - customer-account.
order-status. cart-line-list. render-after - customer-account.
order-status. customer-information. render-after - customer-account.
order-status. fulfillment-details. render-after - customer-account.
order-status. payment-details. render-after - customer-account.
order-status. return-details. render-after - customer-account.
order-status. unfulfilled-items. render-after - customer-account.
order. page. render
Anchor to PropertiesProperties
The Buyer Identity API object provides buyer identity information from the order. Access the following properties on the API object to read buyer data.
- Anchor to buyerIdentitybuyerIdentitybuyerIdentityOrderStatusBuyerIdentityOrderStatusBuyerIdentity
Information about the buyer who placed the order, including their customer account, email, phone, and B2B company details.
OrderStatusBuyerIdentity
{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data). The `customer` and `purchasingCompany` properties require level 1 access. The `email` and `phone` properties require level 2 access.
- customer
The buyer's customer account. The value is undefined if the buyer isn’t a known customer for this shop or if they haven't logged in yet.
StatefulRemoteSubscribable<OrderStatusCustomer | undefined> - email
The buyer's email address associated with the order. The value is `undefined` if the app doesn't have access to customer data.
StatefulRemoteSubscribable<string | undefined> - phone
The buyer's phone number associated with the order. The value is `undefined` if the app doesn't have access to customer data.
StatefulRemoteSubscribable<string | undefined> - purchasingCompany
The company and company location that the B2B customer is purchasing on behalf of. The value is `undefined` if the buyer isn't a B2B customer.
StatefulRemoteSubscribable< OrderStatusPurchasingCompany | undefined >
OrderStatusCustomer
The customer associated with the order. {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data). The `id`, `image`, `acceptsMarketing`, and `storeCreditAccounts` properties require level 1 access. The `email`, `phone`, `fullName`, `firstName`, and `lastName` properties require level 2 access.
- acceptsMarketing
Whether the customer has opted in to receive marketing communications from the merchant.
boolean - email
The customer's email address.
string - firstName
The customer's first name.
string - fullName
The customer's full name, combining first and last name.
string - id
A globally-unique identifier for the customer.
string - image
The customer's profile image, such as a Gravatar.
ImageDetails - lastName
The customer's last name.
string - phone
The customer's phone number.
string - storeCreditAccounts
The store credit accounts owned by the customer that can be applied during checkout.
StoreCreditAccount[]
ImageDetails
- altText
The alternative text for the image, used for accessibility and displayed when the image can't be loaded.
string - url
The fully-qualified URL of the image.
string
OrderStatusPurchasingCompany
The B2B company and location that the business customer is purchasing on behalf of. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).
- company
The company that the B2B customer belongs to.
OrderStatusCompany - location
The company location that the B2B customer is purchasing for.
OrderStatusCompanyLocation
OrderStatusCompany
{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).
- externalId
A custom external identifier for the company, set by the merchant. Useful for syncing with external systems.
string - id
A globally-unique identifier for the company.
string - name
The display name of the company.
string
OrderStatusCompanyLocation
{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).
- externalId
A custom external identifier for the company location, set by the merchant. Useful for syncing with external systems.
string - id
A globally-unique identifier for the company location.
string - name
The display name of the company location.
string
Anchor to Best practicesBest practices
- Check for undefined customer: The
customerproperty isundefinedwhen the buyer isn't signed in. Always verify the customer exists before accessing their details. - Handle B2B customers separately: Use
usePurchasingCompanyto detect B2B orders and display company-specific information like the company name and location.
Anchor to LimitationsLimitations
- The
customerproperty represents the customer account at the time the order was placed. If the buyer's account details (such as email or name) have changed since then, the data returned may not reflect those updates.