Importar

import { useCheckoutModal } from '@0xsequence/checkout'

Uso

import { useCheckoutModal } from '@0xsequence/checkout'
import { ChainId } from '@0xsequence/network'

function App() {
  const { address } = useAccount()
  const { triggerCheckout } = useCheckoutModal()
  
  const handleCheckout = () => {
    // NFT purchase settings
    const chainId = ChainId.POLYGON
    const orderbookAddress = '0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712'
    const nftQuantity = '1'
    const orderId = 'your-order-id'
    const tokenContractAddress = '0xabcdef...' // NFT contract address
    const tokenId = '123' // NFT token ID

    triggerCheckout({
      creditCardCheckout: {
        chainId,
        contractAddress: orderbookAddress,
        recipientAddress: address || '',
        currencyQuantity: '100000',
        currencySymbol: 'USDC',
        currencyAddress: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
        currencyDecimals: '6',
        nftId: tokenId,
        nftAddress: tokenContractAddress,
        nftQuantity,
        approvedSpenderAddress: orderbookAddress,
        calldata: "0x...",
        onSuccess: (txHash) => console.log('Success!', txHash)
      },
      orderSummaryItems: [
        {
          title: 'NFT #' + tokenId,
          subtitle: 'Your Collection',
          imageUrl: 'https://example.com/nft.png'
        }
      ]
    })
  }
  
  return (
    <button onClick={handleCheckout}>
      Checkout
    </button>
  )
}

Tipo de retorno: UseCheckoutModalReturnType

El hook retorna un objeto con las siguientes propiedades:

type UseCheckoutModalReturnType = {
  triggerCheckout: (settings: CheckoutSettings) => void
  closeCheckout: () => void
  settings: CheckoutSettings | undefined
}

Propiedades

triggerCheckout

(settings: CheckoutSettings) => void

Abre el modal de Checkout con los parámetros especificados.

Parámetros:

El objeto settings puede incluir las siguientes propiedades:

PropiedadTypeDescription
creditCardCheckoutobjectConfiguración para el flujo de pago con tarjeta de crédito
orderSummaryItemsarrayElementos a mostrar en el resumen de la orden

El objeto creditCardCheckout incluye:

ParámetroTypeDescription
chainIdnumberEl ID de la red blockchain
contractAddressstringLa dirección del contrato con el que interactuar
recipientAddressstringLa dirección que recibirá el artículo comprado
currencyQuantitystringLa cantidad de moneda a usar para el pago
currencySymbolstringEl símbolo de la moneda (por ejemplo, ‘USDC’)
currencyAddressstringLa dirección del contrato del token de la moneda
currencyDecimalsstringEl número de decimales de la moneda
nftIdstringEl ID del NFT que se está comprando
nftAddressstringLa dirección del contrato NFT
nftQuantitystringLa cantidad de NFTs a comprar
approvedSpenderAddressstringLa dirección autorizada para gastar tokens
calldatastringLos datos codificados de la llamada a función para la transacción
onSuccess(txHash: string) => voidCallback cuando la transacción es exitosa

El arreglo orderSummaryItems contiene objetos con:

ParámetroTypeDescription
titlestringEl título del elemento
subtitlestringEl subtítulo del elemento
imageUrlstringURL de la imagen del elemento

closeCheckout

() => void

Cierra el Checkout modal.

settings

CheckoutSettings | undefined

La configuración actual del Checkout modal.

Notas

Este hook proporciona métodos para controlar el modal de Checkout que permite a los usuarios completar compras usando varios métodos de pago. Checkout admite pagos con tarjeta de crédito y pagos cripto para la compra de activos digitales.