You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core项目无按钮服务端重定向集成Amazon Pay方案咨询

Amazon Pay 服务端重定向集成方案说明

方案可行性

完全可以使用和PayPal类似的拼接参数重定向方案集成,Amazon Pay 官方提供了Hosted Checkout模式,无需渲染官方前端按钮,直接通过服务端生成带签名的重定向链接即可完成支付流程。

请求端点

根据所属区域选择对应端点:

  • 北美区
    • 沙箱环境:https://payments-sandbox.amazon.com/apa/checkout/v2/hostedCheckout
    • 生产环境:https://payments.amazon.com/apa/checkout/v2/hostedCheckout
  • 欧洲区
    • 沙箱环境:https://payments-sandbox-eu.amazon.com/apa/checkout/v2/hostedCheckout
    • 生产环境:https://payments-eu.amazon.com/apa/checkout/v2/hostedCheckout
  • 日本区
    • 沙箱环境:https://payments-sandbox-jp.amazon.com/apa/checkout/v2/hostedCheckout
    • 生产环境:https://payments-jp.amazon.com/apa/checkout/v2/hostedCheckout

参数配置调整

你现有代码的参数逻辑基本正确,只需做少量调整:

  1. 保留的有效参数:
    • accessKey、sellerId、lwaClientId:身份验证参数,替换为你自己的正式值即可
    • returnURL:你现有代码里的参数名是return,需改为returnURL,值为支付成功后的回调地址,必须提前在Amazon Pay卖家后台的安全域名列表中配置
    • cancelReturnURL:取消支付后的回调地址,同样需要提前在后台配置域名
    • sellerOrderId、currencyCode、paymentAction:订单核心参数,你的配置逻辑正确
    • shippingAddressRequired:是否需要邮寄地址,设置为true/false即可
    • 邮寄地址相关参数(first_name/last_name/address1等):如果shippingAddressRequired设为true,需要完整传入对应参数,否则可以不传
  2. 需要补充的必填参数:
    你代码中提到的AddOrderTotalParameters方法需要补充amount参数,值为订单总金额的字符串格式(如"129.99"),和currencyCode对应。
  3. 需要删除的无效参数:
    no_shipping、address_override是PayPal专属参数,Amazon Pay不识别,直接删除即可。

签名逻辑验证

你现有签名逻辑符合Amazon Pay要求:

  • 先按ASCII码从小到大排序所有业务参数
  • 用HMAC-SHA256算法,以你的Amazon Pay秘钥为密钥生成签名
  • 签名值做URL编码后作为signature参数加入请求,注意排序和签名时不要包含signature参数本身,你的现有代码逻辑符合要求。

注意事项

  • 所有参数值必须使用UTF-8编码,避免出现乱码导致签名验证失败
  • 如果是虚拟商品无需邮寄,shippingAddressRequired设为false即可,不需要传任何地址相关参数
  • paymentAction设置为AuthorizeAndCapture会在用户支付后直接扣款,如果需要先授权后续发货再扣款,可以改为Authorize

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:36:03