> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Building a Buy Online, Pick up in Store-friendly Checkout Experience

You can customize the checkout to tailor the shopper experience depending on whether the shopper chooses shipping or a Pickup fulfillment method.

If you want to create a *Buy Online, Pick up in Store* experience on top of our existing Optimized One-Page Checkout, you can [install a custom checkout](/developer/docs/admin/checkout-and-cart/open-checkout).

Alternatively, if you want to create a fully custom checkout experience that diverges significantly from our Optimized One-Page Checkout, use the [Checkout SDK](/developer/docs/admin/checkout-and-cart/checkout-sdk) to interact with the Storefront Cart and Checkout APIs.
For info on incorporating BOPIS features, see the [Manage Checkout as a Shopper](/developer/docs/integrations/platform-solutions/buy-online-pick-up-in-store/end-to-end-guide/manage-checkout-as-a-shopper) guide.

Regardless of which approach you choose, you can customize by doing the following:

* Remove the Shipping Address section for *Buy Online, Pick up in Store* flows
* Connect your middleware service to take additional *Buy Online, Pick up in Store* form fields
* Allow changing the pickup location within Checkout
* Allow toggling between shipping and *Buy Online, Pick up in Store* in Checkout

Use the [Storefront Checkout API](/developer/api-reference/rest/storefront/checkouts) from your custom frontend implementation to interact with the BigCommerce Consignment model so that you can update shipping and pickup options that account for inventory levels.

> **Note**
>
> Payment providers, such as Stripe V3 and PayPal powered by Braintree, support *Buy Online, Pick up in Store* transactions through custom checkouts.