第8章 公開の仕方/4 本目 / 全 5/約30分

決済をつけて売れる形にする

こより

決済はコードより約束ごとの話。口座と規約と表示を先に用意して、ボタンは最後につけるよ。

案内役 こより
この術でできるようになること

課金が通る

先に正直に書きます

この術は、僕自身がまだやり切っていない術です。

手元にあるものは、これだけです。

JPYC決済の実装(Convex+テスト、200コミット)
  README の見出しが「(仮設定)」
  送信はモック(SDK_ENV=mock)
  → 本番の課金は、まだ1件も通っていない

SDK_ENV=mock の「モック」とは、本物の代わりに置いた偽物という意味です。支払いを送ったつもりになって、送った先では何も起きていない状態です。手元では成功して見えますが、お金は1円も動いていません。

この術の「動いたと言える状態」は課金が通ることです。僕はそこへ到達していません。

だからこの術は、いつもの実話ではなく、現在地と、そこまでで分かったことと、公式の手順で書きます。実績ができたら書き直します。

その代わり、実装して初めて分かったことは書けます。そこが一番役に立つと思うので、そこを厚くします。

AIプロンプト

この術の作業をAIへ任せるときは、これをそのまま貼ってください。

個人がゲームを有料で売るための下地を整えたい。売るものは「(ここへ1行で書く)」で、選んだ決済の道は「(プラットフォーム内課金/外部の決済サービス/投げ銭)」です。
次の3つを出してください。
1. 支払いで起きうる失敗の一覧(待ち・期限切れ・失敗・二重・途中離脱)と、それぞれで画面と記録がどうあるべきか
2. 受け取る口座・規約・購入者向けの表示について、自分が確認すべき項目の一覧(法律の内容は断定せず、どこの公式案内で確認するかを添える)
3. 上のうち、決済ボタンより先に終わらせるべきものの順番

2番で「断定せず、確認先を添える」と指定しているのが要点です。 法律や手数料をAIに答えさせると、古い内容が自信たっぷりに返ってきます。AIに出させるのは一覧、決めるのは公式の案内です。

なぜ要るか

8-1と8-2で、誰でも遊べるURLになりました。遊ばれ始めると、次に「お金を受け取れるか」を考えたくなります。

ここで多くの人が、決済をコードの問題だと思います。違います。

見えているもの 実際に決めること
支払いボタン 誰と契約するか
支払いの処理 失敗したとき誰が謝るか
「購入ありがとう」画面 返金するかしないか

決済は、コードより約款と責任の問題です。 約款とは、売る側と買う側の取り決めを文章にしたもの、つまり規約のことです。ボタンは最後に付きます。

使う道具: JPYC決済

個人が課金を付ける道は3つです

大きく3つに分かれます。選ぶ基準は手数料ではありません。

誰と契約するか あなたがやること
プラットフォーム内課金 プラットフォーム(審査あり) 規約に合わせて作る
外部の決済サービス 決済会社(本人確認あり) 表示・記録・問い合わせ対応
投げ銭・支援 サービス(ゆるい) ほぼ何もしない

手数料率は書きません。 変わる数字なので、記事に書いた瞬間から嘘になります。必ず各サービスの現在の案内を見てください。

代わりに、変わらない差を書きます。

プラットフォーム内課金  審査に落ちると出せない。でも決済の面倒は向こうが持つ
外部の決済サービス      自由に作れる。でも表示と返金と記録は全部自分
投げ銭・支援            一番早く始められる。でも「売った」ことにはならない

最初の1本なら、3番目で足ります。 遊ばれてから、上へ上がればいいです。

「売れる形」の最小は、決済ボタンではありません

ここが一番の勘違いポイントです。ボタンを付けても売れる形にはなりません。

最小はこの3つです。

要るもの 中身
受け取る口座 本人名義であること。ここが通らないと何も始まらない
規約 何を売るか、いつ渡すか、返金するかしないか
通信販売の表示 有料で売る側として名前と連絡先を出すこと

3番目について。日本国内で継続して有料で売る場合、通信販売にあたる表示が必要とされています。 何をどこまで書くかは、消費者庁の案内が一次情報です。僕がここで項目を並べると古くなるので、並べません。選んだ決済サービスの案内と、消費者庁の案内を両方見てください。

そして順番です。

1. 受け取る口座
2. 規約
3. 表示
4. ← ここで初めて決済ボタン

逆からやると、ボタンだけ付いて売れない状態になります。

実装して分かったこと:本体より周辺が大きい

ここが、200コミット書いて分かったことです。モック送信の段階で、です。

手元の実装は、業務のかたまりが25個あります。かたまりというのは、「請求を出す」「受け取った記録を残す」のように扱う対象で分けたファイル群のことです。そのうち「支払い」そのものは1個だけです。

payments          支払いそのもの        ← 1個
invoices          請求と、その期限
receipts          受け取った記録
paymentsTimeline  何が起きたかの履歴
orders / products 何を売っているか
subscriptions     継続の課金
auth / secure     誰なのか、鍵をどう守るか
(ほか十数個)

24対1です。 決済を付けるというのは、支払い処理を1個足す作業ではなく、記録と失敗処理を持った小さな業務システムを1個抱える判断でした。

具体的に、周辺で必ず出てきたものを挙げます。

周辺 なぜ必要か
失敗の状態 支払いは成功だけではない。待ち・期限切れ・失敗が全部ある
二重に払われない仕組み ボタンの二度押し、通信の再送で普通に起きる
記録 「払った」「払われた」を後から示せないと、揉めたときに終わる

1番目が特に効きました。 支払いの状態を数えたら、待ちと期限切れと失敗があって、成功だけを書いていたコードは、書き直しになりました。

どういう状態かを並べると、こうなります。待ちは、送ったが着金の確認が返ってきていない状態です。期限切れは、請求を出したのに一定時間払われなかった状態です。失敗は、支払いそのものが通らなかった状態です。このどれもが、画面に何を出すかと、記録に何を残すかを別々に決める必要があります。

だから、これは書けます。決済を付ける工数の見積りは、支払い処理ではなく、失敗と記録で決まります。

やってみる

  1. 何をいくらで売るのか、1行で書く

    「三つの的」の追加ステージ5面を、300円で売る
    

    ここが書けないなら、まだ決済の段階ではありません。 2-2の「面白さの1行」と同じで、1行で言えないものは売れません。

  2. 3つの道から1つ選ぶ

    選ぶ基準はこれ1本にしてください。

    返金の問い合わせが来たとき、誰が返信するか
    

    自分で返信する覚悟がなければ、外部の決済サービスは選ばないでください。

  3. 口座と規約と表示を、ボタンより先に用意する

    上の順番のとおりです。3番まで終わってから4番へ行ってください。

  4. 選んだ道の公式の手順を、公式の案内で読む

    ここはAIに要約させないでください。手順は変わるので、一次情報を自分で見ます。

    ただし、読んだ内容の整理はAIに任せられます。 案内のページを貼って、自分がやることの一覧に直させてください。

  5. テスト用の支払いを1回通す

    ほとんどのサービスにテスト用の仕組みがあります。本番の鍵と本番の金額に触る前に、必ずここを通してください。

    僕がいま止まっているのは、まさにここの手前です。モックで動く状態と、本番で通る状態は別物です。

  6. 失敗と二重を、わざと試す

    ・支払い画面で戻る
    ・ボタンを2回押す
    ・途中で通信を切る
    

    この3つで壊れないかを見ます。 成功だけ確認して公開すると、最初の実売でここが出ます。

  7. 保存する

    git add .
    git commit -m "決済の下地(口座・規約・表示)を用意した"
    git push
    

つまずきどころ

決済ボタンだけ先に付けてしまった

口座と規約と表示が無いと、払われても渡せません。 ボタンを外して、上の順番でやり直してください。

テストのまま本番だと思っていた

僕がいまこの状態です。 モック送信の設定と本番の設定は、環境変数1個で切り替わることが多いです。環境変数とは、コードの外側に置いて実行時に読み込ませる設定値のことです。コードを1行も変えずに動きが変わるので、切り替わっていることに気づけません。だから「どちらで動いているか」を画面から見えるようにしてください。 見えないと、通ったつもりで通っていません。

二重に払われた

ボタンの二度押しか、通信の再送です。支払いに1件ずつの目印を持たせて、同じ目印は1回しか処理しない形にします。目印は、支払いを始めた時点で作る重複しない文字列です。処理する側は、その目印を記録しておいて、すでにある目印が来たら何もせず前と同じ結果を返します。後付けは大変なので、最初から入れてください。

返金をどうするか決めていない

決めていない状態で1件目が来ると、その場の判断になります。「返金する/しない」をどちらでもいいので先に書いて、表示に出してください。 書いてあれば揉めません。

手数料の数字が、調べた記事と違う

その記事が古いです。手数料と条件は各サービスの現在の案内が正です。この記事にも数字を書いていないのは、そのためです。

実績ゼロのまま有料にした

これが一番多い失敗だと思っています。遊ばれていないものに値段を付けると、売れない理由が分かりません。 無料で遊ばれない → 有料でも遊ばれない、が先に分かります。

支払いの記録と個人情報を同じ場所に置いた

8-1で書いたとおり、秘密はコードに書きません。 支払い記録も同じで、置き場所と誰が見られるかを決めてから作ってください。

Windows の場合

作業はブラウザの管理画面と書類がほとんどなので、差はありません。テスト用の支払いも同じです。

次の一歩

値段を付ける前に、無料で1人に遊んでもらってください。

この講座の順番は、こうです。

8-5  初見の人が詰まらない状態にする
9章  遊ばれ方を数字で見る
     ↓
数字が出てから、値段を考える

逆にしないでください。 遊ばれていない状態の決済は、動く決済であっても、売れる決済ではありません。

そして僕自身も、この術はまだ途中です。課金が通ったら、この記事は実話に書き換えます。 そのときは、うまくいった話ではなく、どこで詰まったかを書きます。そこが一番効くからです!

術の一覧へ戻る

メルマガ(無料)忖度なしのAI事情を、メールでお届けします。ご登録の方に、プレゼントをお渡ししています