Stripeは、Stripe Inc. 社が提供する決済プラットフォームサービスです。Stripe では様々な決済方法を代行で処理し、契約ユーザの口座に入金します。また、API を使って各種操作を行うこともでき、今回紹介する Questetra の自動工程も API を用いています。

本記事では Stripe で請求書を作成し、顧客にメール送信する一連の処理を行う自動工程について説明します。

1. Questetra の自動工程

Stripe と連携する自動工程として、Advanced 以上で標準で使用できるビルトイン自動工程や Professional でインストールが可能な アドオン自動工程が多数用意されています。本記事ではそれらのうち[請求書ドラフト作成][請求書ドラフト確定][請求書をメール送付]の3種を取り上げます。

請求書ドラフト作成

Stripe 上に請求書のドラフト(下書き)を作成します。テーブル型データ項目の請求明細に入力された値を Stripe に送ります。通貨を指定することも可能です。顧客に請求書の送付やの課金を行うには、 別途、ドラフト状態の請求書を確定させる必要があります。

請求書ドラフト確定

Stripe 上の請求書のドラフト(下書き)を確定します。請求書が確定すると、顧客に請求書の送付や課金ができるようになります。

請求書をメール送付

Stripe 上の確定済み請求書を顧客にメール送付します。顧客はメールに含まれる支払いリンクから支払うことができます。

2. Stripe と Questetra の連携設定

Stripe と連携するための認証設定を行います。

Stripe のダッシュボードの[開発者]>[API キー] からシークレットキーを取得をしておきます。(Stripe のテスト環境で動作検証を行う場合は、[テスト環境]が有効になっていることを確認してください。)

Questetra のワークフローアプリに配置した自動工程の設定画面で[設定はこちらから]をクリックし HTTP 認証設定画面を開きます。

次に、新しい設定を[追加]し、ドロップダウンリストから[トークン直接指定]を選択します。[名前]に適当な名前を、[トークン]には先ほど Stripe のダッシュボードから取得した API シークレットキーを入力し、[保存]します。

3. サンプルアプリ

「請求情報を入力」工程で、顧客や請求内容など必要な情報を入力します。「請求書ドラフト作成」工程で Stripe  上に請求書のドラフトが作成され、「請求書ドラフト確定」工程でドラフトが確定されます。最後の自動工程では、確定された請求書が Stripe から顧客にメール送信されます。

  • Stripe にアカウントを持っていて、顧客が登録済である前提とします
  • Stripe のアカウントがテスト環境の場合、[Stripe: 請求書をメール送付]工程を利用した Stripe API 経由での請求書メールの送信は実際には行われません(2023年1月)

ワークフローアプリの設定

データ項目

データ項目名データ型フィールド名必須「請求情報を入力」工程説明
件名編集可プロセスの件名です。
顧客ID文字型 (単一行)q_customer_id編集可Stripe に登録されている顧客の Stripe での ID を入力します。
支払期日日時型q_payment_datetime編集可支払期日を入力します。
請求明細テーブル型q_billing_statement編集可テーブル項目(列設定)は左から、文字(「商品名」)、数値(「単価」)、数値(「数量」)としておきます。
(左から3列目までの設定が上記以外の場合エラーとなります。)
請求書メモ文字型(複数行)q_invoice_note編集可請求書に記載される注意書き等を入力します。
請求書ID文字型(単一行)q_invoice_id表示のみStripe に作成された請求書ドラフトの ID が取得されます。
請求書URL文字型(単一行)q_invoice_url表示のみStripe に作成された請求書ドラフトの 閲覧できる Stripe のページ URL  が取得されます。
データ項目の設定

まず、「請求情報を入力」工程で必要な項目を入力します。続く「請求書ドラフト作成」工程でデータ項目の値が Stripe に渡され、それらを基にして請求書のドラフトが Stripe 上に作成されます。

「請求書ドラフト作成」工程

「請求書ドラフト作成」工程では、データ項目に入力された内容に応じて、Stripe にて請求書のドラフトが作成されます。

項目名必須説明
C1: API シークレットキーを設定した認証設定 *Stripe への接続に使用する HTTP 認証設定を名前で指定します。
(「Stripe と Questetra の連携設」を参照)。
C2: 顧客 ID *データ項目「顧客 ID」を指定します。
C3: 説明(請求書に「メモ」として表示されます)データ項目「請求書メモ」 を指定します。「参照を挿入する…」から「請求書メモ」を選択して #{#q_invoice_note} を挿入セットします
C4: 通貨(未選択の場合、顧客の通貨設定に従います)ドロップダウンリストから JPY を選択指定します。
C5: 商品名、単価、数量の一覧データ項目「請求明細」を指定します。
C6: 請求書の ID を保存するデータ項目データ項目「請求書ID」を指定します。
C7: 請求書詳細ページの URL を保存するデータ項目データ項目「請求書URL」を指定します。
[Stripe: 請求書ドラフト作成]の設定項目

「請求書ドラフト確定」工程

「請求書ドラフト確定」工程では、作成された請求書がドラフト状態から確定状態に変更されます。Stripe は確定された請求書について支払いページを生成します。

項目名必須説明
C1: API シークレットキーを設定した認証設定 *Stripe への接続に使用する HTTP 認証設定を名前で指定します。
(「Stripe と Questetra の連携設定」を参照)。
C2: ドラフト状態の請求書の ID *データ項目「請求書ID」を指定します。
C3: 支払い期日 *データ項目「支払期日」を指定します。
[Stripe: 請求書ドラフト確定]の設定項目

「請求書をメール送付」工程

「請求書をメール送付」工程では、Stripe に請求書を顧客の登録アドレス宛に送信するように指示します。(Stripe のテスト環境ではメール送信は実行されません。)

項目名必須説明
C1: API シークレットキーを設定した認証設定 *Stripe への接続に使用する HTTP 認証設定を名前で指定します。
(「Stripe と Questetra の連携設定」を参照)
C2: 確定済み請求書の ID *データ項目「請求書ID」を指定します。
C3: 顧客が使用したカードの情報を、次回以降の請求で再利用しないオンにします。
C4: 支払い完了時、顧客に領収書をメール送付するオンにします。
[Stripe: 請求書をメール送付]の設定項目

動作確認

アプリが完成したら、[リリース]して動作確認してみましょう。

  • 動作確認は Stripe のテスト環境で行ってください
    • [確定]された請求書は削除できなくなります
    • テスト環境では、Stripe API の仕様により請求書のメール送信は実行されません
      • 「請求書をメール送付」工程はエラーにならず、通常終了となります

事前に Stripe のダッシュボードから[顧客]を登録しておきます。登録した顧客の詳細画面で[顧客 ID]を確認できます。

ワークフローアプリを起動しプロセスを開始します。[請求情報を入力]工程で請求する内容を入力します。

  • [件名]:テストプロセスであることが分かる文字列
  • [顧客ID]:Stripe ダッシュボードの[顧客]から対象とする顧客の ID を取得して入力します
  • [支払期日]:適当な未来の日付を指定します
  • [請求明細]:表に商品名、単価、数量を入力します。1行ずつの値が Stripe に渡され小計や合計金額が算出されます
  • [請求書メモ]:請求書の[メモ]欄に表示される内容を入力します(商品の詳細や購入へのお礼など)

入力が終われば[「請求情報を入力」を完了]してしばらく待ちます。[詳細へ戻る]からプロセス詳細にもどり内容を確認します。[確認]工程に到達していなければしばらく待って画面を更新してください。

[請求書URL]に表示されている URL から Stripe の[インボイスの詳細]ページを開いて、作成された請求書を確認します。[請求書を編集]ボタンで編集画面を開くと、送信されるメールのプレビューを確認できます。(フォーム入力画面と請求メールの例は下図キャプチャ画像を参照してください)

Appendix. Stripe に登録されている商品や価格で請求する

Stripe に登録されている商品や価格の情報を利用して請求書を作成する場合は、[Stripe: 請求書ドラフト作成]の設定項目[C5: 商品名、単価、数量の一覧]を設定しない(空)にして動作させます。Stripe に空の請求書ドラフトが作成されたのちに[Stripe: 請求書ドラフトに項目を追加]で必要な情報をドラフト請求書に追加します。

%d人のブロガーが「いいね」をつけました。