--- sidebar_position: 3 title: "サービスとチェックアウト" --- # サービスとチェックアウト 商品データの取得元、検証内容、鮮度の維持方法を説明します。 ## 商品ソース - 商品と価格はWHMCSではなく、Salesforceのポータル価格表(`PORTAL_PRICEBOOK_ID`)から取得。 - カテゴリ:Internet、VPN、SIM/モバイル。各SKUはSalesforce Product2 + PricebookEntryレコード。 - ポータルカテゴリ向けの商品のみ取得。名前、SKU、価格のソースはSalesforce。 ### SIMファミリープラン - ユーザーがWHMCSにアクティブなSIMサービスを持つ場合、SIMファミリー/割引プランも表示。 - SIMがない場合、通常プランのみ表示。 ## 利用資格 & 検証 - インターネット注文はSalesforceに保存されたアカウント固有の利用資格を確認。 - チェックアウト時の確認事項: - WHMCSクライアントマッピングと少なくとも1つの支払い方法の存在 - 選択されたSKUがSalesforce価格表に存在 - インターネット注文の場合、WHMCSにアクティブなインターネットサービスがないこと(重複ブロック) ## チェックアウトで取得されるデータ - 住所スナップショット:顧客の住所をSalesforce Order請求フィールドにコピー。 - アクティベーション設定:Salesforce Orderに保存。 - カードデータはポータルに保存しません。WHMCSに支払い方法が存在することのみ検証。 ## 商品カタログのキャッシュ - 商品カタログデータはSalesforce Change Data Capture (CDC)イベントを使用。時間ベースの有効期限なし。 - Volatileなカタログデータは60秒TTL。 - アカウントごとの利用資格はTTLなしでキャッシュ、Salesforce変更時にクリア。 ## エラー時の動作 - 支払い方法不足:「支払い方法を追加してください」メッセージでチェックアウトをブロック。 - 利用資格なしまたはインターネット重複:注文を停止し理由を説明。 - Salesforce価格表の問題:「サービスが利用できません、後でやり直してください」を返却。