PAYATHON 2026

调用 2Checkout Payment API 时出现 ERROR CODE:PE106

支付阿杰

结论

ERROR CODE: PE106 通常表示当前 2Checkout 商户账户无法完成这笔付款。最常见的原因是账户尚未通过审核或激活,却开始在生产环境中收款。也有可能是账户、支付方式或交易受到了 2Checkout 的限制。

这类错误通常与银行卡号格式或前端 JavaScript 无关。仅凭 PE106 无法判断具体原因,应结合 2Checkout 商户后台的账户状态、订单日志和官方支持回复来确认。

排查和解决步骤

1. 检查商户账户状态

登录 2Checkout Merchant Control Panel,确认以下事项均已完成:

  • 商户资料和身份验证;
  • 网站及商品审核;
  • 收款信息配置;
  • 正式账户激活。

如果账户仍在审核中,或处于测试、受限状态,就不能直接发起真实付款。此时应继续使用 Sandbox,或等待账户审核完成。

2. 确认环境和凭据一致

Sandbox 和生产环境使用不同的商户编号、密钥及接口地址,不能混用。常见的配置错误包括:

  • 使用 Sandbox 凭据请求生产环境;
  • 使用生产凭据请求 Sandbox;
  • 测试账户关闭测试模式后仍提交测试交易;
  • 前端使用一个商户编号,服务端签名却使用另一个账户的密钥。

建议集中管理环境配置:

const config = {
  environment: process.env.TWOCHECKOUT_ENVIRONMENT,
  merchantCode: process.env.TWOCHECKOUT_MERCHANT_CODE,
  secretKey: process.env.TWOCHECKOUT_SECRET_KEY
};

if (!["sandbox", "production"].includes(config.environment)) {
  throw new Error("Invalid 2Checkout environment");
}

if (!config.merchantCode || !config.secretKey) {
  throw new Error("Missing 2Checkout credentials");
}

不要只修改请求 URL,就把测试代码切换到生产环境。账户、凭据、签名配置和商品配置也必须属于同一环境。

3. 检查账户及支付方式限制

逐项确认以下条件:

  • 当前账户支持所选择的支付方式;
  • 商户账户支持本次交易币种;
  • 买家所在国家或地区未受限制;
  • 商品类型符合 2Checkout 的业务政策;
  • 商户账户没有因风控、合规审核或资料缺失而暂停收款。

如果所有买家和银行卡都持续遇到 PE106,问题更可能出在商户账户或环境配置上。如果只有特定买家、国家、币种或支付方式失败,则应重点排查支付方式和风控限制。

4. 保存完整的失败信息

不要只记录页面显示的错误码。服务端至少应保存以下信息:

function logPaymentFailure(error, context) {
  console.error("2Checkout payment failed", {
    errorCode: error?.code,
    message: error?.message,
    requestId: error?.requestId,
    environment: context.environment,
    merchantCode: context.merchantCode,
    currency: context.currency,
    amount: context.amount,
    timestamp: new Date().toISOString()
  });
}

日志中不要保存完整银行卡号、CVV、密钥或未经脱敏的个人信息。

5. 联系 2Checkout 支持确认账户侧原因

如果账户已经激活,环境和凭据也没有问题,应向 2Checkout 支持提供以下信息:

  • 错误码 PE106;
  • 错误发生的时间及时区;
  • 商户编号;
  • Sandbox 或 Production 环境;
  • 订单号、请求 ID 或参考编号;
  • 使用的币种、国家和支付方式;
  • 已脱敏的错误截图及响应内容。

不要提交完整卡号、CVV 或 API Secret。2Checkout 支持可以通过后台日志判断问题来自账户状态、风控规则还是支付能力限制。

注意事项

不建议通过反复重试处理 PE106。如果账户尚未激活或交易受到限制,重复提交可能引发更多风控检查,也可能产生重复订单。

不要在前端暴露 Secret Key,也不要为了绕过错误而关闭签名校验、修改金额或伪造交易地区。应先核对账户状态和运行环境,再结合订单日志,请 2Checkout 支持确认具体的拒绝原因。

备注:内容仅供参考。