程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
webhook 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
Airwallex webhook 验签实操:签名是 timestamp + raw body 的 HMAC,SDK 没有现成 helper
案例
Airwallex webhook 验签实操:签名是 timestamp + raw body 的 HMAC,SDK 没有现成 helper
2026-11-14 21:05:48
Airwallex webhook 签名是 HMAC-SHA256(secret, x-timestamp + raw body) 的 hex,不是 Standard Webhooks 方案,SDK 也不带验签 helper。本文给出 Node 与 PHP 实现,讲清为什么必须用原始 body、时间戳是毫秒、常数时间比较、重放窗口自选与事件去重。
支付
Webhook
接口对接
Stripe webhook 全 400 又重复发货:whsec 有三套、302 也算投递失败、事件还会乱序
代码
Stripe webhook 全 400 又重复发货:whsec 有三套、302 也算投递失败、事件还会乱序
2026-11-11 09:01:16
线上 Stripe 回调 100% 返 400、同时出现重复发货时,按代价从低到高排查:三套 whsec 分别属于 Dashboard、test/live 与 stripe listen;原始 body 被框架改写;apex→www 的 302 被判投递失败且应用日志为空;事件至少一次投递且不保证顺序,created 只有秒级精度不能用来判重。给出 Go 手写验签、MySQL 幂等表与复现命令。
Stripe
Webhook
支付回调
幂等
签名验证
PayPal webhook 验签总 FAILURE:raw body、crc32、webhook_id 三处根因与重复发货点
代码
PayPal webhook 验签总 FAILURE:raw body、crc32、webhook_id 三处根因与重复发货点
2026-11-09 09:01:49
PayPal webhook 一直返回 FAILURE,多数不是签名算错:body 被框架解析后重新序列化、crc32 用了十六进制、webhook_id 取自 client_id 或跨环境混用。附带订单与 capture 两个资源导致的重复发货点——事件顺序不保证、capture 幂等头、ORDER_ALREADY_CAPTURED 按成功处理、PENDING 不发货、零小数位币种、25 次/3 天重投与补单接口。
PayPal
支付对接
Webhook
签名验签
出海
钉钉机器人 webhook 接入:加签在 URL query,Outgoing 在 HTTP header,310000 怎么查
编程
钉钉机器人 webhook 接入:加签在 URL query,Outgoing 在 HTTP header,310000 怎么查
2026-11-07 21:33:16
钉钉群机器人发告警时,主动发送的 timestamp/sign 拼在 URL query,Outgoing 接收消息的签名却在 HTTP header,写反了只会拿到 310000。这篇记录了加签三步(毫秒时间戳、HMAC key 是 secret、Base64 后必须 urlEncode)、20 条/分钟限流的合并做法、310000 四种 errmsg 的排查顺序,以及三种安全设置怎么选。
钉钉
webhook
接口对接
告警
Go
PayPal Webhook 验签 FAILURE 排查笔记:签名串、raw body 与验签通过后的掉单
代码
PayPal Webhook 验签 FAILURE 排查笔记:签名串、raw body 与验签通过后的掉单
2026-11-03 09:01:23
PayPal Webhook 验签失败时多数不是密钥问题:签名串是 transmissionId|timeStamp|webhookId|crc32(rawBody),crc32 必须是十进制、body 必须是原始字节;再加上 cert_url 白名单、webhook_id 环境混用两个坑。文末给出验签通过后仍掉单的四类原因与排查顺序。
支付
PayPal
Webhook
接口对接
排障
回调打不到本地:cloudflared quick tunnel 的 200 并发与 SSE 限制,换 zrok 之前先看清
综合
回调打不到本地:cloudflared quick tunnel 的 200 并发与 SSE 限制,换 zrok 之前先看清
2026-10-31 21:32:24
联调第三方回调时本地 localhost 收不到通知,先用 cloudflared quick tunnel 把服务挂到公网。这篇列出它的全部硬限制——无 uptime 保证、200 in-flight 后返回 429、不支持 SSE、邮箱验证要交互浏览器、hostname 每次重建都变——并逐条说明对回调联调的影响,再给出 zrok 公开/私有分享与自托管这条替代路径和对照表。
接口对接
webhook
联调工具
zrok
ASH
Stripe webhook 升级 API 版本:先建一个 disabled 端点做双投递,老端点回 400 保留回滚
编程
Stripe webhook 升级 API 版本:先建一个 disabled 端点做双投递,老端点回 400 保留回滚
2026-10-25 21:06:31
Stripe 每个 webhook 端点各自钉住 API 版本,升版本要连带升级端点。本文给出六步灰度流程:同 URL 加 ?version= 新建 disabled 端点、两边同时投递时忽略与 200/400 的取舍、Go/Java/.NET SDK 版本必须与端点一致,以及用 thin events 绕开版本。
Stripe
webhook
支付
API
支付回调用 payment_id 去重,退款事件就永远进不来:event_id 与两把锁
代码
支付回调用 payment_id 去重,退款事件就永远进不来:event_id 与两把锁
2026-10-24 21:32:34
webhook 至少投递一次,但「事件去重」和「支付记录去重」是两把不同的锁:用 payment_id 当唯一键会把退 款事件永久吞掉。这篇按请求进入的顺序讲原始 body 验签、event_id 唯一约束、记录与发权益同一事务、outbox、乱序 occurred_at、最小单位整数金额、5 秒应答与「未知」状态。
支付对接
webhook
幂等
数据库事务
接口对接
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
代码
PayPal webhook 验签失败与收不到回调:从四段待签串查到 443 投递
2026-10-21 09:01:17
PayPal 回调已经到账却验签不过,或者干脆收不到,通常是两件事:待签串 transmissionId|timeStamp|webhookId|crc32 里 webhook_id 取错、CRC32 写成十六进制、用了重新序列化的 body;以及 443 入站被拦。文章给出 Go 自校验实现、证书白名单与缓存、25 次/3 天重试下的幂等做法,以及 Order/Capture 双生命周期该在哪个状态发货。
PayPal
webhook
验签
支付接口
Go
Stripe 拒付处理:due_by=0 不是今天到期,证据只交一次就锁死
代码
Stripe 拒付处理:due_by=0 不是今天到期,证据只交一次就锁死
2026-10-20 09:01:57
接 Stripe 拒付最容易在三个地方写错:把 due_by=0 当成今天到期、把整份证据 hash 一次性提交、在争议开放期间还去调退款。这篇按 Dispute 状态机拆开讲,给 Go 的 webhook 幂等落库与到期扫描代码,并算清 received fee / countered fee / compliance 500 美元押金的退还口径。
Stripe
支付对接
拒付处理
webhook
Go
Stripe webhook 一直 400 signature verification failed:先查 raw body 有没有被 JSON 中间件吃掉
代码
Stripe webhook 一直 400 signature verification failed:先查 raw body 有没有被 JSON 中间件吃掉
2026-10-18 09:01:05
Stripe 回调返回 400、日志报 signature verification failed 时,按 raw body 被框架改写、whsec_ secret 用错、300 秒容差、代理重编码四条线索逐项排查,并给出事件幂等、顺序与重试窗口的处理方式。
Stripe
Webhook
支付接口
验签
幂等
PayPal Webhook 验签:手工拼 CRC32 签名串的两个坑,和 PHP 为什么只能调官方接口
代码
PayPal Webhook 验签:手工拼 CRC32 签名串的两个坑,和 PHP 为什么只能调官方接口
2026-10-07 09:01:24
PayPal 异步通知怎么验签:分「手工 RSA 校验」和「调 verify-webhook-signature 接口」两条路。讲清签名串 transmissionId|timeStamp|webhookId|crc32 的拼法、cert_url 来源于请求头不能直接信、raw body 与 CRC32 精度坑,以及 PHP 不支持证书链校验为何只能走官方接口,附 curl 与取舍。
PayPal
Webhook
验签
跨境收款
接口对接
订阅
支付接口幂等性:支付宝 out_trade_no、Stripe Idempotency-Key 与 PostgreSQL 去重表
代码
支付接口幂等性:支付宝 out_trade_no、Stripe Idempotency-Key 与 PostgreSQL 去重表
2026-10-03 21:31:38
支付接口重复扣款怎么防:讲清支付宝/微信 out_trade_no、Stripe Idempotency-Key、2C2P invoiceNo 的网关侧幂等,再落到服务端 PostgreSQL idempotency_keys 去重表 + ON CONFLICT DO NOTHING 当锁,以及 Webhook at-least-once 去重与失败时删/留 Key 的取舍。
支付
接口对接
幂等
PostgreSQL
Webhook
案例
App Store Server Notifications V2 验签:三层 JWS 只验外层,webhook 就是公开的订阅开关
代码
App Store Server Notifications V2 验签:三层 JWS 只验外层,webhook 就是公开的订阅开关
2026-10-01 09:01:00
iOS 订阅服务端通知 App Store Server Notifications V2 的验签与排障笔记:三层 JWS(signedPayload、signedTransactionInfo、signedRenewalInfo)怎么验、x5c 链到 Apple Root CA 的顺序与 OID、bundleId/environment 必查、notificationUUID 去重与重发、各 notificationType/subtype 的权益处理,以及用 Server API 兜底对账。
App
Store
Server
Notifications
JWS
ES256
iOS
内购
订阅
webhook
验签
支付接口
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
案例
PayPal IPN 退役迁移 REST Webhooks:四种丢单都返回 HTTP 200
2026-09-30 21:01:43
PayPal 将于 2027-01 停用 IPN/Website Payments Standard,迁移到 REST Webhooks 时四层同时变化,每层都有对 PayPal 返回 200 的静默丢单模式:form→JSON、mc_gross→resource.amount.value、Completed→COMPLETED 且退款独立事件、_notify-validate 回环→离线 RSA-SHA256,附对照表与自检命令。
支付
PayPal
Webhook
Stripe Webhook 本地调试:验签失败多半是 body 被提前 parse 了
代码
Stripe Webhook 本地调试:验签失败多半是 body 被提前 parse 了
2026-09-26 21:31:42
Stripe Webhook 本地调试与验签排障:签名基于原始请求体计算,Express 全局 express.json() 或 Next.js 用 request.json() 都会让验签永远失败。附 Stripe-Signature 头解析、时间戳防重放、测试/正式模式隔离、约 3 天重试与幂等清单。
Stripe
Webhook
签名验证
接口对接
幂等
时序
PayPal webhook 验签总失败:raw body、CRC-32 符号、webhook_id 环境这三处
代码
PayPal webhook 验签总失败:raw body、CRC-32 符号、webhook_id 环境这三处
2026-09-20 09:01:56
PayPal webhook 验签失败的三个高频原因:必须用原始请求体字节算 CRC-32(不能重新序列化 JSON)、CRC-32 要无符号十进制、webhook_id 与环境(sandbox/live)要对应。给出自验签与 postback 两种方式的字段、拼接格式 transmissionId|timeStamp|webhookId|crc32、RSA-SHA256 验签代码与官方文档链接。
PayPal
Webhook
验签
支付对接
CRC32
RSA
RAW
Stripe Webhook 验签失败:请求体、密钥与环境三类原因的排查顺序
代码
Stripe Webhook 验签失败:请求体、密钥与环境三类原因的排查顺序
2026-09-15 09:00:47
Stripe Webhook 报「No signatures found matching the expected signature for payload」时,别猜报错文本。这文按三个输入(原始请求体、Stripe-Signature 头、endpoint secret)逐个排除:whsec_ 密钥的 test/live/CLI 差异、Express/Next.js/FastAPI/Go 取原始 body 的写法、代理与时钟容差,以及用 Dashboard Recent deliveries 先分诊。
Stripe
Webhook
验签
支付回调
排障
用户付一次钱,系统入账两次:Webhook 重复投递的幂等处理
编程
用户付一次钱,系统入账两次:Webhook 重复投递的幂等处理
2026-09-12 21:32:10
支付平台 webhook 是「至少一次」投递,重复必然发生。讲清三层去重(内存/唯一约束/幂等写入)、唯一键 NULL 陷阱、ON CONFLICT DO NOTHING、并发下别先查后插、乱序与状态机,附上线测试矩阵。
支付回调
幂等
Webhook
唯一约束
状态机
GitHub CLI 2.100.0 发布解读:自定义 API 网关路由与官方 webhook 扩展
编程
GitHub CLI 2.100.0 发布解读:自定义 API 网关路由与官方 webhook 扩展
2026-09-09 08:01:16
GitHub CLI 2.100.0 发布:新增实验性 api_host 配置可把 GitHub API 流量路由到自定义网关、webhook 成为官方扩展、Agent 误用命令时打印完整帮助,适合企业网关接入与自动化场景。
GitHub CLI
开发工具
Webhook
API
支付回调 / Webhook 验签器(Verifier)的正确实现:HMAC、时间窗、防重放与幂等
编程
支付回调 / Webhook 验签器(Verifier)的正确实现:HMAC、时间窗、防重放与幂等
2026-09-02 00:04:42
从「合法支付回调被复制重放、HMAC 验签照样通过导致重复入账」事故切入,讲清回调验签器要绑定原始 body/时间戳/事件ID/HMAC,先验签再解析、常量时间比较、时间窗与 Redis 去重、数据库唯一键做业务幂等,并覆盖微信支付 APIv3 的 SHA256withRSA 验签差异与探测流量。
Verifier
Webhook
支付回调
幂等
防重放
Go
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调