> ## Documentation Index
> Fetch the complete documentation index at: https://frenglish.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# useERC1155SaleContractCheckout

> ERC-1155販売コントラクトのチェックアウトを管理するためのフック

## インポート

```tsx theme={null}
import { useERC1155SaleContractCheckout } from '@0xsequence/checkout'
```

## 使い方

```tsx theme={null}
import { useERC1155SaleContractCheckout } from "@0xsequence/checkout"
import { useAccount } from "wagmi"

function App() {
  const { address: userAddress } = useAccount()
  const { openCheckoutModal } = useERC1155SaleContractCheckout({
    chain: 80001, // chainId of the chain the collectible is on
    contractAddress: "0x0327b2f274e04d292e74a06809bcd687c63a4ba4", // address of the contract handling the minting function
    wallet: userAddress!, // address of the recipient
    collectionAddress: "0x888a322db4b8033bac3ff84412738c096f87f9d0", // address of the collection contract
    items: [
      // array of collectibles to purchase
      {
        tokenId: "0",
        quantity: "1",
      },
    ],
    onSuccess: (txnHash: string) => {
      console.log("success!", txnHash)
    },
    onError: (error: Error) => {
      console.error(error)
    },
  })

  const onClick = () => {
    if (!userAddress) {
      return
    }
    openCheckoutModal()
  }

  return <button onClick={onClick}>Buy ERC-1155 collectible!</button>
}
```

## 返り値の型: `UseERC1155SaleContractCheckoutReturnType`

このフックは以下のプロパティを持つオブジェクトを返します。

```tsx theme={null}
interface UseERC1155SaleContractCheckoutReturnType {
  openCheckoutModal: () => void
  closeCheckoutModal: () => void
  selectPaymentSettings?: SelectPaymentSettings
  isLoading: boolean
  isError: boolean
}
```

### プロパティ

#### openCheckoutModal

`() => void`

設定済みのERC-1155購入でチェックアウトモーダルを開く関数です。

#### closeCheckoutModal

`() => void`

チェックアウトモーダルを閉じる関数です。

#### selectPaymentSettings

`SelectPaymentSettings | undefined`

```tsx theme={null}
export interface SelectPaymentSettings {
  collectibles: Collectible[]
  chain: number | string
  currencyAddress: string | Hex
  price: string
  targetContractAddress: string | Hex
  txData: Hex
  collectionAddress: string | Hex
  recipientAddress: string | Hex
  approvedSpenderAddress?: string
  transactionConfirmations?: number
  onSuccess?: (txHash: string) => void
  onError?: (error: Error) => void
  onClose?: () => void
  enableMainCurrencyPayment?: boolean
  enableSwapPayments?: boolean
  enableTransferFunds?: boolean
  creditCardProviders?: string[]
  copyrightText?: string
  transakConfig?: TransakConfig
  customProviderCallback?: (onSuccess: (txHash: string) => void, onError: (error: Error) => void, onClose: () => void) => void
  supplementaryAnalyticsInfo?: SupplementaryAnalyticsInfo
}
```

モーダルの現在の支払い設定構成です。

#### isLoading

`boolean`

コントラクトデータがまだ読み込み中かどうか。

#### isError

`boolean`

コントラクトデータの読み込み時にエラーが発生したかどうか。

## パラメータ

このフックは、以下のプロパティを持つ設定オブジェクトを受け取ります:

| パラメータ               | 型                                            | 説明                             |
| ------------------- | -------------------------------------------- | ------------------------------ |
| `chain`             | `number`                                     | 販売コントラクトがデプロイされているチェーンID       |
| `contractAddress`   | `string`                                     | ERC-1155販売コントラクトのアドレス          |
| `wallet`            | `string`                                     | NFTを受け取るウォレットのアドレス             |
| `collectionAddress` | `string`                                     | ERC-1155トークンコントラクトのアドレス        |
| `items`             | `Array<{tokenId: string, quantity: string}>` | 購入するトークンIDと数量の配列。              |
| `onSuccess`         | `(txnHash: string) => void`                  | （オプション）トランザクションが成功した際のコールバック関数 |
| `onError`           | `(error: Error) => void`                     | （オプション）エラー発生時のコールバック関数         |
| `onClose`           | `() => void`                                 | （オプション）モーダルが閉じられた際のコールバック関数    |

## 補足

このフックは、ERC-1155トークンの購入プロセスを自動化し、以下の作業を簡単にします。

* 販売コントラクトから価格情報を取得。
* 支払いオプション（暗号資産、クレジットカードなど）を判定。
* 適切なトランザクションデータを生成。
* チェックアウトモーダルの表示と管理。

## 非推奨のお知らせ

<Warning>
  `useERC1155SaleContractPaymentModal`フックは非推奨です。代わりに`useERC1155SaleContractCheckout`をご利用ください。
</Warning>
