Facebook Credit 日本語表記 Facebook ポイントの開発手順例です。
Facebook のアプリ設定では一度にすべての項目を入力してから保存しないほうが良いです。
こまめに保存ボタンを押してエラーが出ないことを確認しながら進めるようにすると
手戻りが少なくてすみます。
アプリを作成していない場合は作成してください。
その後アプリの設定で以下の画面のように
「国」と「Credits Callback URL」を記入した上で保存してください。
「国」と「コールバック」を入力してエラーが表示されずに保存できた場合は
Facebook Credit API が使用できるようになります。
また、無課金でアイテム購入をテストする場合は「Credits testers」に
Facebook のユーザIDを入力して変更を保存してください。
この状態であれば Facebook Credit API の
payment_get_items と payments_status_update が
「Credits Callback URL」に設定した箇所にコールバックが送信されます。
Facebook クライアントクラスにサンプルが付属しています。
注意点:
payments_get_items では配列で返さないといけないのですが、
現時点では複数の商品を Facebook 側へ返答するとエラーになります。
payments_status_update は情報がまったく不足しています。
Facebook のドキュメントやサンプルでは課金状態の変更で
アプリ開発者が何をどのようにすべきなのかが圧倒的に不足しています。
「Credits testers」に登録したユーザーで無課金でアイテム購入を行った場合は
商品購入履歴(order_id)が Facebook 側に記録されないようです。
非公式FAQ:
Q:
ユーザーが現在保持している Facebook ポイントの数を得るには?
A:
Facebook Credit API の Get Balance に記載されている
Legacy REST API の users.getStandardInfo を呼び出すことで取得できるとなっていますが、そのままではエラーが戻ってきました。
Forum を覗いた限りでは Facebook にアプリID などを連絡する必要があるかもしれません。
Q:
Facebook ポイントの補充だけをユーザーに行ってもらうには?
A:
Facebook Credit API の Get More Credits の処理を行うことで Facebook ポイントの補充だけを行えます。
Q:
Credits Graph API がエラーになる
A:
- 「Credits testers」に登録された状態で無課金で購入して発生した order_id は
Facebook 側に記録されていないみたいです。
実際の Facebook ポイントを使用することで正規の order_id が発行されます。 - Credits Graph API に渡す access_token は
ユーザーの oauth_token ではなく
アプリケーション自体のアクセストークンでないとエラーになります。 - ドキュメントが変更されていないか確認しててみてください。
一例としては Update Order から7月下旬には存在していた
refund_funding_source が消え去っています。 - 渡すパラメータをあえて渡さないことでエラーにならずに成功することもあります。
Q:
テストで使用した Facebook ポイントを払い戻すには?
A:
Credits Graph API の Update Order で status を refunded に更新することでポイントを戻すことができます。
8月初頭に試したときは Update Order に access_token と status 以外を渡したときにはエラーが戻ってきました。
Q:
Paypal やクレジットカードで購入した Facebook ポイントを Paypal やクレジットカードに組み戻し(チャージバック)を行うには?
A:
ほぼ、あきらめたほうが良いかもしれません。
頻度が少ないかつ正当な理由がある場合は Facebook に対して異議申し立てを行うことで
チャージバックできると思われます。
自分のホーム画面から
アカウント>Facebookポイント残高>「ポイント購入履歴」を「見る」をクリック
履歴が表示されますので該当履歴の「受領書を見る」をクリック
表示された画面に「この購入にクレーム」が表示されているのでクリック
で異議申し立てが行えます。
途中まで入力を試してみたら、「子供が間違えて操作した」など
ある程度のテンプレートは用意されていました。
ただ、異議申して手は英語表示のままです…