無人野菜販売所に「PayPay+スタンプカード」を組む設計ガイド
1,000円以上のPayPay払いでスタンプが貯まり、5個で旬の野菜をプレゼント。手を動かせば同じ仕組みが作れます。
Before:よくある無人販売所の悩み
並べた野菜が売れ残る。一度来たお客さんがそのまま二度と来ない。
常連さんに「ありがとう」を伝えたいのに、無人だから顔も名前もわからない。
現金だけだと集金・両替が手間で、盗難も心配。
After:仕組みを入れた後の1日
お客さんはPayPayで支払い、完了画面をLINEに送るだけ。
1,000円以上の購入にスタンプが1個。5個貯まったお客さんには、農家が在所する日時を決めて旬の野菜を手渡しできる。
「また来たい」と思ってもらえる関係が、無人でも自然に育つ。
この記事で組む仕組みの全体像
- お客さんがPayPayの支払い画面と合言葉「支払い完了」をLINEで送ると、エルメがキーワード応答で受付返信し、タグを付ける
- 農家が金額を確認し、1,000円以上ならスタンプを1個付与する
- スタンプはスプレッドシート台帳で管理し、農家が金額確認後に累計を更新する
- 5個達成したお客さんへ、push専用GASが「特典引き換え」の案内を送る
- 特典(旬の野菜1品)は、農家が在所する日時を決めて手渡しする
1. 全体設計とルールを決める
最初に運用ルールを1つに固めます。ここがぶれると、あとの設定・看板・文面すべてがずれます。
この設計の3つのルール
| 項目 | ルール |
|---|---|
| 支払い方法 | PayPayのみ(スタンプ対象は電子マネー決済に限定) |
| スタンプ付与条件 | 1回の購入額が1,000円以上のPayPay払い |
| 特典 | スタンプ5個で旬の野菜1品。農家が在所する日時を指定して手渡し |
なぜ「農家が金額を確認して手動で押す」のか
金額の判定(1,000円以上か)と、支払い先が本当にKSR農園かの確認は、画面を人が見るのが最も確実です。エルメの自動応答はテキストのキーワードに反応する仕組みなので、お客さんには「支払い画面のスクリーンショット」と「支払い完了」という合言葉をセットで送ってもらいます。エルメは合言葉に反応して「受け付けました」を返し、スタンプ付与は農家がスクリーンショットを確認してから台帳で行います。この分担が、嘘の申告と少額申告を同時に防ぎます。
2. PayPayとLINE公式アカウント+エルメを準備する
3つのサービスをつなぎます。どれも小さな会社なら無料〜低コストで始められます。
準備するもの
| サービス | 役割 | 費用の目安 |
|---|---|---|
| PayPay(PayPayマイストア/店舗用) | 無人販売所の決済 | 決済手数料あり(最新の料率は公式で確認) |
| LINE公式アカウント | お客さんとの接点 | 無料プランは月200通まで |
| エルメ(L Message) | 受信・自動応答・タグ・チャット返信 | フリープランあり(月1,000通まで) |
| Googleスプレッドシート+GAS | 台帳・集計・push配信 | 無料 |
接続の手順
操作場所:LINE公式アカウントマネージャー > 設定 > Messaging API
- PayPayの店舗用QRコードを発行し、販売所に掲示できる状態にする
- LINE公式アカウントを開設し、Messaging APIを有効にする
- エルメに登録し、チャネルID・チャネルシークレット・アクセストークンを入力して接続する
- Webhookの送信先をエルメのURLに設定する
3. スタンプカードとタグを設計する
スタンプカード本体と、お客さんを分類するタグを先に決めます。タグ名は記事全体で1つに統一します。
スタンプの管理方式を決める(台帳方式)
LINE公式アカウントには標準の「ショップカード」機能がありますが、スタンプ付与はQRコードの読み取り(対面)が前提です。無人販売所ではお客さんと農家が同じ場所にいないため、この記事ではスプレッドシートを台帳にしてスタンプを管理する方式を採ります。農家がスクリーンショットを確認し、台帳の累計を1つ増やして、お客さんに「現在○個」と返信します。
- 章5のスプレッドシート台帳を先に作る(列構成は章5の表のとおり)
- スタンプの必要数を5個と決め、台帳のE列(累計スタンプ)で数える
- 特典内容は「旬の野菜1品プレゼント(要日時指定・農家手渡し)」とし、案内文に明記する
- お客さんへの現在数の返信はチャットで行う(エルメ管理画面 > チャット)
タグの設計(命名規則:カテゴリ_状態)
| タグ名 | 付けるタイミング | 使い道 |
|---|---|---|
| 販売_PayPay | PayPay支払い画面を送ってきたとき | 電子マネー利用者の把握 |
| 販売_スタンプ達成 | 累計スタンプが5個になったとき | 特典引き換え案内の配信対象 |
4. 支払い画面+合言葉の受信と自動応答を設定する
お客さんは、PayPayの支払い完了画面(スクリーンショット)と、合言葉「支払い完了」の2つをLINEに送ります。エルメの自動応答はテキストのキーワードに反応するため、合言葉のほうをトリガーにして受付返信とタグ付けを自動化します。画像は農家が目で確認します。
自動応答の設定
操作場所:エルメ管理画面 > 自動応答(キーワード応答) > 新規作成
- キーワードに「支払い完了」を登録する(部分一致にしておくと「支払い完了です」でも反応する)
- アクションで「販売_PayPay」タグを付与する
- 自動返信メッセージを入力する(下のテンプレを使用)
- 保存し、自分のスマホで「支払い完了」と送って返信とタグ付けを確認する
コピペ用テンプレ(自動返信)
5. スプレッドシート台帳とpush専用GASを組む
この台帳がスタンプカードの本体です。農家がスクリーンショットを確認して購入額と累計スタンプを記録し、5個達成したお客さんへGASが自動で案内を送ります。GASは受信せず、時刻トリガーで動く「push専用」です。
スプレッドシートのスキーマ(先に確定)
| 列 | 列名 | 型 | 備考 |
|---|---|---|---|
| A | 受付日時 | 日時 | 農家が記録した日時 |
| B | LINE表示名 | 文字列 | お客さんの識別 |
| C | 購入金額 | 数値 | 支払い画面から農家が入力 |
| D | スタンプ付与 | 列挙 | 付与/対象外(1,000円未満) |
| E | 累計スタンプ | 数値 | 農家が更新(付与のたびに前回+1。対象外なら前回と同じ数) |
| F | タグ | 文字列 | 販売_PayPay/販売_スタンプ達成 |
| G | LINEユーザーID | 文字列 | エルメの友だち詳細画面からコピー(Uで始まる33桁) |
GAS(push専用・時刻トリガー)
このGASは受信しません(Webhookはエルメが占有)。毎朝1回、E列(累計スタンプ)を読み、5個に達した行のお客さんへ案内を送るだけです(集計そのものは農家が入力時に行います)。
// push専用GAS:受信はしない。時刻トリガーで1日1回起動する想定。
// スプレッドシートのスキーマ(A:受付日時 B:表示名 C:購入金額 D:スタンプ付与 E:累計スタンプ F:タグ G:ユーザーID)と一致させること。
const LINE_TOKEN = 'ここにチャネルアクセストークン';
const SHEET_ID = 'ここにスプレッドシートID';
const SHEET_NAME = '台帳';
function checkStampAchievers() {
const sh = SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME);
const rows = sh.getDataRange().getValues();
// 1行目はヘッダー。2行目以降を見る。
for (let i = 1; i < rows.length; i++) {
const name = rows[i][1]; // B列:LINE表示名
const total = rows[i][4]; // E列:累計スタンプ
const tag = rows[i][5]; // F列:タグ
const userId = rows[i][6]; // G列:LINEユーザーID
if (!userId) continue; // ユーザーID未入力の行は飛ばす
// 5個以上で、まだ達成タグが付いていない行だけに送る
if (total >= 5 && String(tag).indexOf('販売_スタンプ達成') === -1) {
pushMessage(userId, name);
sh.getRange(i + 1, 6).setValue('販売_スタンプ達成'); // F列に達成タグを記録
}
}
}
function pushMessage(userId, name) {
const text = name + 'さん、スタンプ5個達成ありがとうございます!\n'
+ '旬の野菜1品をプレゼントします。農家が在所する日時をLINEでご相談ください。';
UrlFetchApp.fetch('https://api.line.me/v2/bot/message/push', {
method: 'post',
headers: { 'Authorization': 'Bearer ' + LINE_TOKEN, 'Content-Type': 'application/json' },
payload: JSON.stringify({ to: userId, messages: [{ type: 'text', text: text }] })
});
}
6. 特典の手渡し運用と看板を用意する
特典の受け渡しは「農家が在所する日時を決めて手渡し」にします。無人販売所でも、この1回の対面が常連さんとの関係を深めます。
特典引き換えの流れ
- GASの達成通知を受けたお客さんが、希望日時をLINEで返信する
- 農家が在所できる日時を調整して確定する
- 当日、その場で旬の野菜1品を手渡す
- 台帳に新しい行を追加し、E列(累計スタンプ)を0から数え直す。F列のタグ「販売_スタンプ達成」は空欄に戻す(これをしないと6個目でGASが再通知する)
販売所に掲示する看板の文面(コピペ用)
費用と無料枠の注意
この仕組みは、小さな会社なら低コストで始められます。配信数によってLINE公式アカウントのプランが変わる点だけ、先に把握しておきます。
| 項目 | 費用 | 備考 |
|---|---|---|
| LINE公式アカウント | 無料プランは月200通まで | 200通を超える配信は有料プラン |
| エルメ(L Message) | フリープランあり(月1,000通まで) | 通数はLINE公式の200通に先に当たる |
| Googleスプレッドシート+GAS | 無料 | Googleアカウントがあれば利用可 |
| PayPay | 決済手数料あり | 最新の料率は公式で確認 |
スタンプ達成の案内や個別配信は「必要な人へ絞る」ことで、月200通の無料枠を長く使えます。全員一斉配信を多用すると通数を消費しやすいので、達成者だけへのpushや絞り込み配信を基本にします。
運用開始チェックリスト
| 確認項目 | OK |
|---|---|
| 自分のスマホで「支払い完了」と送り、自動返信とタグ付けが動くか | □ |
| 1,000円以上/未満で付与・対象外の判断がぶれないか | □ |
| スプレッドシートの列(A〜G)がGAS・本文と一致しているか | □ |
| G列のLINEユーザーIDを初回受付時に入力する運用にしたか | □ |
| GASの権限承認と時刻トリガー登録が済んでいるか | □ |
| タグ名「販売_PayPay」「販売_スタンプ達成」が全箇所で統一されているか | □ |
| 看板のQRコードが友だち追加に正しく飛ぶか | □ |
| スプレッドシートの共有権限(GASの実行アカウント)が適切か | □ |
よくある質問
- Q. スタンプ付与を完全に自動化できますか?
- A. できません。エルメの自動応答はテキストのキーワードに反応する仕組みで、画像の中身(金額・支払い先)は読めません。そのため付与は農家がスクリーンショットを見て台帳で行い、自動応答は合言葉への「受付返信」とタグ付けまでを担います。
- Q. 支払ったと嘘の画像を送られたら?
- A. 農家が画面の店舗名・金額・日時を確認してから押すので、他店の画面や1,000円未満は対象外にできます。特典の受け渡しも対面なので、PayPayの取引履歴と照合できます。
- Q. 現金払いのお客さんはどうなりますか?
- A. スタンプ・クーポンの対象外です。現金払いはLINEに支払い画面を送らないため、自然と付与されません。
- Q. LINE公式アカウントだけでスタンプカードは作れませんか?
- A. 基本機能でも簡易的なものは作れますが、タグでの絞り込み配信やキーワード応答によるタグ付け、GAS連携まで含めるならエルメの併用が現実的です。
- Q. 通数の無料枠(月200通)を超えそうです。
- A. 全員一斉配信を減らし、達成者へのpushや絞り込み配信を基本にします。それでも足りなければLINE公式アカウントの有料プランを検討します。
応用アレンジ(同じ骨格でできる発展例)
- 金額別のスタンプ倍付け:3,000円以上の購入はスタンプ2個にする。台帳のC列(購入金額)で判定を分けるだけで実装できる。
- 季節フェア連動クーポン:「販売_PayPay」タグの人へ、夏野菜フェアの先行案内を絞り込み配信する。
- 売り切れ速報の自動化:在庫用シートを別に作り、閾値を下回ったら管理者へpushする(push専用GASの応用)。
いずれも本記事の「エルメ=受信、GAS=push専用、スプレッドシート=台帳」という分担のまま拡張できます。
まとめ
「PayPayで1,000円以上→支払い画面をLINE→農家が確認してスタンプ→5個で手渡し」という、無人でも常連が育つ仕組みができました。まずやることは1つ、章5のスプレッドシート台帳(A〜G列)を作るところからです。
▶ 関連記事:無人販売所の友だち追加を増やす集客導線の設計、毎朝の販売情報を自動配信する仕組みの作り方もあわせてご覧ください。


