Create a fully customized memecoin checkout experience that accepts credit cards
Solana Wallet
Get API Keys
http://localhost:3000
and click "Add origin".Next, check the scopes labeled orders.create
, orders.read
, orders.update
.Finally, create your key and save it for subsequent steps.solana:${tokenMintHash}
solana:6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN
tokenMintHash
: The token mint hash (commonly known as contract address, CA, or mint hash)<blockchain>:<contractAddress>:<tokenId>
ethereum:0x1234567890123456789012345678901234567890:1
blockchain
: The chain name (ethereum, polygon, arbitrum, base, etc.)contractAddress
: The token contract address (40 hexadecimal characters)tokenId
: For fungible tokens, use "1" as a placeholder value (required by validation schema)<blockchain>:<contractAddress>:<tokenId>
for all EVM tokens. For fungible tokens (memecoins), use "1" as the tokenId value.POST
https://www.crossmint.com/api/2022-06-09/orders
Refer to the complete create order API reference here.
7EivYFyNfgGj8xbUymR7J4LuxUHLKRzpLaERHLvi7Dgu
). All
other token purchases will fail in staging. For production launch with other tokens, contact our sales team.Example Response
maxSlippageBps
: Optional, or else default autogenerated slippage will be appliedreceiptEmail
: Required for credit card payments to deliver receiptexecutionParameters.mode
: The execution method for the order. “exact-out” is for NFTs, “exact-in” is for fungible tokensonPaymentCompleted
callback will be triggered with the payment response.
Unlike with Stripe, you don’t need to manually submit the payment form. The Checkout.com Flow component takes care of the entire payment process, including validation, submission, and handling the response.
Here’s how the payment flow works with Checkout.com:
onPaymentCompleted
callback is triggered with the payment responseonError
callback will be triggered:
GET
https://staging.crossmint.com/api/2022-06-09/orders/<orderId>
Refer to the complete get order API reference here.
Example Response:
payment.status
is completed
but the order also contains a payment.refunded
property. This indicates that the payment was initially successful but has since been refunded.
payment.refunded
object includes the following fields:
amount
: The amount that was refundedcurrency
: The currency of the refundtxId
: The on-chain transaction ID the refund was sent inchain
: The blockchain where the refund transaction occurredtxId
) so users can verify the refund on-chainexecutionParameters.maxSlippageBps
. If not provided,
Crossmint will use the default slippage configuration (typically 500 BPS or 5%) from Crossmint's providerIs there a UI Crossmint provides?
Do I need to complete KYC to purchase memecoins?
What happens if my transaction fails?
What are the transaction limits?
Is there a limit on how much of a single token I can sell in a day?
What do the order creation parameters mean?
method
: Set to checkoutcom-flow
for Checkout.com credit card paymentscurrency
: Set to usd
for US Dollar paymentsreceiptEmail
: Required for credit card payments to deliver receipttokenLocator
: Specifies the memecoin token address in the format solana:tokenAddress
executionParameters
:
mode
: Set to "exact-in" for memecoin purchases (specifies exact USD amount to spend)amount
: Amount to purchase in USDmaxSlippageBps
: Set to "500" for 5% slippage tolerance. If not provided, the default slippage will be applied from the available liquidity provider.checkoutcomPaymentSession
: Contains the payment session information from Checkout.com
id
: The payment session IDpayment_session_secret
: The secret used to authenticate with Checkout.compayment_session_token
: The token used to initialize the Checkout.com Flow componentcheckoutcomPublicKey
: The public key used to initialize the Checkout.com Flow component