2019年4月20日土曜日

Amazon Pay実装の感想

他の国産決済と違って、仕様書が存在しないのが一番大きいです。海外ではこういうのが普通なのですかね。オープンソースと同じ感じなのかな。
リファレンスとか一部機能紹介みたいなガイドは存在しますけど、結構間違っているので、自分で調査が必要でした。

任意項目となってても、必須だったり。
デフォルト値が違っていたり。

ま、さわってればすぐわかりますけど。
あと最近追加されたFAQページはまともっぽいです。

SDKを使うには、SDKのソースを見る必要があります。
主な使い方はSDKのページに書かれていますけど、書かれていない事もあります。

実装時に注意が必要だと思ったのは、

・ログインウィジェット。
ログインしたら次のページに進みたい~って処理をするとき。
onSignInを使います。これはログインが完了した後に実行されます。
authorizationは、認証処理が終了したときに実行されます。すなわちキャンセルしてログインしなくても実行されます。

・定期購入で配送先が空?
InheritShippingAddressパラーメータを追加する必要があります。
デフォルトではtrueと書かれてますが嘘です、デフォルトはfalseになっています。
今はFAQにも書かれていますね。
任意項目ですが、実質必須項目です。

・住所ウィジェットを2つ同時に使いたい
オーダーリファレンスIDは特定条件下で同時に2つ扱えます。
リファレンスIDを新規作成可能なのは、ログインウィジェットと住所選択ウィジェットです。
これを利用して、住所ウィジェットを2つ同時に扱うことが可能です。
間違っても同じIDで住所ウィジェット2つという力業はしないことです。

・アメリカ版と日本版で住所ウィジェットの仕様が微妙に違う
管理画面からテストアカウントの住所を入れるときはアメリカ版仕様なので注意でした。
アメリカ仕様:市町村項目がある
日本仕様:会社名項目がある
両者は項目名が違うだけでなく、項目そのものが別物です。
違う仕様で保存すると、無い項目のデータは消滅し引き継がれません。

こんな感じでした。