如何通过PayPal API或Webhook获取订阅用户填写的on0/os0等字段值
获取PayPal HTML订阅按钮自定义字段(on0/os0、on1/os1)的方法
通过API调用获取
- 调用
/v1/billing/subscriptions/{subscription_id}/transactions接口,获取对应订阅的交易记录。用户填写的自定义字段值会被包含在交易对象的custom字段中,格式一般为on0=用户输入内容|on1=用户输入内容(分隔符可能因按钮设置略有不同),你可以自行拆分解析。 - 若能拿到订阅关联的支付ID,也可调用
/v1/payments/payment/{payment_id}接口,在transactions[0].item_list.items的description或custom字段中查找,部分场景下自定义选项会直接拼接在这里。
通过Webhook获取
- 订阅相关的Webhook事件(如
BILLING.SUBSCRIPTION.CREATED、PAYMENT.SALE.COMPLETED)会携带自定义字段信息:- 以
PAYMENT.SALE.COMPLETED事件为例,自定义字段的键值对会出现在sale对象的custom字段中,可能是拼接字符串或直接的键值形式; BILLING.SUBSCRIPTION.CREATED事件里,可在subscription对象的custom字段或关联的扩展信息中找到对应值。
- 以
- 注意:如果你的HTML按钮同时设置了
custom参数,on0/os0、on1/os1的值会和该参数内容合并到同一个custom字段里,需要自行拆分。
额外注意事项
- 确保HTML按钮的字段配置正确,比如通过
<input type="hidden" name="on0" value="选项名称">定义选项,用户输入的值通过os0/os1字段传递; - 部分旧版API响应中,自定义字段可能出现在
note_to_payer或description字段中,需多维度检查。
内容的提问来源于stack exchange,提问作者adrianTNT
相关产品推荐
相关产品推荐

