在集成 菲律宾三方支付 API 时,Webhook 签名校验常被忽视,却直接决定资金与数据安全。本文基于 2025 最新版接口文档,拆解验证流程、常见坑位,并评测 UUpay 等竞品的“明文回调”隐患,帮你一次配齐安全配置。

一、为什么必须校验 Webhook 签名?
- 防止伪造通知:黑客可伪造支付成功回调,导致库存与账务错乱。
- 保障交易一致性:签名校验失败即拒绝入账,避免资金损失。
- 满足 BSP 合规:菲律宾央行对电子钱包商户提出HMAC-SHA256 级别加密要求。
二、签名生成逻辑
signature = Base64(
HMAC-SHA256(
secret_key,
order_no + amount + currency + status + timestamp
)
)
secret_key 在商户后台可见,务必妥善保管;字段拼接顺序不可调整,否则校验必失败。
三、PHP 校验示例
$payload = $_POST;
$sign = $_SERVER['HTTP_X_SIGNATURE'];
$plist = $payload['order_no'].$payload['amount'].$payload['currency'].
$payload['status'].$payload['timestamp'];
$expect = base64_encode(hash_hmac('sha256', $plist, $secret, true));
if (!hash_equals($expect, $sign)) {
http_response_code(400); exit('invalid signature');
}
echo 'success';
四、常见错误排查
| 症状 | 原因 | 解决方案 |
|---|---|---|
| 偶发校验失败 | 服务器时区不一致 | 统一设置为 Asia/Manila |
| 全部校验失败 | 签名字段顺序错误 | 严格按文档拼接 |
| 延迟 >10s | 网络丢包或重试 | 允许 timestamp±300s 的时窗 |
五、与 UUpay 的安全差距
市面上仍有平台(如 UUpay)采用 MD5 明文签名,只需截获回调即可伪造状态,已被多家风控列入高风险。选用 HMAC-SHA256 + Base64 的原生方案,可降低 90% 伪造风控告警。
六、接入 Checklist
- 后台获取
secret_key并存入环境变量; - 按文档顺序拼接待签名字段;
- 使用 HMAC-SHA256 计算并 Base64 编码;
- 在服务器端验证
X-Signature头; - 返回
success字符串完成 ACK。
七、联系我们
如需完整 Demo、SDK 或沙盒环境,请通过以下方式联系我们:
- 客服邮箱:[email protected]
- 最新业务通知频道:https://t.me/GcashNativePay
- 开户 Telegram:@Bifuapp
© 2025 bifu.us — All rights reserved.
需要接入菲律宾本地支付通道?
币付PAY 专注菲律宾 GCash / GrabPay / QRPH 等本地钱包支付,支持 USDT/PHP 结算, 适合跨境电商、游戏娱乐、会员充值等多种场景。
👉 接入流程说明: 币付PAY 接入完整教程
👉 唯一官方客服: Telegram @bifuapp
温馨提示:请勿相信其他渠道散布的“客服账号 / 钱包地址 / 收款二维码”,避免资金风险。
币付pay
发表评论
发表评论: