Quickstart ⚡
Accept payments in under 5 min by just adding a button to your frontend
If you are using our previous version of the pay button, please refer to the old quickstart guide
Introduction
In this guide, you will create a web app with Next.js which allows customers to buy NFTs with credit card and crypto payments using Crossmint’s pay button. The button opens a hosted checkout experience that can be displayed in a modal, new tab, or same window.
From Crossmint
- Create a developer account in the Staging Console.
- Create a new collection or import yours into the console, and have your
collectionId
ready.- Make sure you follow the maximum prices for collections set in staging outlined here.
- Create a client-side API key with the
orders.create
scope enabled. More info on creating API keys here.
To integrate in production/mainnet, you'll also need to complete account and collection verification. More information in the production launch guide.
For Marketplaces and Launchpads: You do not need to create a collection (skip Step 2).
Simply use tokenLocator
instead of collectionLocator
in the examples.
It is recommended to test tokenlocator in the production environment.
See Marketplaces & Launchpads guide for more secondary-sale specific details.
Integration Steps
This guide will start from scratch with an empty Next.js application. You'll install the required @crossmint/client-sdk-react-ui
dependency and add the embedded checkout component. To get started:
Set up the Project
Create a new Next.js application
If you see this message, type y
and press Enter
to proceed:
Name your app `crossmint-embedded-checkout-demo` and accept the default options
Change into the directory created in previous steps
Install @crossmint/client-sdk-react-ui
Open the project in your preferred code editor
Basic Integration
This quickstart guide focuses on NFT Collections/Drops (primary sales), but Crossmint also supports marketplace integrations.
Add environment variables
Create .env.local
in your project root:
Create the checkout page
Create /src/app/page.tsx
with:
Run your app
Visit http://localhost:3000
to see your payment button!
(Optional) Advanced Integration
Need purchase tracking, multiple NFTs, or more customization? Here are complete setups with additional features:
These advanced examples showcase: * Multiple NFTs in one checkout * Purchase status tracking * Preferred payment methods and currencies * Email-based NFT delivery * Language settings Learn more in our guides: * Payment Methods * Multi-purchases * React Hooks * Email Delivery * Specifying Recipients
Testing Your Integration
This demo uses the staging environment:
- Use test credit cards for payments
- Get test USDC from our faucet
- Check price limits for staging
All Set!
You’ve successfully integrated card and crypto payments with the Crossmint Pay Button!
Remember this demo is built on staging, so the NFTs will show up on the testnets. To launch on production, check the production launch checklist.
Next Steps
Customize the UI and Behavior Further
UI Customization
Learn how to customize the look and feel of your pay button
Payment Methods
Configure available payment options for your users
React Hooks
Use React hooks to build custom checkout experiences
Advanced Topics
Was this page helpful?