現在急成長中のオンライン決済サービスStripeを使いやすく変更した設定メモ。
環境 Xcode 9.2 Swift 4.0
目次
Stripeとは
冒頭にも述べたが、Stripeはオンライン決済サービスである。
StripeはiOS、web、Androidでのオンラインクレジットカード決済機能を提供していて、SDKが比較的使いやすいく、スタートアップのプロダクト開発などでは強い味方になるサービスである。。
最近ではJCBの決済に正式対応し、非常に流行ってきている。
参考記事
Xcode初心者が手を出した時につまづくポイントとして、Stripeの提供するUIを使った時に、カード情報入力画面やカード追加画面をどうやったら日本語にカスタマイズできるのかというのがある。というか私が躓いた。
(私が本当にXcode初心者というだけかもしれない...)
初期の設定では下の図のように、英語で表示されてしまう。
日本語変換方法
StripeのiOS SDKには、
STPaymentMethodsViewController
が、備え付けのカード情報処理UIとして提供されている。
これはもちろん、先にも述べたとおりデフォルトだと全て英語になっており、日本語でのサービス展開はこのままだと少々厳しい。
これをローカライズするには、Stripeの設定ではなく、Xcodeの方で日本語ローカライズ設定すると変換されるようになる。
チェックポイントは、次の2つである。
- プロジェクトのInfo部分で、
Use Base Internationalization
がONになっていること Localization
の中で+
ボタンを押し、Japaneseを追加すること
これでビルドすると、下の図のように日本語設定が自動で反映され、英弱な日本人でもStripeを使えるようになる。幸せ。
まとめ
Stripeの日本語設定は、Stripeの設定ではなく、Xcodeの日本語設定が反映される。
余談: Use Base Internationalizationってなんだ?
これは、localizable.stringというファイルにEnglish to any language の対応表を定義して、Baseファイルを元に色々な言語にローカライズする仕組みのこと。 もちろんSDKでこれをやるにはSDKの方が対応していないとできないことになる。 Stripeは幸い、日本語対応がSDKできちんとされているので特に何も気にせずローカライズして大丈夫だった、ということ。
他のサービスを用いたときに日本語設定が反映されないときは、これらのチェックポイントを参考にし、最後にはSDKが日本語に対応しているかを確認しよう!