マニュアル
製品サイト マイページ

有料記事を売る

記事の途中から先を、買った人と月額会員だけに見せる

記事の途中から先を売る

書いた記事の途中に区切りを入れて、そこから先を買った人と月額会員だけに見せられます。売り方は2つあり、片方だけでも両方でも使えます。

  • 単品 — その記事だけを買ってもらう
  • 月額 — 加入しているあいだ、有料記事をすべて読める
売上はあなたのStripeに直接入ります

Sorabunがお金を預かることはありません。あなたのStripeアカウントに直接入金されます。手数料もStripeのものだけで、Sorabunが売上から差し引くことはありません。

準備(最初の1回だけ)

1. Stripeのキーを入れる

Stripeのアカウントをまだお持ちでない場合は、stripe.com で作成します(無料。売上が出たときに決済手数料だけかかります)。本番の決済には、Stripeの画面の指示に従った本人確認(事業情報の登録)まで済ませておく必要があります。

シークレットキーは次の場所にあります。

  1. Stripeダッシュボードを開く
  2. 右上の歯車(設定)→「開発者」→「APIキー」を開く(画面上部の検索窓に「APIキー」と打っても出ます)
  3. 「標準キー」の表のシークレットキーの行で「テストキーを表示」または「キーを表示」を押す
  4. 表示された sk_live_ で始まる文字列をコピーし、「Sorabun > 有料記事」の「シークレットキー」に貼る
「テスト」と「本番」を確かめてください

Stripeにはテスト環境と本番環境があり、画面右上のスイッチで切り替わります。テスト環境のキーは sk_test_、本番は sk_live_ で始まります。sk_test_ を貼ると、購入画面は出るのに実際のお金は動きません(テスト用カード 4242 4242 4242 4242 で購入の練習をしたいときは、逆にこれが便利です)。売り始めるときは必ず sk_live_ に貼り替えてください。

なお、pk_ で始まる「公開可能キー」は使いません。貼るのはシークレットキーだけです。

2. 支払い完了の通知(Webhook)を受け取れるようにする

Webhookは「支払いが済んだよ」とStripeがあなたのWordPressに知らせてくる仕組みです。これを登録しないと、お金が入っても記事が読めるようになりません。

  1. まず「Sorabun > 有料記事」に表示されている通知の宛先(https://あなたのサイト/wp-json/sorabun/v1/stripe)をコピーしておく
  2. Stripeダッシュボードの「開発者」→「Webhook」(または「イベントの送信先」)を開く
  3. 「送信先を追加」(エンドポイントを追加)を押す
  4. 「エンドポイントURL」に、1でコピーしたURLを貼る
  5. 「イベントを選択」で、次の4つを検索して選ぶ
    - checkout.session.completed(支払い完了)
    - invoice.paid(月額の継続決済)
    - customer.subscription.updated(月額の変更)
    - customer.subscription.deleted(月額の解約)
  6. 「送信先を追加」で確定する
  7. 作成された送信先の詳細画面に「署名シークレット」があるので、「表示」を押して whsec_ で始まる文字列をコピーする
  8. 「Sorabun > 有料記事」の「Webhook署名シークレット」に貼って保存する
ここが抜けると、お金だけ入って記事が読めません

Webhookの登録と署名シークレットの2つが揃って、はじめて「支払い済み」がWordPressに届きます。テスト環境と本番環境でWebhookは別々に登録が必要な点にもご注意ください(テストで動いても、本番用をもう一度作らないと本番では届きません)。

動作を確かめる(おすすめ)

売り始める前に、一連の流れを一度通しておくと安心です。

  1. テスト環境のキー(sk_test_)とテスト環境のWebhookで設定する
  2. 記事を1本有料にして、ログアウトした別ブラウザで開く
  3. 「この記事を読む」を押し、カード番号 4242 4242 4242 4242(有効期限は未来の任意の月、CVCは任意の3桁)で支払う
  4. 記事に戻って、続きが表示されれば成功
  5. 確認できたら、キーとWebhookを本番用(sk_live_ と本番のWebhook)に入れ替える

支払ったのに続きが出ないときは、Stripeダッシュボードの「開発者 > Webhook」で該当の送信先を開くと、送信の履歴と失敗の理由が見られます。401 や 400 が並んでいる場合は署名シークレットの貼り間違い(テストと本番の取り違えが典型です)、送信の記録自体が無い場合はURLの貼り間違いです。

3. 月額プランを使う場合

Stripeで「継続」の商品を作り、その価格ID(price_ で始まります)を「月額プランの価格ID」に入れます。あわせて「月額の表示金額」に、読者に見せる金額を入れます。Stripe側の価格と必ず同じ数にしてください。違うと、画面の表示と実際の請求が食い違います。

4. 特定商取引法に基づく表記を用意する

有料で売る場合、この表示は省略できません。事業者名・住所・連絡先・支払方法・返品の可否などを書いた固定ページを作り、そのURLを「特定商取引法に基づく表記のURL」に入れてください。購入画面から辿れるようになります。

5. 読者向けのページを作る

固定ページを1つ作り、本文に [sorabun_account] と書いておきます。購入したものの一覧と、解約・支払い方法の変更ができる画面になります。

値段の設定。単品の既定の値段と、月額プランの価格IDをここで決めます
値段の設定。単品の既定の値段と、月額プランの価格IDをここで決めます

記事を有料にする

記事の編集画面の右側にある「Sorabun 有料記事」で、売り方(単品のみ/月額のみ/両方)と値段を決めます。

本文の中で、ここから先を有料にしたい場所に [sorabun_paywall] と入れてください。

区切りを入れ忘れた場合は、記事のはじめのほうが自動で無料部分になります(全体の4割ほど)。ただし、どこで切れるかは記事によって変わるので、大事な記事では自分で入れることをおすすめします。

無料部分の書き方

検索から来た人が最初に読むのは無料部分だけです。ここで「続きが読みたい」と思わせられるかで売れ方が変わります。結論を先に少しだけ出し、その理由や手順を有料にする形がよく使われます。

マガジン(記事のまとめ売り)

複数の記事をまとめて、1つの値段で売れます。noteのマガジンに近い形です。

  1. 「投稿 > マガジン」でマガジンを作り、値段を付けます
  2. 記事の編集画面の右側にある「マガジン」欄で、記事をマガジンに入れます

これだけで、そのマガジンに入っている有料記事の案内に「マガジン『◯◯』を買って読む」ボタンが出ます。

あとから追加した記事も読めます

読めるかどうかは「いまマガジンに入っているか」で決まります。買った人は、購入後にマガジンへ追加された記事もそのまま読めます。連載や講座のように、育てていく売り方ができます。

  • 1つの記事を複数のマガジンに入れられます
  • 値段を空(または0)にすると売り物にはならず、ただのまとめとして使えます
  • マガジンには一覧ページ(目次)が自動でできます
  • 値段をあとから変えても、すでに買った人はそのまま読めます

検索エンジンへの伝え方

有料記事には、Googleが定めた「ここから先は有料」という印を自動で付けています。人には見えない部分ですが、これが無いと検索エンジンには全文を見せて読者には見せない(クローキング)と見なされ、順位が下がることがあります。設定は不要です。

誰が読めるか

次のいずれかに当てはまる人には、区切りから先も表示されます。

  • その記事を単品で買った人
  • 月額プランに加入している人
  • 記事の書き手本人
  • その記事を編集できる権限を持つ人(管理者など)

よくある質問

返金したいときは? Stripeダッシュボードから返金します。単品購入の場合、返金しても記事は読める状態のまま残ります。読めなくする必要がある場合は、購入記録を削除してください。

記事を消したら購入記録はどうなりますか? 残ります。誰が何を買ったかの記録は、記事を消しても消えません。返金や問い合わせの対応に必要なためです。

月額の金額を変えたいときは? Stripe側の価格と、この画面の「月額の表示金額」の両方を直してください。片方だけだと、表示と請求が食い違います。