首页 > 解决方案 > 亚马逊支付按钮未在 MVC 应用程序中呈现

问题描述

我正在尝试使用https://github.com/amzn/amazon-pay-api-sdk-dotnet将亚马逊支付支付网关集成到我的 MVC 应用程序中。我可以按照提供的步骤成功完成服务器端编码,但是 paybutton 是在我看来没有正确渲染。当我检查时,我看到这样

在此处输入图像描述

我可以在控制台相关的跨站点中看到一些问题,但不确定是否因为它阻止了要渲染的按钮。我在 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>

标签: javascriptasp.net-mvcamazon-pay

解决方案


您没有共享太多用于生成传递给renderButton的代码,但是对于按钮根本不呈现的这些类型的错误,我建议退后一步并确保正在提供所有正确的参数。您可以使用开发人员暂存器来验证您的按钮配置,并确保按钮正确呈现,在单击后测试其功能,并为您生成 html 和 .net 代码片段。

https://pay-api.amazon.com/tools/scratchpad/index.html 按钮配置

渲染按钮和生成的代码片段

请注意,Amazon Pay API 不支持客户端请求(您会收到 CORS 错误),因此发出的任何 API 请求都需要在服务器端进行。


推荐阅读