Skip to content

Instantly share code, notes, and snippets.

@toruf-stripe
Last active December 7, 2021 15:19
Show Gist options
  • Save toruf-stripe/60293ec99a333a7af1daaca31b562741 to your computer and use it in GitHub Desktop.
Save toruf-stripe/60293ec99a333a7af1daaca31b562741 to your computer and use it in GitHub Desktop.
Setting Japanese addresses

日本の住所を登録するときのプロパティ分け

Stripe Connect で、販売者やサービスプロバイダーの住所を登録するには、フォームを使う方法と、API を呼び出す方法があります。フォームを使うとユーザーインターフェースで、住所の文脈に応じてバリデーションのフィードバックをします。API では、各プロパティに関して対応・実装が必要です。

この文書では、API で住所を登録するとき、どのプロパティに、どの住所要素を指定するかを例示します。完全な内部仕様ではありません。

対象 API

  • account.company.address_kanji
  • account.company.address_kana
  • account.individual.address_kanji
  • account.individual.address_kana
  • person.address_kanji
  • person.address_kana

この文書では、_kanji のみを使って、プロパティと住所要素の対応を例示します。

参考リンク

基本的な考え方

プロパティと住所要素は、下表のように対応します。

プロパティ 住所要素
state 都道府県 東京都
city 市区町村 千代田区
town 町域 千代田
line1 丁目、小字、番地など 1-1
line2 建物名、階、部屋番号など 天守閣1号室
  • 住所に、建物名、階、部屋番号が含まれない場合は、line2 を指定しない
  • town と line1 をどう分割するかは、ある程度 Stripe 側があいまいさを許容
  • 住所要素に数字が入る場合は、漢数字表記。例: 東京都港区麻布十番、愛知県名古屋市熱田区二番
  • 丁目、番地はアラビア数字。全角でも半角でもよい。
  • 上記の考え方をうまくマッピングできない例外がある
    • 札幌市の「◯条」は、town の最後につける
    • 岩手県の「第◯地割」は、town の最後につける
    • 京都市の通り名は、city の最後につける
    • 町域よりも小さな区画がある場合、line1 の先頭につける

簡易的な確認方法

ダッシュボードの test mode で、Connected Account を作って、郵便番号を入力すると、city や town までが補完されます。

各プロパティの内容は、API で GET /v1/accounts/:id や GET /v1/persons/:id を呼び出すと、各フィールドの値を確認できます。

ダッシュボードには、京都の通り名が入力できない、line1 に数字とハイフン以外入力できない、などの制限があります。最終的には API を呼び出して確認します。

住所要素は、日本郵便の郵便番号検索の結果を引用します。

政令市の「◯◯市◯◯区」

city に市と区、town に町域を指定する。ある程度の揺れを許容する。

例: 231-0005 神奈川県横浜市中区本町6丁目50−10

  • 郵便番号: 231-0005
  • 都道府県: 神奈川県
  • 市区町村: 横浜市中区
  • 町域: 本町

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=231-0005

"address_kanji": {
  "postal_code": "2310005",
  "state": "神奈川県",
  "city": "横浜市中区",
  "town": "本町6丁目",
  "line1": "50-10"
}

"address_kanji": {
  "postal_code": "2310005",
  "state": "神奈川県",
  "city": "横浜市中区",
  "town": "本町",
  "line1": "6丁目50-10"
}

"address_kanji": {
  "postal_code": "2310005",
  "state": "神奈川県",
  "city": "横浜市",
  "town": "中区本町",
  "line1": "6丁目50-10"
}

"address_kanji": {
  "postal_code": "2310005",
  "state": "神奈川県",
  "city": "横浜市",
  "town": "中区本町6丁目",
  "line1": "50-10"
}

岩手県の地割

岩手県の「第◯地割」は、town の最後につける

例: 028-7912 岩手県九戸郡洋野町種市第35地割102−2

  • 郵便番号: 028-7912
  • 都道府県: 岩手県
  • 市区町村: 九戸郡洋野町
  • 町域: 種市第26地割~第38地割(川尻、平内)

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=028-7912

"address_kanji": {
  "postal_code": "0287912",
  "state": "岩手県",
  "city": "九戸郡洋野町",
  "town": "種市第35地割",
  "line1": "102-2"
}

京都市の通り名

京都市の通り名は、city の最後につける。

例: 604-8086 京都府 京都市 中京区 御幸町通三条上る 丸屋町326

  • 郵便番号: 604-8086
  • 都道府県: 京都府
  • 市区町村: 京都市中京区
  • 町域: 丸屋町(御幸町通姉小路下る、御幸町通三条上る、姉小路通御幸町西入、姉小路通御幸町東入)

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=604-8086&x=125&y=39

"address_kanji": {
  "postal_code": "6048086",
  "state": "京都府",
  "city": "京都市中京区御幸町通三条上る",
  "town": "丸屋町", 
  "line1": "326"
}

街区町域より小さな区画

町域名の後に、さらに小さな区画名がある場合は、line1 の先頭につける

例: 982-0804 宮城県仙台市太白区鈎取一本杉64−1

  • 郵便番号: 982-0804
  • 都道府県: 宮城県
  • 市区町村: 仙台市太白区
  • 町域: 鈎取

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=982-0804

"address_kanji": {
  "postal_code": "9820804",
  "state": "宮城県",
  "city": "仙台市太白区",
  "town": "鈎取",
  "line1": "一本杉64-1"
}

札幌市の◯条

通りを表す「◯条」は、town の最後、または line1 の先頭につける。

例: 062-0935 北海道札幌市豊平区平岸5条6丁目1−24

  • 郵便番号: 062-0935
  • 都道府県: 北海道
  • 市区町村: 札幌市豊平区
  • 町域: 平岸五条

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=062-0935

"address_kanji": {
  "postal_code": "0620935",
  "state": "北海道",
  "city": "札幌市豊平区",
  "town": "平岸五条",
  "line1": "6-1-24"
}

"address_kanji": {
  "postal_code": "0620935",
  "state": "北海道",
  "city": "札幌市豊平区",
  "town": "平岸",
  "line1": "五条 6-1-24"
}

町域が数字を含む

町域に含まれる数字を、漢数字で記載する。

例: 456-0052 愛知県名古屋市熱田区二番2丁目20−2

  • 郵便番号: 456-0052
  • 都道府県: 愛知県
  • 市区町村: 名古屋市熱田区
  • 町域: 二番

https://www.post.japanpost.jp/cgi-zip/zipcode.php?zip=456-0052

"address_kanji": {
  "postal_code":"4560052",
  "state":"愛知県",
  "city":"名古屋市熱田区",
  "town":"二番", 
  "line1":"2-20-2"
}

まとめ

自力で頑張ろうとせずに、Stripe の入力フォームや、ケンオールなどのツールを使うのがいいと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment