カード決済処理はパートナーによって行われます。導入には、カード決済有効化前にパートナーとのKYBおよびコントラクトの許可リスト登録が必要です。Sequenceは決済処理の引受や運営は行いません。
対応プロセッサー:Transak および Forte。 主に主要なEVMチェーンをカバーしており、詳細はパートナーによります。パートナーの判断で新しいEVMチェーンの追加も検討されます。まずはSequenceにご連絡いただければ、適切なパートナーをご紹介します。

Checkout SDKを使うタイミング

  • ERC-1155 / ERC-721アイテムを販売しており、暗号資産に加えてカード決済も提供したい場合。
  • パートナーのKYBおよび許可リスト登録を完了できる場合。
  • 支払い方法の選択や購入処理をまとめて行えるドロップインモーダルを利用したい場合。

インストール方法

pnpm add @0xsequence/checkout @0xsequence/connect

基本セットアップ

import { SequenceConnect } from '@0xsequence/connect'
import { SequenceCheckoutProvider } from '@0xsequence/checkout'
import { config } from './config'

export default function App() {
  return (
    <SequenceConnect config={config}>
      <SequenceCheckoutProvider>
        <YourRoutes />
      </SequenceCheckoutProvider>
    </SequenceConnect>
  )
}

例:ERC-1155の一次販売

import { useAccount } from 'wagmi'
import { useERC1155SaleContractCheckout } from '@0xsequence/checkout'

export function BuyButton() {
  const { address } = useAccount()
  const { openCheckoutModal } = useERC1155SaleContractCheckout({
    chain: 137, // destination chainId
    contractAddress: '0xSaleContract',  // primary sale contract
    collectionAddress: '0xERC1155',     // collection
    wallet: address!,                   // recipient
    items: [{ tokenId: '1', quantity: '1' }],
    // Optional: restrict card providers if your integration requires it
    // creditCardProviders: ['transak', 'forte'],
    onSuccess: (txHash) => console.log('success', txHash),
    onError: (err) => console.error(err),
  })

  return <button onClick={() => address && openCheckoutModal()}>Buy</button>
}

例:カスタムコントラクト呼び出し

import { useAccount } from 'wagmi'
import { useSelectPaymentModal, type SelectPaymentSettings } from '@0xsequence/checkout'
import { encodeFunctionData } from 'viem'

export function CustomBuy() {
  const { address } = useAccount()
  const { openSelectPaymentModal } = useSelectPaymentModal()

  const onClick = () => {
    if (!address) return

    const chainId = 137
    const salesContract = '0xSaleContract'
    const currency = '0xUSDC'
    const collection = '0xERC1155'
    const price = '20000' // align with your contract's decimals

    const erc1155MintAbi = [{ /* ...mint signature matching your contract... */ }]
    const txData = encodeFunctionData({
      abi: erc1155MintAbi,
      functionName: 'mint',
      args: [address, /* tokenIds[] */, /* amounts[] */, /* data */, currency, price, /* proof */]
    })

    const settings: SelectPaymentSettings = {
      chain: chainId,
      targetContractAddress: salesContract,
      recipientAddress: address,
      currencyAddress: currency,
      collectionAddress: collection,
      price,
      collectibles: [{ tokenId: '1', quantity: '1' }],
      // creditCardProviders: ['transak', 'forte'],
      onSuccess: (txHash) => console.log('success', txHash),
      onError: (err) => console.error(err),
      txData,
    }

    openSelectPaymentModal(settings)
  }

  return <button onClick={onClick}>Buy (custom)</button>
}

パートナー設定(カード)

1

Sequenceに連絡

ご利用用途についてSequenceまでご相談ください。適切な場合はTransakまたはForteをご紹介します。
2

パートナーアカウント作成 & KYB

対応プロバイダー(例:TransakまたはForte)でアカウントを作成し、KYBを完了してください。
3

コントラクトの許可リスト登録

カード決済で利用する販売コントラクトをパートナーに許可リスト登録してもらってください。
4

プロバイダーの設定

利用するパートナーを限定したい場合は、creditCardProvidersで許可プロバイダーを指定します。
5

本番公開

パートナー要件に従い主要なEVMチェーンで有効化し、実際のカードで購入テストを行ってください。
暗号資産のみの購入や「任意のトークン/チェーン」からの支払いには、Trailsをご利用ください。Checkout SDKはNFT購入のカード決済に特化しており、Trailsやウォレット決済と併用できます。

参考情報