如何在Stripe Dashboard中保存卡片并查看完整卡号?
关于在Stripe Dashboard保存卡片的说明
首先必须明确:出于PCI合规要求,Stripe永远不会让你在Dashboard查看完整卡号,所有存储的卡片只能看到后四位、卡组织(Visa/Mastercard等)、有效期等脱敏信息,这是硬性规则,无法绕过。
如果你只是想把卡片信息关联到账户,在Dashboard中查看脱敏后的卡片记录,可按以下步骤调整你的代码:
1. 理解现有代码的问题
你当前使用的是已废弃的Stripe Checkout.js,Stripe官方已停止对其维护,建议尽快迁移到新版Stripe Checkout(下面先针对你现有代码给出调整方案)。
你收到的token.id是一次性支付令牌,而card_1Mx1LjG3jtPLuTF7vsiwlLND是关联的Card对象ID,但单独的Card对象不会显示在Dashboard中,必须将其关联到Stripe的Customer对象才能在Dashboard的「客户」板块看到卡片记录。
2. 调整后端流程(关键)
你当前直接用token创建Charge,需要修改后端逻辑,先创建Customer并关联卡片,再创建Charge:
后端CURL示例(替换你现有的Charge请求)
# 1. 创建Customer并关联卡片token curl https://api.stripe.com/v1/customers \ -u sk_test_你的密钥: \ -d source=tok_xxxx # 这里填前端传过来的token.id # 得到返回的customer.id(比如cus_ABC123) # 2. 用Customer ID创建Charge curl https://api.stripe.com/v1/charges \ -u sk_test_你的密钥: \ -d amount=9900 \ -d currency=usd \ -d description=Signup \ -d customer=cus_ABC123
这样操作后,你就能在Stripe Dashboard的「客户」页面找到对应的Customer,查看其关联的卡片脱敏信息。
3. 关于旧版Checkout.js的替代方案
由于Checkout.js已废弃,推荐迁移到新版Stripe Checkout,更安全且功能更完善。新版流程中,你可以直接在Session配置里指定关联Customer,同样能实现卡片保存到Customer的效果,且无需自行处理token逻辑。
重要提醒
- 永远不要尝试存储完整卡号,这会违反PCI合规,带来严重的安全风险和合规问题。
- Stripe的所有卡片存储都遵循PCI DSS最高等级合规,你无需处理敏感卡片数据,全部由Stripe托管。
内容的提问来源于stack exchange,提问作者user2666909
相关产品推荐
相关产品推荐

