【Shopify.dev和訳】Apps/Subscriptions/Migrate subscriptions API
この記事について
この記事は、Apps/Subscriptions/Migrate to the subscriptions APIの記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
サブスクリプション API 移行ガイド
このガイドでは、既存のサブスクリプションシステムを、マーチャントが Shopify 管理者で直接アクセスできるシステムに移行するプロセスの概要を説明します。
Shopify への移行には、可能な限り最高のマーチャントエクスペリエンスを保証するための一連の UX ガイドラインと要件が付属しています。詳細については、移行エクスペリエンスを構築するための UX ガイドラインを参照してください。
あなたが学ぶこと
このチュートリアルでは、次の概念について説明します。
・サブスクリプションのマーチャント資格
・サブスクリプションの販売計画と販売計画グループを作成する
・チェックアウト割引コードを作成する
・配送用の配送プロファイルを作成する
・課税
・ストアフロントにコードを追加する
サブスクリプションのマーチャント資格
Shopify サブスクリプションを使用する資格を得るには、マーチャントは資格基準を満たす必要があります。
GraphQL Admin API を使用して次のリクエストを実行し、ショップがサブスクリプションに新しい API を使用する資格があるかどうかを判断できます。
リクエスト
POST /admin/api/2021-01/graphql.json
{
shop {
features {
eligibleForSubscriptions
}
}
}
#### JSON レスポンス
{
"data": {
"shop": {
"features": {
"eligibleForSubscriptionMigration": true
}
}
}
}
サブスクリプションの販売計画と販売計画グループを作成します
製品の販売計画を作成するには、販売計画を使用できます。次に、販売計画を特定の製品に関連付けられた販売計画グループにグループ化できます。
詳細については、販売計画の作成と管理を参照してください。
チェックアウト割引コードを作成する
チェックアウトで現在割引コードが使用されている場合は、Shopify でそれらの割引コードを作成する必要があります。これらの割引コードをプログラムでストアに追加するには、価格ルールと割引コードオブジェクトを使用できます。
詳細については、サブスクリプションの割引の作成と管理を参照してください。
配送用の配送プロファイルを作成する
ストアで配送方法を設定するには、配送プロファイルを使用できます。配信プロファイルには、特定の製品に適用される配信方法と料金に関する情報が格納されます。ストアの商品が配送が必要な物理的な商品である場合、配送プロファイルを使用すると、チェックアウト時にこれらの配送方法を表示できます。
アプリでサブスクリプション固有の配信設定が定義されている場合、チェックアウト時に引き続き利用できるようにするには、DeliveryProfileオブジェクトを使用してこれらの配信設定を Shopify に追加する必要があります。
配送プロファイルを設定し、それらを製品に関連付けるための具体的な手順については、配送プロファイルを使用した高度な出荷情報の管理を参照してください。
課税
アプリで現在、販売者がサブスクリプション商品のカスタム課税ルールを作成できる場合、これらの税ルールを引き続き適用するには、Shopify 管理者を通じて作成する必要があります。
Shopify での税ルールの作成の詳細については、税に関する販売者のドキュメントを参照してください
ストアフロントにコードを追加する
顧客は、オンラインストアからサブスクリプションとして製品を購入できる必要があります。オンラインストアからサブスクリプション製品を利用できるようにするには、顧客がオンラインストアの製品ページから販売プランの購入オプションを選択できるようにする必要があります。
Shopify ストアフロントでは販売プランを選択できる必要があり、[カートに追加]ボタンには、サブスクリプション注文を作成するために商品をカートに追加するときに販売プラン ID を含める必要があります。ID、販売プラングループ、価格設定、オプションなどの販売プランの詳細はすべて、Liquid リファレンスから入手できます。これらの販売プランの詳細は、POST /cart/add.js AJAXAPIの呼び出しに含めることができます。
詳細については、製品ページでの販売プラングループと販売プランの表示を参照してください。
顧客への販売計画の提示に関する UX ガイドラインと要件については、サブスクリプションに関するオンラインストアの UX ガイドラインを参照してください。
次のステップ
・既存のサブスクリプション契約を Shopify に移行する方法を学びます。
既存のサブスクリプション契約を Shopify に移行する
現在 Stripe を介してサブスクリプションの支払いを処理しているマーチャント向けに、Shopify は、クレジットカードを直接移行することなく、従量課金制の契約を Shopify にインポートするための一連のツールを構築しました。
このプロセスには、従来のサブスクリプション支払いゲートウェイとして Stripe を接続し、従量課金制の各契約を Shopify に移行することが含まれます。 プロセスが完了したら、サブスクリプション契約を使用して、ShopifyCheckout で作成された契約のような後続の注文を作成できます。
要件
このチュートリアルは、前のチュートリアルであるサブスクリプション API 移行ガイドをすでに完了していることを前提としています。
あなたが学ぶこと
このチュートリアルでは、次の概念について説明します。:
- サブスクリプションと連携するように支払いゲートウェイを構成する
- 行方不明の顧客をインポートする
- 顧客のための新しい支払い方法を作成する
- サブスクリプション契約のインポート
- 請求の試行を作成する
サブスクリプションと連携するように支払いゲートウェイを構成する
サブスクリプションと連携するように支払いゲートウェイを構成する手順は、使用している支払いゲートウェイによって異なります。
Shopify Payments
プライマリペイメントゲートウェイが ShopifyPayments の場合、Stripe の Payment Intents APIを使用して、セカンダリペイメントゲートウェイとして Stripe を接続する必要があります。 このプロセスは、Stripe のChargesAPIとも互換性があります。
マーチャントの現在の Stripe アカウントをセカンダリゲートウェイとして Shopify に接続するには:
- 販売者を次の URL にリダイレクトします:
{SHOP_URL} / admin / Payments / legacy_subscription
。 販売者がプロセスの完了時に移行ページに戻ることができるように、このリンクを新しいブラウザウィンドウで開くことをお勧めします。 マーチャントは Stripe にリダイレクトされ、接続プロセスを開始するように求められます。 マーチャントが接続プロセスを正常に開始すると、支払い設定ページにリダイレクトされ、バナーが接続の成功を通知します。 - Shop 設定をポーリングして、Shopify が Stripe との接続を正常に確立したかどうかを確認します。
POST /admin/api/2021-07/graphql.json
{
shop {
features {
legacySubscriptionGatewayEnabled
}
}
}
応答
JSON response:
{
"data": {
"shop": {
"features": {
"legacySubscriptionGatewayEnabled": true
}
}
}
}
Shopify でサブスクリプションを使用する資格を判断する
Stripe をセカンダリゲートウェイとして設定する一環として、ストアのプライマリ支払いゲートウェイが ShopifyPayments を使用していることを確認する必要があります。 次のクエリは、プライマリ支払いゲートウェイが ShopifyPayments であることを確認します。 Plus プランのストアの場合、クエリは ShopifyCheckout がサブスクリプション情報を表示できることを確認します。
POST /admin/api/2021-07/graphql.json
{
shop {
features {
eligibleForSubscriptionMigration
}
}
}
応答
JSON response:
{
"data": {
"shop": {
"features": {
"eligibleForSubscriptionMigration": true
}
}
}
}
PayPal Express
PayPal Express 支払いゲートウェイを使用する場合は、PayPal Express が有効になっており、マーチャントが PayPal からの参照取引の使用を承認されていることを確認する必要があります。
Shop 設定をポーリングして、Shopify が PayPal アカウントをサブスクリプションに使用する準備ができていることを正常に確認したかどうかを確認します。
POST /admin/api/2021-07/graphql.json
{
shop {
features {
paypalExpressSubscriptionGatewayStatus
}
}
}
応答
JSON response:
{
"data": {
"shop": {
"features": {
"paypalExpressSubscriptionGatewayStatus": "ENABLED"
}
}
}
}
フィールド値がDISABLED
の場合、マーチャントは参照取引の承認を受けるために PayPal に連絡する必要があります。 Paymentページには、説明が記載されたバナーが販売者に表示されます。 PENDING
の値は、Shopify がまだ販売者の適格性を判断していることを意味します。
Shopify でサブスクリプションを使用する資格を判断する
次のクエリは、少なくとも 1 つの支払いゲートウェイで顧客がサブスクリプションを購入できることを確認します。 Shopify Plus プランのストアの場合、クエリは ShopifyCheckout がサブスクリプション情報を表示できることを確認します。
POST /admin/api/unstable/graphql.json
{
shop {
features {
eligibleForSubscriptionMigration
}
}
}
応答
JSON response:
{
"data": {
"shop": {
"features": {
"eligibleForSubscriptionMigration": true
}
}
}
}
Authorize.net
Authorize.net 支払いゲートウェイを使用する場合は、追加の構成を行う必要はありません。
Shopify でサブスクリプションを使用する資格を判断する
次のクエリは、少なくとも 1 つの支払いゲートウェイで顧客がサブスクリプションを購入できることを確認します。 Plus プランのストアの場合、クエリは ShopifyCheckout がサブスクリプション情報を表示できることを確認します。
POST /admin/api/unstable/graphql.json
{
shop {
features {
eligibleForSubscriptionMigration
}
}
}
応答
JSON response:
{
"data": {
"shop": {
"features": {
"eligibleForSubscriptionMigration": true
}
}
}
}
行方不明の顧客をインポートする
顧客レコードをインポートして、支払い方法やサブスクリプション契約に接続する必要があります。customerCreateおよびcustomerUpdateミューテーションを使用して、Shopify に顧客を追加できます。
顧客のための新しい支払い方法を作成する
新しい支払い方法を作成する手順は、使用している支払いゲートウェイによって異なります。
Shopify Payments
Stripe の支払い方法を Shopify にインポートする顧客に関連付けることができます。 関連付けを行うには、CustomerPaymentMethodRemoteCreditCardCreateミューテーションを使用して、Shopify の顧客 ID を Stripe の顧客 ID および支払い方法 ID に関連付けます。 Stripe 支払い方法 ID が利用できない場合は、顧客のデフォルトのソースが使用されます。
次の例は、顧客の支払い方法を作成するミューテーションを示しています。 ミューテーションは、販売者がストアにセカンダリ支払いゲートウェイを設定できる管理ページの場所を説明する URL を返します。
POST /admin/api/2021-01/graphql.json
mutation CreateRemoteCreditCard(
$customerId: ID!
$remoteReference: CustomerPaymentMethodRemoteInput!
) {
customerPaymentMethodRemoteCreate(customerId: $customerId, remoteReference: $remoteReference) {
customerPaymentMethod {
id
instrument {
... on CustomerCreditCard {
brand
lastDigits
}
}
}
}
}
入力例
{
"customerId": "gid://shopify/Customer/1",
"remoteReference": {
"stripePaymentMethod": {
"customerId": "cus_stripe",
"paymentMethodId": ""
}
}
}
PayPal Express
Shopify にインポートする顧客に PayPal 請求契約を関連付けることができます。 CustomerPaymentMethodPaypalBillingAgreementCreate ミューテーションを使用して、Shopify の顧客 ID を PayPal 請求契約 ID に関連付けます。
次の例は、顧客の支払い方法を作成するミューテーションを示しています。
POST /admin/api/unstable/graphql.json
mutation CreatePaypalBillingAgreementPaymentMethod(
$customerId: ID!
$billingAddress: MailingAddressInput
$billingAgreementId: String!
) {
customerPaymentMethodPaypalBillingAgreementCreate(
customerId: $customerId
billingAddress: $billingAddress
billingAgreementId: $billingAgreementId
) {
customerPaymentMethod {
id
instrument {
... on CustomerPaypalBillingAgreement {
paypalAccountEmail
}
}
}
}
}
Authorize.net
Authorize.net の顧客プロファイルを Shopify にインポートする顧客に関連付けることができます。 関連付けを行うには、CustomerPaymentMethodRemoteCreate
ミューテーションを使用して、Shopify の顧客 ID を Authorize.net の顧客プロファイル ID および支払い方法 ID に関連付けます。 Authorize.net の支払い方法 ID が利用できない場合は、顧客のデフォルトのソースが使用されます。
次の変更例は、顧客の支払い方法を作成します。
POST /admin/api/2021-07/graphql.json
mutation CreateRemoteCreditCard(
$customerId: ID!
$remoteReference: CustomerPaymentMethodRemoteInput!
) {
customerPaymentMethodRemoteCreate(customerId: $customerId, remoteReference: $remoteReference) {
customerPaymentMethod {
id
instrument {
... on CustomerCreditCard {
brand
lastDigits
}
}
}
}
}
入力例
{
"customerId": "gid://shopify/Customer/1",
"remoteReference": {
"authorizeNetCustomerPaymentProfile": {
"customerProfileId": "cus_authorize_net",
"customerPaymentProfileId": ""
}
}
}
サブスクリプション契約のインポート
Shopify の顧客レコードを作成または更新した後、サブスクリプション契約をインポートできます。 サブスクリプション契約には、バリアント、プラン、支払い方法、および請求先住所と配送先住所に関する情報が含まれています。
サブスクリプション契約のインポートは、次の 3 つのステップのプロセスです。
-
SubscriptionContractCreate
ミューテーションを使用して、サブスクリプションドラフトを作成します。 - 下書きを作成したら、サブスクリプションに含まれるバリアントを表す
lines
をサブスクリプションに追加する必要があります。 -
lines
を追加した後、変更を実行してドラフトをコミットします。これにより、ドラフトが実際の契約に変わります。
次の例では、前にインポートした顧客と前の手順の支払い方法を含むサブスクリプション契約を作成します。
POST /admin/api/2021-01/graphql.json
mutation {
subscriptionContractCreate(
input: {
customerId: "gid://shopify/Customer/1"
nextBillingDate: "2020-06-01"
currencyCode: USD
contract: {
status: ACTIVE
paymentMethodId: "gid://shopify/CustomerPaymentMethod/869e7a39"
billingPolicy: { interval: MONTH, intervalCount: 1, minCycles: 3 }
deliveryPolicy: { interval: MONTH, intervalCount: 1 }
deliveryMethod: {
shipping: {
address: {
firstName: "John"
lastName: "McDonald"
address1: "33 New Montgomery St"
address2: "#750"
city: "San Francisco"
provinceCode: "CA"
countryCode: US
zip: "94105"
}
}
}
deliveryPrice: 14.99
}
}
) {
draft {
id
}
userErrors {
field
message
}
}
}
応答
JSON response:
{
"data": {
"subscriptionContractCreate": {
"draft": {
"id": "gid://shopify/SubscriptionDraft/7"
},
"userErrors": []
}
},
"extensions": {
"cost": {
"requestedQueryCost": 10,
"actualQueryCost": 10,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 990,
"restoreRate": 50
}
}
}
}
サブスクリプションドラフトが作成されたので、ドラフトに行を追加して、契約に含める必要のあるラインアイテムをサブスクリプションに指示する必要があります。
POST /admin/api/2021-01/graphql.json
mutation {
subscriptionDraftLineAdd(
draftId: "gid://shopify/SubscriptionDraft/7"
input: { productVariantId: "gid://shopify/ProductVariant/2", quantity: 20, currentPrice: 25.00 }
) {
lineAdded {
id
quantity
productId
variantId
variantImage {
id
}
title
variantTitle
currentPrice {
amount
currencyCode
}
requiresShipping
sku
taxable
}
draft {
id
}
userErrors {
field
message
code
}
}
}
応答
JSON response:
{
"data": {
"subscriptionDraftLineAdd": {
"lineAdded": {
"id": "gid://shopify/SubscriptionLine/818b344f-1e7f-4b0e-9fc2-2b749d4b5494",
"quantity": 20,
"productId": "gid://shopify/Product/1",
"variantId": "gid://shopify/ProductVariant/2",
"variantImage": {
"id": "gid://shopify/ImageSource/1474738389014"
},
"title": "Aerodynamic Wool Coat",
"variantTitle": "Rustic Plastic Computer",
"currentPrice": {
"amount": "25.0",
"currencyCode": "USD"
},
"requiresShipping": true,
"sku": "",
"taxable": true
},
"draft": {
"id": "gid://shopify/SubscriptionDraft/7"
},
"userErrors": []
}
},
"extensions": {
"cost": {
"requestedQueryCost": 11,
"actualQueryCost": 11,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 989,
"restoreRate": 50
}
}
}
}
サブスクリプションドラフトを請求可能なサブスクリプション契約に変換するには、ドラフトをコミットする必要があります。 次のミューテーションはドラフトをコミットし、請求の試行を受け入れるライブサブスクリプション契約を返します。
POST /admin/api/2021-01/graphql.json
Copy
mutation {
subscriptionDraftCommit(draftId: "gid://shopify/SubscriptionDraft/22") {
contract {
id
}
userErrors {
field
message
}
}
}
応答
JSON response:
{
"data": {
"subscriptionDraftCommit": {
"contract": {
"id": "gid://shopify/SubscriptionContract/7"
},
"userErrors": []
}
},
"extensions": {
"cost": {
"requestedQueryCost": 10,
"actualQueryCost": 10,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 990,
"restoreRate": 50
}
}
}
}
請求の試行を作成する
契約の請求スケジュールをトリガーするには、請求試行を作成する必要があります。 請求が成功すると、Shopify は注文を作成します。
次のミューテーションは、必須フィールドsubscriptionContractId
およびidempotencyKey
(重複した支払いを回避するためにクライアントによって生成される一意のキー)を指定することにより、請求を試みます。 ミューテーションが成功すると、サブスクリプション契約は現在のステータスに対して請求されます。
mutation {
subscriptionBillingAttemptCreate(
subscriptionContractId: "gid://shopify/SubscriptionContract/1"
subscriptionBillingAttemptInput: { idempotencyKey: "abc123" }
) {
subscriptionBillingAttempt {
id
errorMessage
nextActionUrl
order {
id
}
ready
}
}
}
応答
JSON response:
Copy
{
"data": {
"subscriptionBillingAttemptCreate": {
"subscriptionBillingAttempt": {
"id": "gid://shopify/SubscriptionBillingAttempt/593791910",
"errorMessage": null,
"nextActionUrl": null,
"order": {
"id": "gid://shopify/Order/148977776"
},
"ready": true
}
}
}
}
請求試行の作成の詳細については、請求試行の作成を参照してください。
移行体験を構築するための UX ガイドライン
このガイドは、既存のマーチャントの定期購入データを Shopify に移行したいと考えているパートナー様向けに、ユーザーエクスペリエンス(UX)のガイドラインを提供しています。このガイドを参考にして、構築するエクスペリエンスが、Subscriptions API 移行ガイドで説明されている技術的な手順と API に沿っていることを確認することができます。
このガイドに記載されているコンポーネントを構築するために、Polarisまたは独自のビジュアル言語を使用することができます。
必要条件
Shopify サブスクリプションを使用する資格を得るために、マーチャントは資格基準を満たす必要があります。
推奨される移行プロセス
移行プロセスは 2 つのステップに分かれています。
移行戦略
マーチャントが Shopify でサブスクリプションを使用するための移行を支援する前に、以下を含む移行戦略を検討してください。
- マーチャントのために明確なメンタルモデルを作成し、何がどのような順序で移行されるのか、それによってどのようにプロセスが変わるのかを理解してもらう。
- マーチャントに、移行プロセスにかかる時間と、バックグラウンドで実行されているジョブの見積もりを提供する。
- 移行することでShopify との連携が強化され、サブスクリプションビジネスの運営に役立つことを説明する。
- 移行がサブスクリプションにどのような影響を与えるか、カスタマーエクスペリエンスについての詳細な情報のために、さらなるドキュメントへのリンクを提供します。マーチャントが移行する資格がない場合は、資格を得るための手順を説明したドキュメントへのリンクを提供する。
オンボーディングバナー
オンボーディングバナーを使用して、サブスクリプションへの移行対象となるマーチャントを提供することができます。マーチャントが移行する資格がない場合は、オンボーディングバナーを表示しないでください。
移行の進捗状況の確認
マーチャントが移行プロセスをよりよく理解できるように、マーチャントが以下のことができる進捗ページを用意する必要があります。
- 移行の影響について詳しく知ることができる。
- 今後のマイルストーンを理解する。
- 移行プロセスの各ステップの完了イメージを把握するための情報にアクセスする。
- エラーが発生した場合、その修正方法を確認する。
また、マーチャントがこのページから離れることができ、再びアクセスする方法を知ることができることも重要です。
アプリのホームページに更新情報を表示
マーチャントは、ビジネスの運営に集中するために、移行中に進行状況ページを離れたいと思うかもしれません。アプリのホームページに更新情報を表示して、マーチャントが適切な情報を適切なタイミングで得られるようにすることができます。
移行がまだ進行中
移行の進捗状況を反映したバナーをアプリ上に表示します。ステータスの概要に加えて、進捗状況のページにアクセスする方法を常に用意しておきます。
アクションが必要:エラーを修正する必要がある
エラーが発生している場合は、エラーの数とどのエリアに影響があるかを表示します。
必要なアクション:次のステップ
マーチャントが従うべき次のステップがある場合は、次の情報を表示します。
- 注意が必要なエラー
- 移行を完了するために取るべき次のアクション
エラーの表示と管理
データの移行中に、誤った設定や重複した情報のために特定のエラーが発生することがあります。エラーが発生した理由をマーチャントが理解することが重要です。また、そのエラーを解決する方法についても説明する必要があります。
以下の方法でマーチャントがエラーを確認・管理できるようにします。
- 設定を変更する必要があるページへのリンクを提供する。
- エラーを管理するためのページへのリンクを提供する。例えば、移行できない重複した割引コードがある場合は、リンクから割引ページに移動し、コードの置き換え、名前の変更、削除を行うことができます。
適切なコンテキストでエラーバナーを表示し、エラーを解決できる場所にリンクします。
アップデートのメール送信
移行プロセスがバックグラウンドで実行されると、マーチャントは必要なアクションに関する通知をメールで受け取る必要があります。これにより、マーチャントはアプリのホームページで更新情報を確認する必要がなくなり、他の重要なタスクに集中することができます。
マーチャントにエラーを通知するメールの例
こんにちは、マーチャント名、
契約データの一部を移行する際にエラーが発生しました。詳細と次のステップについては、アプリをご覧ください。
[アプリへ]
マーチャントに必要なアクションを通知するメール例
こんにちは、マーチャント名、
これで、テーマコードを更新することで、購読設定の移行が完了します。
[テーマコードの更新]
移行のキャンセルまたは一時停止
移行作業中のマーチャントには、何か予期せぬことが起こった場合に、移行をキャンセルまたは一時停止する方法が必要です。マーチャントがこのプロセスをコントロールできることを確認することが重要です。
マーチャントが移行プロセスをコントロールできるようにするには、キャンセルボタンを表示し、マーチャントのビジネスに影響を与えないことを保証するか、プロセスをキャンセルした場合の結果を説明します。
キャンセルボタンがない場合は、サポートに連絡するなど、他の手段を提案してください。
ステップ 1:設定の移行
移行プロセスの最初のステップでは、マーチャントはShopify を通して新規購読を処理し、新規購読者を管理することができます。
第 1 ステップの一環として、マーチャントは割引エラーの管理とテーマコードの更新が必要になる場合があります。
割引エラーの管理
マーチャントは Shopify 管理画面とアプリで同じ割引コードを使って割引を作成していると思います。これらのコードが Shopify 管理画面に移行されると、割引コードが一意である必要があるため、エラーが発生します。
マーチャントはこのエラーを自分で解決し、割引をどうするか選択できる必要があります。
このプロセスにおいて、以下のアクションをマーチャントが利用できるようにし、マーチャントがそのアクションの結果を認識していることを確認してください。
- Shopify 管理画面の割引をアプリのものと入れ替える。この結果、Shopify 管理画面で割引を削除することになります。
- アプリ内のディスカウントを固有のコードに改名する。
- アプリ内に存在する割引を削除します。
テーマコードの更新
サブスクリプションデータの移行が完了したら、マーチャントはアプリからテーマコードを更新して、販売プランがストアに正しく表示されるようにする必要があるかもしれません。
マーチャントが移行の最初のステップを完了できるように、次のことを行います。
- 前のステップが完了していることを示し、マーチャントに進捗状況を確認してもらう。
- テーマコードの更新を促します。
- テーマコードが更新されると、Shopify を介して新しいサブスクリプションを処理することができ、サブスクリプションの設定が Shopify の管理画面およびチェックアウトと完全に統合されることを伝えます。
ステップ 2: レガシーサブスクライバーとデータの移行
移行の第 1 ステップが完了したら、マーチャントはレガシーサブスクライバーとデータの移行を開始できます。移行が必要なデータによっては、このステップに予想以上の時間がかかる場合があります。
第 2 ステップの一環として、移行にかかる時間をマーチャントに知らせるために、移行時間の見積もりを表示する必要があります。
課金の一時停止
移行中は、アプリ内で課金を一時停止することを強くお勧めします。これにより、二重請求の契約を避けることができます。このステップで課金を一時停止しないことを選択した場合、マーチャントは発生する可能性のある問題(二重請求など)について通知する必要があります。
移行中に課金を一時停止する場合は、移行を開始する前に課金が一時停止され、移行終了後に再開されることを加盟店に明確に伝える必要があります。なお、マーチャントのストアチェックアウトには影響しません。
移行にかかる時間の目安の表示
移行にかかる時間の目安を表示します。これは、移行中に課金が一時停止される場合や、データ量の多い大規模なマーチャントの場合に特に重要です。移行にかかる時間の目安を表示することで、ビジネスに支障をきたさないように移行を開始するタイミングを決めることができます。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
Discussion