You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

成功时从URL的st变量获取PayPal交易状态,失败/取消时如何获取?

PayPal取消/失败交易的状态获取方法

嘿,我来帮你理清这个问题!你已经知道交易成功时能从st变量拿到completed状态,但取消或失败的情况确实需要额外处理,分两种场景给你说明:

1. 前端跳转层面:给取消页面加自定义标识

当用户主动取消交易时,PayPal会跳转到你设置的cancel_return页面,但默认不会传递状态参数。你可以直接在这个跳转URL里手动拼接一个自定义参数,比如:

<input type="hidden" name="cancel_return" value="http://your-domain.com/cancel?transaction_status=cancelled">

这样用户取消后跳回你的页面,就能从URL的transaction_status参数拿到cancelled值,直接判断是取消操作。

2. 后台精准判断:用PayPal IPN(即时付款通知)

如果需要获取失败、拒绝、退款这类更细分的交易状态,IPN是最可靠的方案——它是PayPal主动向你的服务器发送的通知,不受前端跳转影响:

  • 先去你的PayPal商家后台开启IPN功能,设置好接收通知的服务器URL
  • 在你的表单里添加notify_url参数,指定IPN接收地址:
<input type="hidden" name="notify_url" value="http://your-domain.com/your-ipn-handler">

当交易出现异常状态时,PayPal会给这个URL发送请求,其中payment_status参数就是关键状态值,常见的异常状态包括:

  • Failed:交易处理失败
  • Denied:交易被PayPal拒绝
  • Canceled_Reversal:已撤销的交易被取消
  • Refunded:交易已退款

另外提一句,你当前用的是捐款类型表单(cmd="_donations"),上面的两种方法完全适用。如果只是做前端页面的状态提示,第一种自定义参数的方式简单直接;如果需要后台记录完整的交易状态,IPN是必不可少的选择。

内容的提问来源于stack exchange,提问作者Karthik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:58:07