用途:该技能封装 Paystack Transfers API,用于从 Paystack balance 向银行账户和移动钱包转账。转账依赖预先创建的 transfer recipient,并依赖 paystack-setup 提供的 paystackRequest 辅助函数;创建 recipient 可参考 paystack-transfer-recipients。
主要能力与端点:POST /transfer 发起转账;POST /transfer/finalize_transfer 用 OTP 最终确认转账;POST /transfer/bulk 发起批量转账;GET /transfer 列出转账;GET /transfer/:id_or_code 查询单笔;GET /transfer/verify/:reference 校验状态。
发起转账参数:source 必填且仅可为 balance;amount 必填,以子单位计(kobo/pesewas);recipient 必填,为 recipient code(如 RCP_gd9vgag7n5lr5ix);reference 必填,唯一,16-50 字符,仅小写 a-z、0-9、-、_;reason 可选;currency 可选,默认 NGN;肯尼亚 MPESA Paybill 和 Till 转账时 account_reference 必填。若账户未启用 OTP,返回 status 为 pending;启用则返回 otp。
最终确认:仅当状态为 otp 时调用 POST /transfer/finalize_transfer,提交 transfer_code 与发送到企业手机的 otp。
批量转账:POST /transfer/bulk,需 source(balance)和 transfers 数组,每个元素含 amount、recipient、reference 必填及可选 reason;使用该端点必须先在账户中禁用 OTP。
查询与校验:GET /transfer 支持 perPage、page、recipient、from、to 参数;GET /transfer/:id_or_code 查询单笔;GET /transfer/verify/:reference 返回 success、failed、pending 或 reversed。
限制与注意:只能从 balance 转账,需保证余额充足;批量转账须禁用 OTP;reference 必须唯一且符合字符规则;建议通过 webhook 的 transfer.success、transfer.failed、transfer.reversed 事件校验状态,而非轮询。