(2) 決済-配送先

ルーティング ec_client_ship
引数 無し
{{path(“ec_client_ship”)}}

 

配送先は前述の、

app.security.token.user「1. はじめに / (1) 共通タグ / Ⅳ セッション / イ app.security.token.user

を使用して配送先の一覧を取得します

 

配送先住所には、会員情報としての住所と、配送先としての住所の2通りがあります。

前者は必須であり、どの顧客も登録してある情報です。

これは必ずループの0番目に存在しています。

後者は任意で配送先を登録できる機能で、複数登録が可能です。

 

実際の利用方法としてこの画面は、顧客がどの住所に商品を発送して欲しいかを選ぶ画面なので、

住所の一覧を表示して選ばせるというフォームを出力する必要があります。

以下はラジオボタンでの例です。

 

 

nameはconsumer_address_idとし、valueはaddress.idを指定します。

上記とは別で、複数配送先という選択肢を追加することができます。

これは、1回の注文で商品を3つ購入し、住所A、B、Cにそれぞれ1つずつ送りたいという時に使う機能です。

その時は以下のような選択肢を1つ追加します。

 

 

addresses|length > 1は、住所が2つ以上ある場合、cart_api.hasProductRegular == falseは、定期購入が含まれていない場合です。

定期購入の商品がカートに含まれていた場合は、複数配送に対応できません。

 

まとめると、

1.会員登録住所(0番目)

2.お届先登録住所(0〜複数登録可能)

3.複数配送先

の3通りの配送先から選択させる必要があります。

また、この画面で登録住所の編集をさせることもできます。

その場合は、以下のようなリンクを貼ります。

 

同じく削除をさせることもできます。

 

お届先を新規作成したい場合は、

と記述します。

 

編集と削除は、会員登録住所とは別の画面になりますので、0番目のアドレスではないことを確認する必要があります。

上記をまとめると以下のようになります。

以下は送信データのまとめです。

 

キー名 説明 必須
consumer_address_id お届先ID
0:会員登録住所
1以上:登録済みお届先住所
multi:複数お届先
必須

関連記事

メルマガ登録
セミナーやキャンペーン情報など、不定期で配信しています