如何使用支付方式令牌/银行卡创建PayPal订阅及解决相关问题
问题1:使用支付令牌创建订阅仍需PayPal登录审批
要跳过PayPal登录审批直接完成订阅,需确保以下两点:
- 创建支付令牌时完成持卡人授权:调用
v3/vault/payment-tokens时,必须指定usage_type为MERCHANT_INITIATED_TRANSACTION,同时确认用户已授权该令牌用于自动续费类交易(比如前端收集用户同意订阅自动扣费的确认)。 - 订阅请求中添加自动扣费配置:创建订阅时,除传入
payment_source.token外,需在请求载荷中加入application_context参数,设置user_action为SUBSCRIBE_NOW,强制跳过手动审批步骤:
"application_context": { "user_action": "SUBSCRIBE_NOW" }
另外,若支付方式需要3D Secure验证,需确保在创建令牌阶段已完成验证,否则PayPal仍会要求用户二次验证。
问题2:直接传入银行卡信息创建订阅报错
PayPal的/v1/billing/subscriptionsAPI不支持直接传入原始银行卡信息创建订阅,必须通过Vault API先存储支付方式生成令牌,再使用令牌创建订阅,正确流程如下:
- 调用Vault API创建支付令牌:
POST v3/vault/payment-tokens { "customer_id": "你的客户ID", "payment_source": { "card": { "number": "4005519200000004", "expiry": "2026-05", "security_code": "123" } }, "usage_type": "MERCHANT_INITIATED_TRANSACTION", "preferred": true }
- 使用支付令牌创建订阅:
将返回的支付令牌ID传入/v1/billing/subscriptions的payment_source中:
"payment_source": { "token": { "id": "生成的支付令牌ID", "type": "PAYMENT_METHOD_TOKEN" } }
直接传入银行卡信息会触发PayPal安全限制,导致内部服务器错误,必须通过Vault API完成支付方式的存储后再操作。
内容的提问来源于stack exchange,提问作者Anitta K
相关产品推荐
相关产品推荐

