作成したStripe Appsアプリを、本番アカウントや他のチームメンバーでも利用できるようにする方法



この記事は、[Stripe Apps を25日間紹介し続ける Advent Calendar 2022](https://qiita.com/advent-calendar/2022/stripe-apps) 22日目の記事です。

![スクリーンショット 2022-11-24 17.56.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/e0261865-0418-daa2-423a-5f4d70558b1b.png)


## 公開のためにアプリをアップロードする


Stripe CLIで、アプリを一度アップロードしましょう。

```bash
$ stripe apps upload
⬆ You are about to upload your Stripe App First Stripe App version "0.0.1" to テストアカウント(日本).
? Would you like to proceed? [Y/n] █
```

[y]を入力すると、ビルドとアップロードが始まります。

```bash
✔ Built files for production
✔ Packaged files for upload
✔ Uploaded First Stripe App

🌐 Press Enter to continue on the Stripe dashboard
```
と表示されますので、[Enterキー]を押してStripeダッシュボードに移動しましょう。

![スクリーンショット 2022-12-19 16.48.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/add5a791-cf2f-60a4-1112-604ff1a867cb.png)

アプリの画面に移動できれば、アップロード完了です。

:::note warn
**ビルドエラーにご注意**
アップロード前に、ビルドが行われます。
このビルド時にエラーが発生すると、アップロード処理が中断されます。

```bash
Would you like to proceed: y
×  Failed to build files
✘ [ERROR] Expected identifier but found "{"

    .build/manifest.js:23:2:
      23 │   {
         ╵   ^

```

`.build/`のコードエラーが出た場合は、`rm -rf ./.build/`で中身を一度削除してみましょう。
:::

## 開発したアプリを本番環境で利用する方法は２つ

開発したアプリは、「[Stripe App Marketplace](https://marketplace.stripe.com/)に一般公開する」か「アカウントのチームメンバーのみ利用できる形にするか」のどちらかで公開できます。

https://stripe.com/docs/stripe-apps/distribution-options

`stripe apps upload`でアップロードしたアプリは、ダッシュボードからどちらの方法でリリースするかを選べます。

![スクリーンショット 2022-12-19 19.53.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4f31ee8d-094e-649a-1f8c-49e0542c7042.png)

## アカウント限定のプライベートアプリをリリースする

プライベートアプリをリリースするには、[配布方法を選択する]で[<アカウント名>へのプライベート]を選びましょう。

![スクリーンショット 2022-12-19 19.53.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/4f31ee8d-094e-649a-1f8c-49e0542c7042.png)

[バージョンを選択]で、リリースするバージョンを選びます。

![スクリーンショット 2022-12-19 20.50.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/3d5dc983-08ad-d71e-a78e-0edcd1c9152b.png)

最後に、[アプリをインストールする]で[続行]を選びましょう。

![スクリーンショット 2022-12-19 20.52.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/d0b008d0-3674-8edd-5842-ccd49ff2bc72.png)

アプリのインストール画面が起動します。

![スクリーンショット 2022-12-19 20.52.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/a11cac70-4688-7150-a50a-fb3a77132ad1.png)

[インストール]をクリックすると、インストールが完了します。

![スクリーンショット 2022-12-19 20.53.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/81c1a9ca-ab64-b709-da27-dbd4ca92a5e9.png)

## リリースしたアプリをアップデートする方法

リリースしたアプリに機能追加やバグ修正を反映させるには、次のステップが必要です。

### Step1: `stripe-app.json`のバージョンを更新する

まずはじめに、アプリのバージョンを更新します。

`stripe-app.json`を変更しましょう。

```diff_json
{
  "id": "com.example.first-stripe-app",
-  "version": "0.0.1",
+  "version": "0.0.2",
   "name": "First Stripe App",
  "icon": "",
```

これでバージョン`0.0.2`のリリース準備ができました。

### Step2: `stripe apps upload`でアカウントにアップロードする

リリースのため、新しいバージョンのアプリをアップロードする必要があります。

`stripe apps upload`でStripeアカウントへアップロードします。

```bash
$ stripe apps upload
? Would you like to proceed? [Y/n] y█
✔ Built files for production
✔ Packaged files for upload
✔ Uploaded First Stripe App

🌐 Press Enter to continue on the Stripe dashboard
```

この際にエラーが発生した場合は、修正してから再度コマンドを実行しましょう。

### Step3: [開発者 > アプリ]から、[リリースを作成]する

アップロードに成功すると、[Enterキー]を押してアプリ管理画面に移動できます。

管理画面では、アップロード済みのバージョンやアップロード日、ステータスが確認できます。

![スクリーンショット 2022-12-19 20.57.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/1a05c7f6-a0db-18c6-8123-c4d0d8d8a31b.png)

[リリースを作成する]をクリックすると、バージョンを選択する画面が開きます。

![スクリーンショット 2022-12-19 20.59.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/1963cc57-a6cd-db7c-35f6-f0873e6436e2.png)

あとは初回のリリースと同じ流れで、リリースとインストールが行えます。

## おわりに

プライベートにアプリをリリースすることで、チームやアカウント・案件に合わせたアプリを開発・提案できます。

「まず社内やPoC案件で試してみる」ところから始めていただき、「汎用性の高い機能を集約・アプリやサービス化」することで、自社サービスの更なる展開や新しいサービス・事業開発につながればと思います。

なお、プライベートアプリを公開アプリに切り替えることは、2022/12時点ではできない点にご注意ください。

## Stripe Appsひとりアドベントカレンダー 2022

今年ベータリリースされたばかりのStripe Appsは、まだ日本語の情報が多くありません。

そこでQiita Advent Calendar 2022にて、毎日Stripe Appsについての情報を投稿します。

https://qiita.com/advent-calendar/2022/stripe-apps

ノーコードで利用する方法や、開発するためのTipsなども紹介予定ですので、ぜひ購読をお願いします。