Cart and Checkout Validation Functions に billingAddress と poNumber が追加。クライアント側 UI 拡張に頼らず、禁止国の請求先ブロックや B2B 注文の PO 番号必須化をチェックアウトで強制できる。
請求先住所や PO 番号のチェックは、チェックアウトの UI 拡張(クライアント側)で実装するしかなかった。サーバー側で確実に強制する手段が無い。
禁止する請求先国のブロックや、B2B 注文での PO 番号必須化といったコンプライアンスルールを、UI 拡張に依存せず関数側で強制できる。
billingAddress と poNumber はすべての Shopify Function 入力グラフに存在するが、Cart and Checkout Validation 以外では null を返す。
billingAddress請求先住所。全 Function 入力グラフで利用可能。Cart and Checkout Validation 以外では null。
poNumberPO(発注/購買オーダー)番号。全 Function 入力グラフで利用可能。Cart and Checkout Validation 以外では null。
| ターゲット | 対象 |
|---|---|
$.cart.billingAddress.{field} |
請求先住所の標準アドレスサブフィールドすべて |
$.cart.poNumber |
PO 番号 |
※ {field} に指定できる個々のサブフィールド名の一覧は本記事に記載なし。「すべての標準アドレスサブフィールド」とのみ記載。
| 項目 | 従来 | API 2026-04 以降 |
|---|---|---|
| 請求先住所の検証 | UI 拡張 クライアント側で実装 | 関数 $.cart.billingAddress.{field} で検証 |
| PO 番号の検証 | UI 拡張 クライアント側で実装 | 関数 $.cart.poNumber で検証 |
| 強制力 | クライアント側 UI に依存 | サーバー側の検証関数で強制 |
| 想定ユースケース | — | 禁止する請求先国のブロック/B2B 注文の PO 番号必須化など |
| 既存関数への影響 | — | 破壊的変更なし 任意で検証を追加 |
既存の Function はそのまま動作し続ける。今回のターゲットに対する検証は任意で追加できる。
関数がこれらのターゲットに validation を返すと、チェックアウトが請求先住所・PO 番号の項目別エラーとして表示する。
この検証はAPI バージョン 2026-04 から利用可能。関数のターゲット API バージョンを上げることが前提。
billingAddress と poNumber はすべての Shopify Function 入力グラフに追加される。フィールド自体はどの関数でも参照できる。
両フィールドは Cart and Checkout Validation 以外では null を返す。他種の Function で値を期待して実装しないこと。
$.cart.billingAddress.{field}(全標準住所サブフィールド)と $.cart.poNumber。これらに validation を返すとフィールド別エラーになる。
禁止する請求先国のブロックや B2B の PO 番号必須化を、クライアント側 UI 拡張に依存せず関数で強制可能に。破壊的変更は無いので、既存関数に検証を追加するだけで導入できる。
$.cart.poNumber が空ならエラーを返し、チェックアウト完了をブロック。poNumber は Cart and Checkout Validation 以外では null。$.cart.billingAddress.{field} にエラーを返す。billingAddress は検証以外で null になる点に注意。$.cart.billingAddress.{field} で標準アドレスサブフィールドを検証し、問題のあるフィールドにエラーを返す。