构建巴基斯坦支付栈与结算对账系统
解决巴基斯坦本地化 SaaS 的支付难题:提供爵士现金、简易钱包及银行网关的集成架构,确保 webhook 可靠性并实施严格的每日对账流程。
为什么需要这个技能
面向巴基斯坦市场的 SaaS 应用无法直接套用 Stripe 等全球支付方案,必须使用 JazzCash、Easypaisa 或 SBP 框架下的本地支付协议。
本技能为高级工程师提供生产级架构设计,涵盖商户合约约束、签名验证、幂等性控制以及immutable(不可变)的支付事件日志,确保每一笔 PKR 交易可审计、可追溯。
适用场景
- 构建以巴基斯坦卢比(PKR)计费的 SaaS 订阅或按次计费系统。
- 在现有产品中集成 JazzCash hosted checkout 或 Easypaisa OTC/QR 支付通道。
- 实施每日自动对账,匹配 Provider 报表与本地数据库,分类处理金额不符或状态不一致的异常。
- 设计支持退款、调整分录(adjustments)及多租户隔离的 BillingDB 数据模型。
核心工作流
-
边界与架构隔离 将支付逻辑封装在
PaymentsService中,通过 Adapter 模式接入jazzcash、easypaisa、bank-gateway或raast。核心组件包括ClientApp(前端)、WebhookIngest(回调处理)及ReconciliationJob(对账任务)。 -
数据模型规范 统一使用最小货币单位(paisa)作为整数存储。必须建立
payment_events表记录不可变事件日志,包含tenant_id、provider_payment_id及原始 JSON 载荷,严禁修改历史数据。 -
Webhook 安全处理
- 优先验证签名,拒绝伪造请求。
- 确保幂等性:若收到重复回调,依据
provider_payment_id检查 DB 状态,避免重复创建订单或重复扣款。 - 快速返回 HTTP 200,将重量级写入队列,防止超时导致 Provider 重复发送。
-
对账与异常处理 每日运行对账脚本,比对本地
payments状态与上游账单。若发现 Provider 成功但本地未入账,或本地成功但 Provider 缺失记录,需自动标记并生成人工处理任务。
下载和安装
下载 pakistan-payments-stack 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐