AI PLAY玩法更新持续收录
← 回到更新流

2026-09-01 · 原文发布日

Telegram购物助手与支付闭环

n8n免费模板:Telegram机器人由AWS Bedrock模型驱动,Google Sheets充当商品目录和购物车,智能体可浏览商品、加减购物车并生成Paystack付款链接;支付webhook进来后先验HMAC签名,再向Paystack核实交易、写入订单表、清空购物车并在Telegram确认到账。

原文要点

作者Kwaku Quartey Ansah发布的免费n8n工作流(workflows/18987):Telegram机器人由AWS Bedrock聊天模型加记忆驱动智能体,Google Sheets作为商品目录与购物车存储,n8n Data Table(ecom_users,按telegram_id键)保存用户邮箱与状态;智能体可浏览商品、维护购物车行,在信息齐全时调用Paystack Transaction Initialize API生成付款链接。支付webhook单独触发:用Paystack密钥计算HMAC-SHA512并与x-paystack-signature头比对验签,按reference匹配购物车行找回Telegram chat ID,再向Paystack核实交易、更新Orders表、清空购物车并在Telegram发一条到账确认。

这次做成什么

在本站练习环境复现“聊天下单→生成付款链接→webhook验签→核实交易→写订单→清购物车→Telegram确认”的支付闭环,重点用合成数据验证HMAC验签与reference匹配这两段最容易出错的部分。

准备什么

  • 一个可登录的n8n实例及已创建的Telegram机器人Token
  • AWS账号中Amazon Bedrock凭据,且所选模型在你的区域可用
  • Google Sheets OAuth2凭据及含Products、Cart、Orders三个工作表的表格
  • Paystack账号的secret key(测试模式密钥即可练习)
  • n8n Data Table功能可用,用于建立ecom_users表

具体怎么做

  1. 导入模板并接好机器人与模型

    从n8n.io/workflows/18987复制工作流到实例,绑定Telegram Bot API凭据并设置机器人webhook,使Telegram Trigger能收消息;绑定AWS Bedrock凭据,确认所选聊天模型在你账号区域可用,未确认前不要假设具体模型名。

  2. 准备目录表、购物车表与用户表

    绑定Google Sheets凭据并把Products、Cart、Orders的表ID/标签改为自己的结构;在n8n中创建名为ecom_users的Data Table,以telegram_id为键,写入合成用户的email与current_state字段,先填入下方合成商品数据。

  3. 配置Paystack密钥与webhook

    把Paystack secret key配成HTTP Bearer凭据供API调用,同时在Crypto凭据中作为HMAC密钥用于验签;从n8n复制Webhook URL,到Paystack后台注册为webhook端点,练习阶段使用测试模式密钥,绝不把密钥写进聊天记录。

  4. 跑通合成下单与合成webhook

    在Telegram向机器人发送购买指令,确认智能体读取Products、写入Cart并返回含付款链接的回复;随后用测试模式触发一笔合成付款webhook,确认验签通过、reference匹配到chat ID、Orders表新增已付款行、Cart对应行被清空、Telegram收到到账确认。

可直接复制的材料

Products目录测试数据(合成CSV)

本站虚构合成数据;金额为Paystack惯例的最小货币单位(示例按肯尼亚先令分),可按你的结算币种调整。

sku,name,price,currency,stock
SKU-TEA-01,乌龙茶礼盒,12000,KES,15
SKU-COF-02,咖啡豆500g,8500,KES,30
SKU-MUG-03,陶瓷马克杯,3500,KES,50

电商助手系统提示词(本站独立练习版)

本站为练习独立撰写的系统提示词,非原作者提示词原文;接入时按工作流智能体节点的实际工具名称对齐。

你是Telegram购物助手。你可以:1) 调用商品目录工具浏览Products表,按名称或SKU回答库存与价格;2) 调用购物车工具为用户telegram_id新增、修改、删除Cart行;3) 当用户确认购买且邮箱与数量齐全时,调用付款链接工具生成Paystack结账链接并发送给用户。规则:价格以目录表为准,不要编造商品或折扣;缺邮箱时先询问;付款结果以webhook确认为准,不要在链接生成后宣称已收款;回复使用简洁中文,金额带币种。

输入与输出示例

本站虚构演示输出,数字与输入一一对应,并非实际运行结果。

输入

合成Telegram消息:telegram_id=778899001(ecom_users中email=test-buyer@example.com),内容为“我要2个SKU-MUG-03”。智能体写入Cart行{reference: PAY-TEST-1001, telegram_id: 778899001, sku: SKU-MUG-03, qty: 2, amount: 7000}并回复付款链接;随后测试模式webhook送达reference=PAY-TEST-1001的成功事件。

对应输出

Crypto节点用测试密钥计算HMAC-SHA512并与x-paystack-signature一致,验签通过;按PAY-TEST-1001匹配Cart行解析出chat ID 778899001;向Paystack核实交易状态为success且金额7000与购物车一致;Orders表新增一行{orderRef: PAY-TEST-1001, telegram_id: 778899001, amount: 7000, status: paid};Cart中该reference行被清空;Telegram向778899001发送一条“已收到您的7000 KES付款,订单PAY-TEST-1001已确认”。

做完检查这些

  • Telegram消息能触发流程并在ecom_users中找到对应telegram_id的用户记录
  • 确认购买后Cart表出现正确reference与金额的行,且回复包含付款链接
  • 篡改过的合成webhook因HMAC签名不匹配被拒绝,不产生订单写入
  • 合法webhook处理后Orders新增paid行、Cart对应行清空且Telegram只发一条确认

容易卡住的地方

  • HMAC密钥必须是Paystack secret key本身,用错密钥会导致所有webhook验签失败
  • Bedrock模型需在AWS账号对应区域开通,否则聊天节点直接报错
  • ecom_users表名与telegram_id键必须与模板一致,否则用户上下文加载失败
  • 金额单位为最小货币单位,商品价格与webhook金额单位不一致会造成核实失败
  • Paystack与AWS Bedrock均可能产生费用,免费仅指模板本身

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Run an AI Telegram shopping assistant with AWS Bedrock, Paystack and Google Sheets
原作者
Kwaku Quartey Ansah
原始发布日期
2026-09-01T07:08:37.732Z
来源
https://n8n.io/workflows/18987