メインコンテンツへスキップ

UIコンポーネント

@blocklet/payment-react ライブラリは、支払いおよびチェックアウトインターフェースを構築する際に最大限の柔軟性を提供するために設計された、一連のきめ細かいUIコンポーネントを提供します。フロー全体をカプセル化する高レベルのチェックアウトコンポーネントとは異なり、これらのコンポー

@blocklet/payment-react ライブラリは、支払いおよびチェックアウトインターフェースを構築する際に最大限の柔軟性を提供するために設計された、一連のきめ細かいUIコンポーネントを提供します。フロー全体をカプセル化する高レベルのチェックアウトコンポーネントとは異なり、これらのコンポーネントはカスタムユーザーエクスペリエンスを作成するためのビルディングブロックです。

これらのコンポーネントは、既存のアプリケーションレイアウトに支払い機能を統合する必要がある場合や、標準のチェックアウトフローが特定の設計要件を満たさない場合に最適です。

支払いUIの構成

UIコンポーネントは、完全な支払いページを構築するために組み合わせて使用されることを意図しています。これらのコンポーネントのほとんどは、支払い方法や設定などのデータのために支払いコンテキストにアクセスする必要があるため、PaymentProvider内でレンダリングする必要があります。

以下は、PricingTablePaymentSummaryを組み合わせてカスタムチェックアウトページを作成する方法の概念的な例です。

カスタムチェックアウトページ

jsx
import { PaymentProvider } from '@blocklet/payment-react';
import { PricingTable, PaymentSummary } from '@blocklet/payment-react/components';
// useSessionContext フックは PaymentProvider のドキュメントで定義されています
import { useSessionContext } from '/path/to/session/context';

function CustomCheckoutPage() {
  const { session, connectApi } = useSessionContext();

  // 実際のアプリケーションでは、このデータをバックエンドから取得します
  const pricingData = { /* ... 価格表データオブジェクト ... */ };
  const selectedItems = [ /* ... ユーザーの選択に基づく明細項目 ... */ ];
  const currency = { /* ... 通貨オブジェクト ... */ };

  const handleSelect = (priceId, currencyId) => {
    console.log('ユーザーが選択したプラン:', priceId, '通貨:', currencyId);
    // 選択したプランを 'selectedItems' ステートに追加し、UIを更新します
  };

  return (
    <PaymentProvider
      apiHost={connectApi}
      sessionId={session.user?.did}
      locale="en"
    >
      <div className="checkout-container" style={{ display: 'flex', gap: '2rem' }}>
        <div className="pricing-section" style={{ flex: 2 }}>
          <h2>プランを選択してください</h2>
          <PricingTable table={pricingData} onSelect={handleSelect} />
        </div>
        <div className="summary-section" style={{ flex: 1 }}>
          <h2>注文概要</h2>
          <PaymentSummary items={selectedItems} currency={currency} />
        </div>
      </div>
    </PaymentProvider>
  );
}

この例では、PricingTablePaymentSummaryがカスタムページで一緒に使用されています。PaymentProviderが全体の構造をラップし、支払い設定とメソッドをすべての子コンポーネントで利用できるようにします。

次のステップ

UIコンポーネントの役割を理解したところで、各コンポーネントの詳細を掘り下げて、カスタム支払いフローの構築を始めましょう。PricingTableから始めることをお勧めします。