咨询Stripe支付后可传递的URL参数:需获取用户标识信息
Stripe支付链接跳转传递用户标识方案
方法1:通过Checkout Session元数据安全获取(推荐)
创建支付链接对应的Checkout Session时,添加metadata字段存储用户邮箱、ID等标识信息:
stripe.checkout.Session.create( payment_method_types=['card'], line_items=[{'price': 'price_xxx', 'quantity': 1}], mode='payment', success_url='https://your-site.com/payment-success?session_id={CHECKOUT_SESSION_ID}', metadata={ 'user_email': 'user@example.com', 'user_id': 'u_123456' } )
支付完成跳转后,后端用session_id调用Stripe的Session查询接口,从返回结果的metadata字段中提取用户标识,无需在URL中暴露敏感信息。
方法2:直接在跳转URL拼接参数(不推荐敏感信息)
若需前端直接获取标识,可在创建Session时直接在success_url中拼接自定义参数:
success_url='https://your-site.com/payment-success?session_id={CHECKOUT_SESSION_ID}&user_id=u_123456'
⚠️ 注意:此方式不要传递邮箱等敏感数据,防止URL泄露导致信息暴露。
方法3:关联Stripe Customer对象
如果已创建Stripe Customer,在创建Session时关联customer参数:
stripe.checkout.Session.create( # 其他参数... customer='cus_xxx', success_url='https://your-site.com/payment-success?session_id={CHECKOUT_SESSION_ID}' )
后续通过Session详情获取关联的Customer信息,从中提取用户关联标识。
内容的提问来源于stack exchange,提问作者Paul Hopkinson
相关产品推荐
相关产品推荐

