PAYATHON 2026

payment gateway 与 marchant gateway 有什么区别?

支付老李

结论

payment gateway 是标准术语,通常译为“支付网关”。它负责在商户系统、收单机构和支付网络之间安全传递支付请求及处理结果。

marchant gateway 不是支付行业的通用术语,其中的 marchant 很可能是 merchant 的拼写错误。在实际交流中,对方可能想表达以下两种概念之一:

  • merchant account:商户账户,用来接收和结算交易资金。
  • merchant portal 或 merchant dashboard:商户管理后台,用来查询交易、处理退款、对账和配置支付方式。

这些并不是可以互相替代的同类产品。支付网关处理支付通信,商户账户接收和结算资金,商户后台用于管理交易。完整的线上支付方案通常会同时包含这些部分。

Payment Gateway 是什么

支付网关连接商户业务系统和支付服务提供方,通常负责:

  • 接收支付请求;
  • 加密银行卡等敏感信息,或将其令牌化;
  • 把交易提交给收单机构或支付处理系统;
  • 返回成功、失败、处理中等支付状态;
  • 支持退款、撤销、预授权和支付结果通知;
  • 满足风控、身份验证和合规要求。

例如,用户在电商网站提交订单后,商户服务端一般不会直接连接每一家发卡银行,而是通过支付网关创建支付请求,再根据同步响应和异步通知更新订单状态。

支付网关主要解决技术接入问题,不一定直接持有或结算商户资金。

Merchant Account 是什么

merchant account 是商户为了接收银行卡等支付资金而开设的账户或建立的结算关系。消费者付款后,资金通常会经过支付网络和收单流程,再按照约定的结算周期转入商户指定的银行账户。

相关事项包括:

  • 商户身份和资质审核;
  • 支持的支付方式;
  • 手续费和结算周期;
  • 拒付与争议处理;
  • 交易限额和资金冻结;
  • 结算币种和银行账户。

有些支付服务商会把支付网关、收单服务和商户账户整合为一个产品。商户只需注册一个平台账户,不必分别采购和配置各个组件,但这些组件承担的职责仍然不同。

Merchant Portal 是什么

如果所谓的 merchant gateway 实际指商户管理后台,它一般用于:

  • 查询交易记录;
  • 发起退款;
  • 下载账单;
  • 查看结算状态;
  • 管理 API 密钥;
  • 配置 Webhook;
  • 处理争议或拒付;
  • 管理操作人员权限。

商户后台不能代替支付网关。前者是运营和管理入口,后者是业务系统实际调用的交易接口。

不同场景应该使用什么

电商网站或 App 在线收款

这类业务通常需要支付网关。商户系统通过支付网关的 API 或 SDK 创建支付,并通过 Webhook 接收最终结果。

如果支付服务商提供一体化服务,商户账户通常会在平台开户时一并开通,不需要另外寻找所谓的 merchant gateway。

线下 POS 刷卡

线下收款可能涉及 POS 终端、收单服务和终端网关。是否还需要独立的线上支付网关,要看业务是否同时支持网页支付、App 支付或远程支付链接。

如果只在实体店刷卡,应先确认服务是否包含终端设备、收单关系和资金结算,而不是只关注有没有线上 API。

平台型业务或多商户市场

如果平台需要让多个入驻商户分别收款,普通的单商户支付网关通常无法满足要求。平台还需要账户体系、子商户管理、分账、入驻审核和独立结算等能力。

典型流程如下:

  1. 入驻商户完成身份和资质验证;
  2. 平台为商户创建或关联子商户账户;
  3. 用户通过支付网关付款;
  4. 平台按照业务规则计算佣金;
  5. 支付服务商把资金结算给对应商户。

能否代收、分账或延迟结算,取决于服务商的能力和当地监管要求,不能仅靠普通支付 API 自行实现。

电话、邮件订单或人工录入卡号

这类场景的风险和合规要求较高。应使用支付服务商明确提供的虚拟终端、支付链接或经过认证的录入方案,不要自行收集和保存完整卡号及安全码。

只需要退款、对账和查询交易

如果支付接入已经完成,日常运营人员一般使用商户后台即可。需要自动处理退款或对账时,则应调用支付网关或支付服务商提供的服务端 API。

推荐的接入步骤

1. 先确认术语

先向服务商确认其所说的 merchant gateway 具体指什么:

  • 商户账户;
  • 商户管理后台;
  • 收单服务;
  • 平台子商户接口;
  • 某个特定品牌的产品名称。

如果这是某家公司的专有产品名称,应以该公司的接口文档和合同定义为准。

2. 明确业务需求

至少需要确认这些问题:

  • 线上支付还是线下支付;
  • 单一商户还是多商户平台;
  • 是否需要预授权、退款或分账;
  • 需要支持哪些国家、币种和支付方式;
  • 资金由谁收取和结算;
  • 是否涉及订阅及周期扣款;
  • 谁负责处理拒付和争议。

3. 选择服务模式

小型企业或初创业务通常适合使用集成式支付服务,由同一家服务商提供支付网关、收单和商户账户,接入和对账会相对简单。

对于交易量较大、跨地区经营或需要复杂路由的企业,可以分别选择支付网关和收单机构,以便获得更大的费率谈判空间,并配置支付路由和容灾方案。

4. 完成服务端接入

下面的通用示例展示了商户服务端调用支付网关的基本结构。接口地址和字段仅用于说明结构,不能直接当作任何支付服务商的真实 API 使用。

async function createPayment(order, paymentToken) {
  const response = await fetch("https://api.example-payment.com/v1/payments", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.PAYMENT_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": order.paymentRequestId
    },
    body: JSON.stringify({
      amount: order.amount,
      currency: order.currency,
      payment_method_token: paymentToken,
      merchant_reference: order.id,
      return_url: "https://merchant.example.com/payment/return"
    })
  });

  if (!response.ok) {
    throw new Error(`Payment request failed: ${response.status}`);
  }

  return response.json();
}

前端应优先使用服务商提供的托管支付页面或 SDK,把敏感支付信息转换为 paymentToken。除非已经具备相应的安全和合规条件,否则不要让卡号经过商户自己的服务器。

5. 使用 Webhook 确认最终状态

浏览器跳转到成功页面,并不能证明支付已经成功。用户可能伪造请求或关闭页面,支付也可能还在异步处理中。订单状态应以服务端查询结果或验证通过的 Webhook 为准。

app.post("/webhooks/payment", rawBodyParser, async (req, res) => {
  const signature = req.headers["payment-signature"];

  if (!verifyWebhookSignature(req.body, signature)) {
    return res.status(401).send("Invalid signature");
  }

  const event = JSON.parse(req.body.toString("utf8"));

  if (event.type === "payment.succeeded") {
    await markOrderAsPaid(event.data.merchant_reference);
  }

  if (event.type === "payment.failed") {
    await markOrderAsFailed(event.data.merchant_reference);
  }

  res.sendStatus(200);
});

verifyWebhookSignature 的算法、签名头名称和原始请求体处理方式,必须严格按照实际支付服务商的文档实现。

注意事项

  • 正确拼写通常是 merchant,不是 marchant。
  • 不要把支付网关返回的“交易成功”理解为银行账户中的“资金已结算”。
  • API 密钥只能保存在服务端,不能写入网页、App 或公开代码仓库。
  • 创建支付和退款时应使用幂等键,防止网络重试导致重复扣款或重复退款。
  • 金额应使用最小货币单位或精确的十进制类型,避免直接使用二进制浮点数计算。
  • 必须验证 Webhook 签名,并妥善处理重复、乱序和延迟通知。
  • 不要自行保存 CVV 等敏感验证数据。处理银行卡数据还可能涉及 PCI DSS 等合规要求。
  • 选择服务时,除了接口费率,还要比较支付成功率、结算周期、退款能力、拒付费用、币种支持和技术稳定性。

简而言之,如果需要让用户在网站或 App 中付款,应使用 payment gateway;如果需要接收和结算资金,则需要 merchant account 或相应的收单关系;如果需要查询交易、退款和对账,则使用 merchant portal。如果服务商把这些能力整合在同一套产品中,按照其一体化接入流程配置即可。

备注:内容仅供参考。