我为 Mono 构建了开源 PHP SDK——它值得的原因
Source: Dev.to
Introduction
每个后端开发者都有这么一个时刻:你盯着 API 的原始 HTTP 文档,复制粘贴 curl 示例,慢慢在脑中构建响应结构的模型。它能工作,但不应该让人有这种感觉。
当我开始为 Mono 的周期性扣款和授权工作流接线时,我一直在想——应该有人把它包装得更干净一点。于是我自己动手了。
SDK Overview
itamelions/mono-php-sdk – Mono API 的 PHP SDK。
如果你曾在 PHP 中集成过 Paystack,可能已经接触过 yabacon/paystack-php。它是 SDK 的黄金标准:零繁琐、方法名直观、API 表面自然映射到文档。这就是我为此 SDK 设定的目标——不仅仅是“让 API 调用工作”,而是真正让集成过程变得愉快。
Core Workflows Covered
- Customer management – 创建和检索客户
- Mandate lifecycle – 发起、查询和管理直接扣款授权
- Debit operations – 发起扣款并拉取交易历史
- Webhook verification – 加密验证传入的 Mono webhook 签名
- Structured error handling – 使用类型化异常而不是原始 HTTP 状态码
无框架绑定。无魔法。无黑盒。
Installation
composer require itamelions/mono-php-sdk
Design Principles
-
Resource‑oriented method names
customer()、mandate()、debit()—— 只要看过一次 Mono 文档,你就能准确知道该去哪里找。 -
Arrays all the way down – 输入输出始终使用一致的数组结构。
-
Explicit errors – 类型化异常提供清晰的错误处理。
-
Built for testing – 易于模拟和单元测试。
-
Docs that reflect real usage – 示例来源于沙盒测试和边缘案例。
这些改进大多来源于真实的沙盒测试,以及只有在凌晨 2 点出现故障时才会发现的边缘情况。
Contribution
如果这个包能为你下一个 Mono 集成节省一个下午的时间,那就是它的全部意义。欢迎贡献代码、提交问题和提供反馈。