在Authorize.net沙箱中获取Refund.created Webhook关联原交易的问题
通过退款交易ID反向查询原交易
拿到WebHook里的退款交易ID(比如80025538888)后,直接调用Authorize.net的交易详情API就能获取原交易ID。可以用REST版的GET /v1/transactions/{transactionId}接口,或者XML版的getTransactionDetailsRequest请求。API调用注意事项
- 沙箱环境使用这个端点:
https://api.authorize.net/v1/transactions/{transactionId} - 请求必须携带沙箱专属的API凭证(API Login ID和Transaction Key),别和生产环境凭证混淆
- 沙箱环境使用这个端点:
返回结果中的原交易字段
调用成功后,响应里的originalTransactionId字段就是被退款的原交易ID,示例结构如下:{ "transaction": { "id": "80025538888", "originalTransactionId": "70012345678", "type": "refund", // 其他交易相关字段 } }
目前Authorize.net的refund.created WebHook payload本身确实不包含原交易ID,只能通过这种后续查询的方式关联,沙箱和生产环境的逻辑一致。
内容的提问来源于stack exchange,提问作者TomTichy
相关产品推荐
相关产品推荐

