2019年のShopify Uniteでは、マーチャントのために機能的で迅速なShopify統合を可能にする新しいAPIが発表されました。そのうちの1つがBillingAPIで、これはGraphQLで利用できます。このリリースにより、アプリ開発者がGraphQLでエンドツーエンドのアプリを構築できる機会が広がりました。
今回の記事では、新しいAPIの基本と活用法を解説していきたいと思います。
Shopify Billing API
8年の間に、わたしたちはShopify BillingAPIを通じた目覚ましい成長を遂げてきました。2億ドル以上がアプリ開発者に支払われ、2018年だけでもその額は1億ドルを超えます。新しい請求PAIは、あなたのShopifyにおけるビジネスの成長を助け、アプリを使ったり購入したりする際にマーチャントに優れた体験を提供します。
GraphQLのBillingAPIは、すでに確立しているREST版をベースにした基盤の上に成り立っています。このGraphQLのBillingAPIでのみ可能な新機能も発表されました。
・BillingAPIの拡張性を広げる、業界標準に合った新しいドメインモデル
・すべての課金はShopifyによって自動でアクティベートされ、マーチャント承認後にアプリ開発者がアクティベートする手間が不要に
・サブスクリプションかワンタイム購入の変更があった場合に発火するステータスアップデートのwebhook
以下では、GraphQL BillingAPIについてアプリ開発者が知っておくべきことを1つずつ見ていきます。
こちらも参考にしてください:支払いを受ける:Shopifyアプリ請求サイクルの概要
基本:新しいドメインモデル
既存のREST APIになじんでいる人は、4つのリソースをマーチャントへのアプリ課金に利用できます。しかし、これらのリソースは誤解されることが多く、請求ドメインを正確に反映していないことがあるようです。
GraphQL APIの請求リソース
購入
Shopifyは2つの購入をサポートします。ワンタイム購入とサブスクリプションです。それぞれの差異を確認していきましょう。
ワンタイム購入
アプリのワンタイム購入は、タイミングを問わず即座にマーチャントに課金するために使用されます。作成時にマーチャントの承認が必要で、請求がすぐに発生します。このリソースは2つのケースでおもに利用されています。
・一度だけ支払う:アプリやアプリ内の機能をマーチャントが購入すると、そのプロダクトや機能はつねに利用可能な状態になります(例:メールテンプレートを購入)
・使うたびに支払う:マーチャントはアプリやアプリ内の機能を複数回購入できます(例:多数のメールクレジットを販売)
サブスクリプション
サブスクリプションは、アプリや機能へのアクセスを一定期間マーチャントに許可します。サブスクリプションに関するプランには2つのタイプがあります。
・定期プランは、30日ごと、または年間で、固定の金額をマーチャントに課金します。
・従量課金は、サブスクリプション期間の使用記録に応じて段階的な請求が可能です。使用分の総額は、請求時にマーチャントが承認する上限を超えることはできません。使用記録は請求期間の終わりにマーチャントの請求書につけられます。
パートナーは、アプリのインストールごとに1つの従量課金プランと1つの定額プランを作成できます。そのため、アプリのサブスクリプションのリソースを使用することで、1つのサブスクリプション期間内で2つの料金モデルが並存することも可能です。
購入の調整
アプリ開発者は、アプリをインストールしたマーチャントにアプリクレジットを発行することができます。アプリクレジットは、すぐに使うことができ、自動的に将来のアプリ購入、サブスクリプション、従量課金に充当されます。
アプリクレジットを作成すると、あなたの収益シェア率に応じた該当分がパートナーアカウントから差し引かれます。付与されるアプリクレジットの総額は、30日以内にショップオーナーに請求された額、またはパートナーアカウントの支払い保留分の総額を超えることはできません。アプリクレジットに設定できる最大金額は300ドルです。
こちらも参考にしてください:アプリに適した料金モデルを選ぶには?
GraphQLとRESTで異なる変更
ドメインモデルとは別に、重要な変更がAPIに加えられています。
・すべての変更が自動でアクティベート:購入が承認されると、Shopifyは自動で購入ステータスを「保留中」から「有効」へと切り替えます。RESTとは異なり、アプリ開発者は課金をアクティベートする必要がなくなりました。
・価格を指定:購入を作成する際、金額と通貨コードを指定する必要があります。現在サポートされている通貨コードはUSDのみです。
ステータス変更の通知を受ける
購入に変更があった場合に通知する新しいwebhookのトピックが2つ追加されています。
・アプリ購入のワンタイムアップデート:アプリの購入がマーチャントに承認されると、ステータスがActive/Declined/Expireに変更されたときにwebhookが発火します。
・アプリサブスクリプションのアップデート:アプリのサブスクリプションがマーチャントに承認されると、ステータスがActive/Declined/Expire/Canceled/Frozenに変更されたときにwebhookが発火します。
GraphQLのwebhookトピックに関する詳細は、開発者ドキュメントでご確認いただけます。
GraphQL BillingAPIで最適な支払い体験を
GraphQL BillingAPIを作成する過程で、わたしたちはパートナーの声に真摯に耳を傾け、マーチャントやパートナーにとってさらに強力なアプリの支払いシステムを構築するよう努めました。GraphQL BillingAPIと付随するwebhookをもとに、あなたのビジネスを成長させ、マーチャントのニーズを解決する機能をこれからも導入していきます。
新しいAPIや請求全般について疑問点があれば、お気軽にフォーラムでお問い合わせください。
Shopifyパートナープログラムでビジネスを成長させる
マーケティング、カスタマイズ、またはWebデザインや開発など提供するサービスに関係なく、Shopifyパートナープログラムはあなたを成功へと導きます。プログラムの参加は無料で、収益分配の機会が得られ、ビジネスを成長させる豊富なツールにアクセスできます。情熱的なコマースコミュニティに今すぐ参加しましょう!