【问题标题】:Amazon pay button not rendering in MVC application亚马逊支付按钮未在 MVC 应用程序中呈现
【发布时间】: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


【解决方案1】:

您没有共享太多用于生成传递给 renderButton 的代码,但是对于按钮根本不呈现的这些类型的错误,我建议您采取措施返回并确保提供了所有正确的参数。您可以使用开发人员暂存器来验证您的按钮配置,以及确保按钮正确呈现、测试其在单击后是否正常运行并为您生成 html 和 .net 代码 sn-ps。

https://pay-api.amazon.com/tools/scratchpad/index.html

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

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多