You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在PayPal Express Checkout沙箱配置客户端ID及授权密钥?

解决PayPal Braintree集成的密钥配置与沙箱问题

一、给代码添加生产环境授权密钥

直接修改你提供的代码,把client对象里的production字段替换成你的实际生产授权密钥即可。另外要注意,当切换到生产环境时,记得把env的值从sandbox改成production

<script>
// Render the PayPal button
paypal.Button.render({
// Pass in the Braintree SDK
braintree: braintree,
// Pass in your Braintree authorization key
client: {
sandbox: paypal.request.get('/demo/checkout/api/braintree/client-token/'),
production: '你的生产环境Braintree授权密钥' // 替换为你的实际生产密钥
},
// Set your environment
env: 'sandbox', // 生产环境请改为 'production'
// Wait for the PayPal button to be clicked
payment: function(data, actions) {
// Make a call to create the payment
return actions.payment.create({
payment: {
transactions: [
{
amount: {
total: '10',
currency: 'USD'
}
}
]
}
});
},
// Wait for the payment to be authorized by the customer
onAuthorize: function(data, actions) {
return actions.payment.tokenize().then(function(data) {
console.log('Braintree nonce:', data.nonce);
});
}
}, '#paypal-button-container');
</script>

二、从PayPal沙箱获取客户端ID与授权密钥的正确步骤

你提到输入沙箱密钥后出现错误,大概率是混淆了静态密钥和动态客户端令牌,或者获取步骤有误。以下是正确的操作流程:

  1. 登录你的PayPal开发者账号,进入开发者仪表盘
  2. 在左侧菜单选择「我的应用和凭据」(My Apps & Credentials)
  3. 切换到**沙箱(Sandbox)**标签页,找到你创建的沙箱应用(如果没有,点击「创建应用」生成一个)
  4. 展开该应用的详情面板,你会看到两个关键信息:
    • 客户端ID(Client ID):沙箱环境的客户端标识
    • 密钥(Secret):沙箱环境的授权密钥(注意:这个密钥是后端用的,绝对不能直接暴露在前端代码里!)

关键注意点:

你代码里的sandbox字段是通过paypal.request.get调用后端接口获取动态Braintree客户端令牌,而不是直接填静态的PayPal Client ID。后端需要用沙箱的Secret去调用Braintree的API生成这个动态令牌,前端再请求这个令牌来完成授权。如果直接把静态的Client ID或Secret填在这里,必然会报错。

三、你遇到报错的常见排查方向

针对你输入沙箱密钥后出错的情况,建议从这几个方面检查:

  • 令牌类型错误:不要把静态的Client ID/Secret直接替换paypal.request.get的接口请求,必须由后端生成动态的Braintree客户端令牌返回给前端
  • 环境不匹配:确保env设置为sandbox时,后端生成的是沙箱环境的令牌;如果用生产密钥,env要改成production
  • 应用权限问题:检查你的沙箱应用是否已经启用了Braintree集成功能,在应用设置里确认相关权限已开启
  • 密钥复制错误:检查你复制的密钥是否完整,有没有多余的空格、换行符,确保复制的是沙箱标签下的对应密钥

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

火山引擎 最新活动