STUDIOとStripeで、ノーコードにサブスクリプション申し込みのLPと請求管理画面を作る方法


新しく企画したサービスやリリースしたアプリケーションのユーザーを獲得するには、ウェブサイトの存在はいまだに欠かすことができません。顧客からサブスクリプションなどの決済を受け付けるためには、「特定商取引法に基づく表示」や「プライバシーポリシー」などの情報を掲載する場所が必要であることも、ウェブサイトを作る重要な理由の１つです。

ですが、立ち上がってまもないスタートアップや個人開発の場合、ウェブサイトの構築や運用保守にまでリソースを割くことができるケースは多くありません。そのため、STUDIOやWixといった「ウェブサイトを構築するサービス」や、Notionなどの「公開可能なドキュメントを作れるサービス」を活用することが重要です。

![スクリーンショット 2023-10-16 14.52.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/f2a22a35-fd3b-25cb-12ae-fda3615ff981.png)


この記事では、**STUDIOのテンプレート**と**Stripeのノーコード機能**を利用して、コードを書かず・簡単にサブスクリプションサービスの申し込み・契約管理フローを作る方法を紹介します。

## 作成するサイトについて

この記事では、公開されているSTUDIOの無料テンプレートと、Stripeのテスト環境で無料で作れる機能を利用して、「コーヒーのサブスクリプションサービスを告知するランディングページ（LP）」を作ります。
![スクリーンショット 2023-10-16 14.52.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/08fdd67b-aeb1-2fd5-f638-c82f067a9d38.png)
https://studio.design/ja/store/templates/yAXq1GW72d

テンプレートからサイトを作成し、Stripeを利用して作成した「申し込みフォームURL」と「マイページURL」をサイトに追加するまでの方法を簡単に紹介します。

## STUDIOでランディングページを作成しよう

STUDIOでは、様々なテンプレートからウェブサイトを作ることができます。告知を行いたいビジネスやアプリケーションに近しいテンプレートを探すことで、デザイン済みのサイトを１クリックで立ち上げることが可能です。

![スクリーンショット 2023-10-16 14.48.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/78c244d7-aaa8-3006-7337-54726cb40975.png)
https://studio.design/ja/store

今回は[THE COFFEE APP]テンプレートを利用します。

![スクリーンショット 2023-10-16 14.54.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/7b2fb3d5-20d5-8d20-7c91-1c563515dd6c.png)
https://studio.design/ja/store/templates/yAXq1GW72d

[無料で始める]ボタンをクリックして、STUDIOプロジェクトを作成しましょう。STUDIOアカウントにログインし、プロジェクト名を入力した後、[作成]ボタンをクリックすると、サイトが作成されます。

![スクリーンショット 2023-10-16 14.55.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/643bf357-852b-f79f-8e33-511f0d7a38d2.png)

## StripeのPayment Linksで、コーヒーサブスクリプションの申し込みフォームを作る

[THE COFFEE]は月額制のコーヒーサブスクリプションアプリのLPです。

Stripe Payment Linksで、コーヒーのサブスクリプション申し込みフォームを作成しましょう。

![スクリーンショット 2022-10-03 19.07.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4babd13c-db5f-859a-09e3-4854bf381a0f.png)

Stripeダッシュボード右上の[作成]ボタンから、[支払いリンク]を選びます。

![スクリーンショット 2022-10-03 18.31.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/9114c192-683f-4c04-923d-8750cf3e2d92.png)

[タイプを選択]で、[商品またはサブスクリプション]を選びます。

![スクリーンショット 2022-10-03 18.33.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/b1330ace-ee52-6475-d24b-9cf874f0ae89.png)

[商品]で[新しい商品を追加]を選びましょう。

![スクリーンショット 2022-10-03 18.33.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/72d900bd-447c-97ab-fd98-6e7d8ab8af5c.png)

商品名や価格、請求期間を設定します。Stripe Taxを有効化しているアカウントでは、税種別を設定することで、軽減税率での消費税徴収額を自動算出できます。

![スクリーンショット 2022-10-03 18.36.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/fce5b05c-de83-4d71-a278-b2cd6e0f2ccd.png)

商品の設定後は、申し込みフォームの内容を調整します。

コーヒー豆を届けるための配送先住所設定や、クーポンコードの入力サポートなどを設定しましょう。

![スクリーンショット 2022-10-03 18.37.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/3915183a-4f2d-edc3-2376-7039935404ef.png)

[確認ページ]タブを選ぶと、注文完了画面のカスタマイズができます。

![スクリーンショット 2022-10-03 18.58.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/a5f32da7-c928-546e-2800-cea47f404f7e.png)

画面右上の、[次へ]をクリックし、次のページで[リンクを作成]ボタンをクリックと、作成完了です。

![スクリーンショット 2022-10-03 18.59.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/3ec17401-0632-6381-8715-61c58df82713.png)

作成完了後、自動的にリンクURLや、設定情報が確認できるページに移動します。

![スクリーンショット 2022-10-03 18.59.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/9298f6a5-6b57-d001-0c13-3794befc6c64.png)


## STUDIOで、Payment Linksへのリンクを設定する

申し込みフォームが用意できたので、STUDIOのサイトからリンクさせましょう。

リンクを追加したい要素を選んで、作成したPayment LinksのURLを設定します。

![スクリーンショット 2022-10-03 19.04.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/e94dfc32-4e14-6228-e8ce-a3fcada7992b.png)

ライブプレビューを利用して、変更をテストしましょう。

![スクリーンショット 2022-10-03 19.03.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/1291ea82-fa24-2c2d-7896-0f41b34b6d11.png)

プレビューサイトから、Stripeのサブスクリプション申し込みページに移動できれば、OKです。

![スクリーンショット 2022-10-03 19.07.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4babd13c-db5f-859a-09e3-4854bf381a0f.png)

## Stripe Customer Portalでマイページを用意する

サブスクリプションでは、支払い履歴やお届け先の住所・カード情報やプランの変更・解約などのマイページが必要です。

Stripeでは、ダッシュボードの[カスタマーポータル設定画面](https://dashboard.stripe.com/test/settings/billing/portal)から、ノーコードでマイページを作成・設定できます。

![スクリーンショット 2022-10-03 19.14.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/a81528ac-12d5-b6c4-3c4d-a0c64a77366f.png)

コーヒーなど、飲食物のサブスクリプションでは、[サブスクリプションを一時停止]機能を有効化することで、「海外出張時のみお届けを停止する」や「まだストックがあるので、１ヶ月スキップする」などの要望にも対応できます。

### STUDIOから、Customer Portalへのリンクを設定する

マイページへの動線も、リンクを設定するだけです。

Stripeダッシュボードで作成したリンクのURLを、STUDIO側でリンクとして設定しましょう。

![スクリーンショット 2022-10-03 19.19.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/d2c9ec56-3c49-b4b8-5db5-c32d382abde9.png)

## サブスクリプション契約済みユーザーの導線をスムーズにする

ここまででサブスクリプションの申し込みフローと契約管理ページの動線を、STUDIOで作成したサイトに組み込みました。

最後に、サブスクリプションをすでに契約しているユーザーを、マイページにスムーズに誘導する動線を追加しましょう。

Stripeダッシュボードにある[[設定]の[CheckoutとPayment Links]ページ](https://dashboard.stripe.com/settings/checkout)には、「**顧客のサブスクリプションを1つに制限する**」設定項目があります。

![スクリーンショット 2023-10-16 14.04.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/dbd24d39-32d4-f99c-4cc4-51bbb48b4ea4.png)

この項目を[オン]に変更すると、Payment Linksで作成した申し込みページで、顧客が入力したメールアドレスをStripeが自動でチェックします。もしStripeが「すでに同じメールアドレスでサブスクリプションを契約していること」を見つけた場合、ユーザーは自動的にCustomer Portalで作成したマイページに誘導されます。

![スクリーンショット 2023-10-16 14.08.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/485f6fd3-6fac-a0d4-7061-415f779a683d.png)

これによって、ユーザーが誤って２つめのサブスクリプション契約を作ってしまうケースを予防できます。

https://stripe.com/docs/payments/checkout/limit-subscriptions

## 一歩進んだカスタマイズを試そう


### クエリ文字列を利用した、キャンペーンLPを作ろう

季節限定・イベント限定のオファーを作りたい場合、Stripeのクーポン機能を使いましょう。Payment Linksでは、作成・編集画面から[プロモーションコードを許可]を有効化することで、顧客がクーポンコードを利用して割引を受けることができるようになります。
![スクリーンショット 2023-10-16 15.06.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/abd9f1f3-b9ad-cf39-c74a-e0251c35502a.png)

クーポンはAPIまたはダッシュボードから作成できます。サブスクリプション・１回切りどちらの注文でも、１０％オフや５００円引きなどの様々な条件で割引オファーが作成できます。

![スクリーンショット 2023-10-16 15.00.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/844b73c5-c420-6ab8-48ae-1dcc4d64492a.png)

また、クーポンコードを複数・個別の条件設定付きで発行することで、季節限定オファーや初回限定特典などのコードを発行できます。

![スクリーンショット 2023-10-16 15.01.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/18a6448c-5b5f-63c0-672c-3b864799956f.png)

発行したクーポンコードを、STUDIOのリンクに設定しているPayment Links URLの最後に`?prefilled_promo_code={作成したクーポンコード}`で追加しましょう。

![スクリーンショット 2022-10-03 19.12.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4b456654-5f59-6c19-0a84-e43dd8312d9f.png)

するとSTUDIOに設定したリンクからアクセスしたユーザーは、「すでに割引クーポンが設定された状態」でサブスクリプションの申し込みが行えるようになります。

![スクリーンショット 2023-10-16 15.08.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4f5b0055-ceac-2b63-c3dd-7fb9495e6028.png)




### Zapierと連携して、バックオフィス業務も効率化

Stripeでは、「サブスクリプションの契約・更新・キャンセル」や「決済の失敗」などのイベントを、他のサービスに送信できます。

Zapierを使って、送付先のリストをGoogle Appsやkintoneで見れるようにしたり、Gmailからメールを送信するなど、バックオフィス業務についても効率化を目指してみましょう。

![スクリーンショット 2022-10-03 19.22.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/b2d95bba-5b84-6782-11bc-2b145772dc3d.png)

https://qiita.com/kaonaga9/items/57b2b3b3d86626b3b8eb

### Google Analyticsでの計測のため、注文完了ページをSTUDIOに用意する

Google Analyticsなどのツールで、コンバージョンなどの分析を行う場合は、ウェブサイトへのリダイレクトを設定しましょう。

![スクリーンショット 2022-10-03 18.41.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/987bd512-2b24-06f6-0137-526c6392ad9c.png)

STUDIO側で、完了画面用のページを用意して、Google Analyticsの設定を行いましょう。

![スクリーンショット 2022-10-03 18.43.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/b8da23f3-5f0e-3420-8605-f7dfe89bd819.png)

https://help.studio.design/ja/articles/1892965-google-analytics%E3%81%AE%E9%80%A3%E6%90%BA%E6%96%B9%E6%B3%95

## ノーコードからローコード・API組み込みに切り替えるタイミング

STUDIO上でサイトを運用するには、「Stripeを使ったノーコードでの組み込みがどこまで利用できるか」を知る必要があります。そこで最後に「ノーコードからローコードまたはAPI組み込みへの切り替えが必要となる例」を4つ紹介します。

### 1: サブスクリプションデータを複数Customerに設定したい場合

ユーザー数や利用量に応じた課金などで、StripeのCustomerに対して複数のSubscriptionデータを紐付けたい場合、ローコードまたはAPIを利用した組み込みが必要です。これはPayment Linksを利用した申し込みフローでは、毎回新しくStripeのCustomerデータが作成されることが原因です。

ノーコードで運用を続けたい場合、Subscriptionデータの数は増やさずに、数量を変更させる方法で対応できないかを検討しましょう。

https://stripe.com/docs/billing/subscriptions/quantities

### 2: カートまたは動的な価格提案を行いたい場合

ホテルや飛行機チケットのようなダイナミックプライシングを行いたい場合や、商品の組み合わせ・数量がユーザーによって変わるカート機能を提供したい場合についても、ローコードまたはAPIでの組み込みが必要です。

Payment Linksでは、リンク作成・更新時に設定した商品の組み合わせ・数量でユーザーが申し込みを行います。そのため、注文時に価格や商品の組み合わせが決まるケースでは、事前にURLを発行することができません。

Stripe Checkoutを利用してカート機能を組み込む方法に切り替えることで、動的に商品の組み合わせを設定できます。また、Checkoutでは「その場限りの料金データ」も作成できます。ダイナミックプライシングまたはオーダーメイド製品の販売などでも、Checkoutを利用した組み込みをご検討ください。

https://qiita.com/hideokamoto/items/6bd31422e2ebb27d4eaa

### 3: 銀行振込による決済を受け付ける場合

Stripeでは、銀行振込を利用した支払いを受け付けることもできます。

https://stripe.com/jp/payments/jp-bank-transfers

しかしPayment Linksの仕組み上、ノーコードで組み込む場合には銀行振込での決済を受け付けることができません。そのため、銀行振込で支払いを受けるサービスを考えている場合は、Stripe CheckoutまたはInvoicingを利用する必要があります。

https://qiita.com/hideokamoto/items/d6b583724abf5ae74169

https://qiita.com/hideokamoto/items/0b83828eeb281199fd21

### 4: Webアプリケーションやシステムのユーザー情報とStripeの顧客データを紐づける必要が出た場合

最後のケースは、有料メディアサイトや会員機能をもつECサイトなどが該当します。アプリケーション側にユーザーがアカウントを作成し、ログイン・ログアウトする機能がある場合、ストレスのない契約フローを作るには、アプリケーションが持つユーザー情報とStripeの顧客データを連携させる必要があります。

firebaseやAWS Amplify / Okta CIC（Auth0）などを利用している場合、ユーザーのメタデータにStripeのCustomer IDを紐づけることになるでしょう。もしRDBMSでユーザーテーブルを管理している場合（Laravel / Ruby on Rails / Supabaseなど）は、ユーザーテーブルのカラムとして紐づけます。

いずれにせよ、アプリケーション側にStripeのCustomer IDを持たせることで、Stripeの契約フロー・マイページ動線どちらについても、認証やメールアドレスの入力ステップを省略できます。


```js
const session = await stripe.billingPortal.sessions.create({
customer: 'cus_xxxx',
return_url: 'https://example.com/account',
});

return Response.redirect(session.url, 302)
```

## まとめ

STUDIOのようなウェブサイトを素早く作成できるサービスを利用することで、新しいビジネスアイディアを試したり、公開・提供を開始したサービスの告知を行ったりすることがより簡単になります。早期アクセスを募集中（2023/10時点）の「[STUDIO AI](https://youtu.be/rWp4NLXmDBg)」を利用することで、情報の発信や広告ランディングページの作成・運用などをより効率化できます。

https://youtu.be/rWp4NLXmDBg

Stripeのノーコード製品をSTUDIOと組み合わせ、Zapier / kintone / YoomなどのIPaaS / RPAツールを連携させることで、**「告知 -> 申し込み -> アカウント発行」のオンボーディングフロー**や**契約管理・顧客サポートなどのRevOpsまわり**を自動化させていきましょう！

## その他のリソース・情報

https://youtu.be/ms259CQww0I

https://stripe.com/docs/customer-management

https://stripe.com/docs/payments/payment-links