View a markdown version of this page

AgentCore 付款疑难解答 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AgentCore 付款疑难解答

本节提供使用 AWS 亚马逊 Bedrock AgentCore 付款时的常见错误的解决方案。

验证错误

创建或更新付款资源时,该服务返回ValidationException。下表列出了常见的验证错误及其解决方法。

错误消息 解决方案

roleArn must contain a valid account ID

roleArn必须是具有 12 位数账户 ID 的有效 IAM 角色 ARN。验证格式:arn:aws:iam::<accountId>:role/<roleName>.

roleArn must belong to your account

中的账户 ID roleArn 必须与来电者的账户相匹配。 Cross-account 不支持角色。

Invalid role ARN: {roleArn}

roleArn无法解析。验证 ARN 格式。

credentialProviderConfigurations list cannot be empty

创建或更新支付连接器时,至少提供一个凭证提供者配置。

credentialProviderArn is required but not found in the request

每个凭证提供者配置都必须包含credentialProviderArn. 首先使用 “创建凭证提供商” 创建一个。

Connector type '{type}' does not match the provided credentialProviderConfiguration

凭证提供者配置变体必须与连接器类型相匹配。例如,CoinbaseCDP连接器需要coinbaseCDP配置,而不是stripePrivy。

还强制执行了字段命名限制:

  • 付款经理姓名必须以字母开头且仅包含字母数字字符(最多 48 个字符)。

  • 支付连接器名称遵循相同的规则,但也允许使用下划线。

  • 描述允许使用字母数字字符和空格(最多 4096 个字符)。

权限错误

错误消息 解决方案

Access denied due to account security restrictions. Contact AWS Support for assistance.

您的账户已被限制。请联系 AWS 支持部门解决问题。

Access denied for {CREATE|UPDATE} due to account security restrictions. Contact AWS Support for assistance.

您的账户处于受限访问状态。允许读取和列出操作,但在限制解决之前,创建和更新操作会受到限制。

IAM SigV4 授权失败

确保呼叫主体具有适当的bedrock-agentcore:权限。该服务使用带有签名名称的 SigV4 bedrock-agentcore 签名。

PassRole 失败

提供时roleArn,调用者必须拥有该角色的iam:PassRole权限。该角色的信任策略必须允许bedrock-agentcore.amazonaws.com作为服务主体。

AWS 商城订阅错误

当您使用Coinbase作为支付提供商时,您的账户必须有效订阅市场上列出的 Coinbase AgentCore 付款钱包。 AWS 如果缺少订阅,该服务将返回SubscriptionRequiredException带有 HTTP 403 状态码的。

此错误在两个地方强制执行:

  • 当你使用. 创建 Coinbase 支付连接器CreatePaymentConnector时

  • 当您在数据平面上执行 Coinbase 钱包操作时,例如CreatePaymentInstrument或ProcessPayment。

例外情况包括一个subscriptionUrl带有 AWS 商城清单链接的productName字段和一个用于标识需要订阅的产品的字段。

错误消息 解决方案

SubscriptionRequiredException(HTTP 403)

您的账户没有有效的Coinbase AWS 市场订阅。要解决这个问题,请执行以下操作:

  1. 在错误的subscriptionUrl返回处打开 AWS 商城列表,或前往 Coinbase AgentCore 付款钱包列表。

  2. 订阅清单。订阅身份需要AWSMarketplaceManageSubscriptions权限。

  3. 订阅激活后,重试该操作。

有关更多信息,请参阅订阅Coinbase钱包以在 AWS 市场上 AgentCore 付款。

快速创建授权错误

快速创建使您无需自己管理凭据即可设置Coinbase支付连接器。当您致电时CreatePaymentConnector,该服务会返回authorizationUrl。打开网址(或将其提供给应用程序的用户)以完成 Coinbase 授权。在此流程中,连接器将经历以下 Quick-create-specific 状态:

  • PENDING_AUTHENTICATION—连接器正在等待您(或您的应用程序的用户)完成Coinbase授权。

  • PROVISIONING— 授权已完成,服务正在配置连接器。

  • AUTHENTICATION_EXPIRED— 授权完成前authorizationUrl已过期。

  • AUTHENTICATION_FAILED— Coinbase 的授权未成功。

下表列出了常见的快速创建授权问题及其解决方案。

连接器状态 解决方案

连接器卡住了 PENDING_AUTHENTICATION

快速创建授权尚未完成。要解决这个问题,请执行以下操作:

  1. 打开authorizationUrl退回的 by CreatePaymentConnector。

  2. 登录并完成 Coinbase 授权。

连接器输入 AUTHENTICATION_EXPIRED

过authorizationUrl期,它发生在CreatePaymentConnector退货大约 10 分钟后。要解决这个问题,请执行以下操作:

  1. Re-create 连接器CreatePaymentConnector可以换个新authorizationUrl的。

  2. 打开新版本authorizationUrl并立即完成Coinbase授权。

未找到资源错误

错误消息 解决方案

Payment manager not found: {managerId}

指定的付款管理器不存在。通过致电验证身份ListPaymentManagers。

Payment connector not found: connectorId={connectorId}, managerId={managerId}

指定的连接器在给定的管理器下不存在。使用验证两个 ID ListPaymentConnectors。

期间未找到资源 CreatePaymentConnector

上级付款管理器不存在。首先创建付款管理器。

冲突错误

ConflictException当两个请求同时修改同一个资源时,或者创建了一个已经存在的资源时,该服务会返回。重试请求。创建和更新操作clientToken支持安全重试。

服务配额错误

"{limitType} limit exceeded for account {accountId}"当您达到账户的支付管理器或连接器的最大数量时,该服务将返回。删除未使用的资源或联系 AWS 支持部门申请提高限额。

节流错误

"Rate exceeded"当请求速率超过允许的限制时,服务将返回。在重试逻辑中使用抖动实现指数退避。如果您持续达到上限,请联系客 AWS 服。

付款处理错误

如果外部支付提供商拒绝签名请求,则该服务将返回AccessDeniedException或ValidationException。SubscriptionRequiredException如果您的账户没有有效的Coinbase AWS 市场订阅,则付款处理也会失败。下表列出了常见错误及其解决方法。

错误消息 解决方案

Delegated signing grant is not active for the end user wallet. Please redirect end user to the WalletHub to grant the permissions.

你没有授予允许你的代理人代表你签署交易的委托权限,或者你之前已经撤销了该权限。要解决这个问题,请执行以下操作:

  1. 从CreatePaymentInstrument或GetPaymentInstrument响应正文 (paymentInstrumentDetails.redirectUrl) 检索 WalletHub URL。

  2. 将用户重定向到 WalletHub。

  3. 登录并向代理授予签名权限。

有关处理委托拨款流的前端实现的更多信息,请参阅网站上的 Coinbase AgentCore 模板。 GitHub 有关为钱包注资的更多信息,请参阅为钱包注资。

Delegated signing is not enabled for your Coinbase project. Please enable delegated signing in your Coinbase project policies.

您的 Coinbase 开发者平台项目未配置委托签名。要解决这个问题,请执行以下操作:

  1. 在 Coinbase 网站上登录 Coinbase 开发者平台。

  2. 导航到项目的 “策略” 设置。

  3. 启用 “委托签名” 开关。

您必须完成此步骤,然后您的代理才能代表用户签署交易。

Privy credentials are invalid. Please verify the credential configuration.

您的凭证提供商的 Privy 钱包授权密钥无效或已过期。要解决这个问题,请执行以下操作:

  1. 登录 Privy 网站上的 Privy 控制面板。

  2. 导航到应用程序的设置并验证授权密钥是否有效。

  3. 使用当前密钥更新 Id AgentCore entity 中的凭证提供商。为此,请在密钥管理器中调用UpdatePaymentConnector或更新密 AWS 钥。

有关凭证配置的更多信息,请参阅网站上的 Privy AgentCore SDK。 GitHub

SubscriptionRequiredException(HTTP 403)

您的账户没有有效的Coinbase AWS 市场订阅。使用Coinbase钱包处理付款需要有效订阅,因此,如果订阅从未创建或后来被取消,则可能会发生此错误。要解决这个问题,请执行以下操作:

  1. 订阅 Coinbase AgentCore 付款钱包列表,或在错误subscriptionUrl返回处打开 AWS 市场清单。

  2. 订阅激活后,重试付款。

有关更多信息,请参阅订阅Coinbase钱包以 AgentCore 应对 AWS 市场中的付款和AWS 市场订阅错误。

x402 付款请求错误

当您使用 x402 协议处理付款时,该服务会在保留预算或签字paymentInput.cryptoX402之前验证您转入的付款有效负载。如果有效负载格式错误或不支持,则该服务将返回 a ValidationException 且不消耗任何预算。下表列出了常见的 x402 付款请求错误及其解决方法。几行描述了运行时失败或结算失败,例如拒绝的 Permit2 配额交易,这种情况可能发生在签名开始之后,而不是在签名前验证期间。

错误消息 解决方案

X402 Payload for signing is invalid.

无法解析或验证 x402 付款负载。将卖家的 x402 有效载荷从402 Payment Required响应中复制到与收到的paymentInput.cryptoX402完全相同,无需修改。

Payment instrument network is required

付款工具未指定网络。使用与商家的支付负载相匹配的网络创建支付工具。

Network mismatch '{network}' is not supported for paymentNetwork '{paymentNetwork}'. Supported networks: {networks}

支付工具的网络与有效载荷中的网络不匹配。使用网络与商家付款请求相匹配的支付工具。

Payment currency is required

有效载荷未指定货币。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Currency '{currency}' is not supported. Supported currencies: {currencies}

有效载荷要求使用不受支持的货币。使用请求支持的货币的商家终端节点。

Payment amount is required

有效载荷未指定数量。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment amount must be a positive number. Received: {value}

有效载荷量不是正数。逐字转发卖家的有效载荷;请勿修改金额。

Payment amount exceeds maximum allowed value. Received: {value}, Maximum: {max}

有效载荷量高于最大允许值。使用金额在允许范围内的商家终端节点。

Payment asset is required

有效载荷未指定资产。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment asset address is invalid. Expected valid address format for the specified network. Received: {value}

有效负载资产地址不是网络的有效地址。逐字转发商家的有效载荷;请勿修改资产地址。

Payment asset is not a supported USDC token address for network '{network}'. Received: {value}. Expected: {expected}

有效载荷为网络请求除规范 USDC 之外的代币。使用请求规范 USDC 的商家端点,并验证支付工具的网络是否与有效载荷相匹配。

Payment scheme is required

有效载荷未指定方案。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment scheme not supported. Supported scheme: {scheme}

负载请求的方案不受支持。 AgentCore 付款支持exact和upto计划。请参阅支付 x402 付款请求。

Payment scheme 'upto' is only supported on x402 protocol version 2

该upto方案需要 x402 协议版本 2。设置version为 2 inpaymentInput.cryptoX402,或使用支持版本 2 的商家终端节点。

Payment scheme 'upto' is only supported on EVM networks. Received network: {network}

该upto方案仅在 EVM 网络上受支持。为该upto方案使用 EVM 网络上的商户端点。

permit2AllowanceLimit is only supported for payment scheme 'upto'. Received scheme: {scheme}

您设置permit2AllowanceLimit的方案不是upto。permit2AllowanceLimit仅为该upto方案设置。参见 Permit2 补贴以了解最高付款金额。

permit2AllowanceLimit must be a positive integer in the asset’s smallest denomination. Received: {value}

该permit2AllowanceLimit值不是正整数。以资产最小面额的正整数形式提供补贴。例如,按小数 6 位1000000授予 1 个 USDC,并且115792089237316195423570985008687907853269984665640564039457584007913129639935(最大uint256值)授予无限额度。

支付提供商拒绝了Permit2补贴交易。

当ProcessPayment广播approve交易以进行upto付款时,钱包提供商可以拒绝该交易。例如,如果未授予委托签名,或者来自同一钱包的先前交易尚未得到确认,则提供商可以拒绝。要解决这个问题,请执行以下操作:

  1. 确认最终用户已在中授予代理签名权限 WalletHub。请参阅本节前面的委托签名授权错误,并向钱包注资并授予代理权限。

  2. 如果钱包刚刚存入资金或已使用,请等待几秒钟等待前一笔交易的确认,然后使用新的clientToken钱包重试。

  3. 如果钱包已经获准使用Permit2,则permit2AllowanceLimit在后续调用时省略,这样就不会广播任何新approve交易。

Payment payTo address is required

有效载荷未指定payTo地址。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment payTo address is invalid. Expected valid address format for the specified network. Received: {value}

负载payTo地址不是网络的有效地址。逐字转发卖家的有效载荷;请勿修改地址。payTo

Payment maxTimeoutSeconds is required

有效载荷未指定maxTimeoutSeconds。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment maxTimeoutSeconds must be positive. Received: {value}

有效载荷maxTimeoutSeconds值不是正数。逐字转发卖家的有效载荷;请勿修改该值。

Payment maxTimeoutSeconds {value} exceeds maximum allowed value of {max}

有效负载maxTimeoutSeconds值高于允许的最大值。使用超时时间在允许范围内的商家终端节点。

Payment feePayer is required for SVM payments

Solana (SVM) 付款的有效负载未指定。feePayer逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment extra field is required

有效载荷不包含必填extra字段。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment extra.name is required for EVM payments

EVM 付款的有效载荷不包括extra.name。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment extra.version is required for EVM payments

EVM 付款的有效载荷不包括extra.version。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment extra.facilitatorAddress is required for the upto scheme

该upto方案有效载荷不包括extra.facilitatorAddress。逐字转发商人的有效载荷。如果错误仍然存在,则卖家的有效负载格式不正确;请联系卖家。

Payment extra.facilitatorAddress is invalid. Expected valid address format for the specified network. Received: {value}

负载extra.facilitatorAddress不是网络的有效地址。逐字转发卖家的有效载荷;请勿修改地址。

MPP 质询错误

当您使用机器支付协议 (MPP) 处理付款时,该服务会验证您转发的WWW-Authenticate: Payment质询。paymentInput.mpp它会在预算或签字之前验证挑战。如果质询格式不正确、不受支持或已过期,则该服务将返回 a ValidationException 且不消耗任何预算。下表列出了常见的 MPP 质询错误及其解决方法。有些行描述了运行时错误或访问错误,例如钱包余额不足、未启用 MPP 访问权限或凭据构建失败,而不是预签名验证错误。

错误消息 解决方案

MPP wwwAuthenticateHeaders is required and must contain exactly one WWW-Authenticate header.

仅为该wwwAuthenticateHeaders字段提供一个标题。逐字复制卖家的WWW-Authenticate: Payment质疑;不要发送多个标题。

WWW-Authenticate header is not a 'Payment' challenge.

转发的标头不是Payment挑战。在不修改其方案的情况下转发卖家402 Payment Required回复中的WWW-Authenticate标题。

MPP challenge is missing required field: {field}

挑战在于缺少必填字段。对于该evm方法,methodDetails.chainId和realm均为必填项。在转发之前,请验证卖家的质询是否包含指定字段。

MPP challenge 'request' is not valid base64url: {value}

质询request值不是有效的 base64url。完全按照商家退回挑战的方式转发挑战。请勿解码、重新编码或修改该值。

MPP challenge 'request' is not valid JSON: {value}

解码后的质询request不是有效的 JSON。逐字转发挑战。如果错误仍然存在,则卖家的质询格式不正确;请联系卖家。

MPP challenge 'id' exceeds the maximum allowed length of {max} characters. Received length: {length}.

挑战id太长了。不加修改地转发挑战。如果错误仍然存在,则卖家的质询格式不正确;请联系卖家。

MPP challenge methodDetails.chainId must be a JSON integer, not a string or decimal. Received: {value}

质询methodDetails.chainId中的必须是 JSON 整数。逐字转发挑战;不要引用或重新格式化值。

MPP challenge 'request' JSON contains a duplicate key, which is not allowed (RFC 8785 JCS requires unique member names): {key}

质询 request JSON 包含重复的密钥。逐字转发挑战。如果错误仍然存在,则卖家的质询格式不正确;请联系卖家。

MPP challenge WWW-Authenticate header contains a duplicate auth-param: {param}

标WWW-Authenticate头包含重复的参数。逐字转发标题。如果错误仍然存在,则卖家的质询格式不正确;请联系卖家。

MPP challenge field '{field}' contains a disallowed control character (0x{code}).

挑战字段包含不允许的控制字符。逐字转发挑战。如果错误仍然存在,则卖家的质询格式不正确;请联系卖家。

MPP supports only the 'charge' intent. Received: {intent}

该挑战要求的意图不受支持。 AgentCore 付款仅支持 MPP 的charge意图。

MPP supports only the 'evm', 'tempo', and 'solana' methods. Received: {method}

该挑战要求使用不支持的付款方式。 AgentCore 付款仅支持 MPP 的evmtempo、和solana方法。

MPP supports only pull mode; challenge supportedModes did not include 'pull'.

挑战赛不提供拉动模式。 AgentCore 付款仅支持 MPP 的拉取模式。

MPP version is required.

在中提供version字段paymentInput.mpp。

MPP EVM/Tempo charge supports only the canonical USDC token on network '{network}'. Received currency: {currency}

挑战赛要求为该网络提供除权威USDC之外的代币。使用要求权威的 USDC 的挑战。验证支付工具的网络是否与质询方法相匹配。

This MPP challenge does not offer seller-sponsored network fees (methodDetails.feePayer=false), so the blockchain network (gas) fees would be charged to the buyer’s wallet in addition to the payment amount. Set buyerPaysGasFees=true to authorize paying them, or obtain a challenge whose seller sponsors the fees.

卖方不赞助本次挑战的汽油费。paymentInput.mpp开始授权从买家的钱包buyerPaysGasFees=true中支付汽油,或者接受由卖方赞助费用的质疑。当卖家不收取赞助费时,这是该tempo方法的必填项。

MPP challenge has expired ('expires' is in the past). Obtain a fresh challenge and retry.

挑战是短暂的,已经过期。再次请求付费资源以获得新的挑战,然后重试。过期的挑战不会消耗任何预算。

MPP Solana charge supports only the 'mainnet' and 'devnet' networks. Received: {network}

Solana 挑战赛要求的网络不受支持。 AgentCore 付款仅mainnet支持 Sol devnet ana MPP 费用。

MPP Solana charge currently supports only server-sponsored fees (methodDetails.feePayer=true). Client-paid fees (feePayer=false) are not yet supported.

Solana 挑战赛要求客户支付费用。该solana方法目前仅支持服务器赞助的费用。使用由卖家赞助费用的质疑。

Solana MPP payments are not supported for Coinbase-managed payment instruments.

Coinbase CDP 支付工具不支持该solana方法。使用 Stripe(Privy)支付工具支付 Solana MPP 费用。在 “处理付款” 中查看提供商对每种方式的支持。

Insufficient balance in the payer wallet to cover the token transfer and gas fee.

买家的钱包没有足够的余额来支付付款金额和网络(汽油)费用。使用额外的USDC为钱包注资。请参阅为钱包注资和授予代理权限。

Access to MPP (Machine Payments Protocol) payment processing is not enabled for this account. Contact AWS Support for access.

您的账户未启用 MPP 付款处理。请联系 AWS 支持部门申请访问权限。

Failed to build MPP payment credential: {reason}

该服务无法通过挑战建立付款凭证。确认您逐字转发了质询。如果错误仍然存在,请使用x-amzn-requestid响应标头中的请求编号与 AWS 支持部门联系。

服务器错误数

该服务"Something went wrong in processing your request"因内部错误而返回。稍等片刻后重试请求。如果错误仍然存在,请使用x-amzn-requestid响应标头中的请求编号与 AWS 支持部门联系。