【发布时间】:2021-12-14 05:24:27
【问题描述】:
我正在尝试使用 https://github.com/amzn/amazon-pay-api-sdk-dotnet 将亚马逊支付网关集成到我的 MVC 应用程序中。我可以按照提供的步骤成功完成服务器端编码,但是在我看来,支付按钮无法正确呈现。当我检查时,我看到的是这样的
我可以在与控制台相关的跨站点中看到一些问题,但不确定是否因为它阻止了要呈现的按钮。我在 https://localhost:44350/ 中运行应用程序,并在卖家门户中添加了与 javascript 源相同的内容。
我还尝试确认跨站点问题,我在卖家门户中创建了一个按钮,并在我的视图中添加了代码,它正确呈现了相同的控制台错误。
如果有人可以帮助我了解问题或至少如何将错误处理程序添加到亚马逊渲染函数,将不胜感激。
<div id="AmazonPayButton"></div>
<script src="https://static-na.payments-amazon.com/checkout.js"></script>
<script type="text/javascript" charset="utf-8">
amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: '@ViewBag.MerchantId',
publicKeyId: '@ViewBag.PublicId',
ledgerCurrency: 'USD',
// customize the buyer experience
checkoutLanguage: 'en_US',
productType: 'PayAndShip',
placement: 'Cart',
buttonColor: 'Gold',
// configure sign in
createCheckoutSessionConfig: {
payloadJSON: '@ViewBag.PayLoad', // string generated in step 2
signature: '@ViewBag.Signature' // signature generatd in step 3
}
})
<script>
【问题讨论】:
-
你检查了吗,如果JS输出正确,提交所有@ViewBag-Parameters?错误处理可以通过将 renderButton() 包装在 try/catch 块中来完成。
-
此外,您可能还想开始使用 sandbox:true 标志。
标签: javascript asp.net-mvc amazon-pay