PayPal沙箱交易金额始终显示0.01(Checkout集成)问题排查
问题解决:PayPal沙箱交易金额始终显示0.01的修复方案
核心问题是你定义的createOrder函数根本没和PayPal按钮关联上,导致按钮用了默认的测试金额。具体修正如下:
错误原因
- 你把
createOrder单独写在一个<script>标签里,没有作为配置参数传给paypal.Buttons(),PayPal无法读取你设置的35.00金额,只能 fallback到默认的0.01测试值 - 按钮容器的style属性末尾多了一个多余的引号,属于语法错误
修正后的完整代码
<script src="https://www.paypal.com/sdk/js?client-id=AVzxh6XXXXXXXX9Z-1gHtNyyjBawLvnvJLRrshVSrLjwhqWoPg3FI9PiTdi-..."></script> <div id="paypal-button-container" style="position:relative;left:25%;width:50%;text-align:center;color:#FFFF00;"></div> <script> paypal.Buttons({ createOrder: function(data, actions) { return actions.order.create({ "purchase_units": [ { "amount": { "currency_code": "USD", "value": "35.00" } } ] }); } }).render('#paypal-button-container'); </script>
关键修改点
- 将
createOrder函数作为配置对象的属性,传入paypal.Buttons()方法内部,让PayPal按钮加载时读取自定义金额 - 清理了容器style属性里的多余引号
- 合并了分散的script标签,让代码逻辑更连贯
测试时重新加载页面,点击PayPal按钮后,沙箱弹窗里的金额就会显示为35.00了。
内容的提问来源于stack exchange,提问作者Richard Massie
相关产品推荐
相关产品推荐

