Alexaスキル内課金を使うには、利用者自身がAlexaアプリで「音声ショッピングを解除」する設定が必要です。さらに、それだけでなく、「1-click設定」もしておかないとダメなのです。
現状のAlexaアプリのガイダンスだけでは絶対わからないので、通しのフローをメモっときます。
Alexaで音声ショッピングを開始する為のユーザー設定
alexaアプリの左上の三本線をタップ
↓




下記はすでに設定済みの場合の画面なんでちょっと違いますが、
「お支払い方法を編集」というボタンは共通なので、それをタップして、
クレジットカード情報を入力してください。
これでAlexaでの音声ショッピングが可能になります。
ついでにセキュリティ対策を入れようぜ
主題とはそれますが続けます。
ここまでの設定だけでは、パスワード的なものを聞かれずに「買いますか?」「はい」だけでショッピングが完結してしまい、便利なんですが若干怖いですね。
一人暮らしなら問題ないけど、家族で共有してる場合、知らないうちに買い物されてしまってた。。という事は避けたいでしょう。
「決済直前に、アレクサが必ず4桁の確認コードを聞いてくるようにする」という設定ができるので、確実に入れておいた方が良いと思います。


さらに、毎回入力するのがかったりぃという人の為に、
「登録済みの音声からの命令だったら2回目以降は確認コードを聞いてこない」というハイテクな設定もできます。

この機能をオンにすると、何回か決まったセリフを喋るように指示され、音声(声紋?)を登録するフローに進むはず。
私は以前音声登録しちゃってたので、そこのスクショは取れませんでした。あしからず。
開発者のジレンマ
- 音声ショッピングをONにする
- 1-clickを設定する
これをユーザーさんに設定してもらう事が、ここ数ヶ月でリリースされる課金スキルではハードルが高そう。人柱。
自分も、AAJUGの勉強会で、せーのさんが「ここ大事!1-clickの設定が必要ですよおおおお!」と絶叫してたのに忘れてて、翌日に開発用の別アカウントで以下のエラーが出てハマりました。
"name": "Upsell",
"payload": {
"purchaseResult": "ERROR",
"productId": "amzn1.adg.product.ほげほげ",
"message": "Upsell was blocked due to lack of purchase permission."
},
ちなみに、音声ショッピング自体がオフになってた場合は、Alexaが自動で以下のガイダンスを出してくれるのを確認しました。
1-click未登録の時のエラーも自動で拾ってくれないかなぁ。。アマゾンさん。。(チラッチラッ)
違うんじゃねーかとか、何かおかしいところとかあったらご指摘ください。
(そもそも出たばっかりなので、数日経ったら仕様変わってるかもしれんですが、確認しまっす!)
現場からは以上です!