PAYATHON 2026

韩国境外企业如何申请支付宝商城跨境支付

支付小周

结论

韩国注册企业可以接入支付宝跨境在线支付,供中国内地支付宝用户在其运营的商城中付款。常见的办理方式有两种:

  1. 向支付宝跨境业务渠道或国际业务平台直接申请,由韩国公司签约、收款和结算。
  2. 通过韩国当地或具备跨境收单资质的支付服务商(PSP)接入支付宝。

能否直接签约,以及支持的商品类型、结算币种和费率,都要经过商户审核、行业审核及风险评估。普通支付宝个人账户或中国境内企业使用的“当面付”产品,不能代替境外商户跨境收单产品。

为什么需要申请跨境支付产品

这类交易涉及中国支付宝用户、韩国境外商户,以及负责跨境收单、换汇和资金结算的支付机构。

消费者可能看到人民币金额并使用支付宝付款,韩国商户则按合同约定以韩元、美元等币种结算。支付机构还要完成商户身份核验、反洗钱审查、交易监控、退款处理和跨境结算。因此,注册一个普通支付宝账号并不能满足这些要求。

申请前需要满足的条件

韩国企业通常需要具备以下条件:

  • 已在韩国依法注册,且经营状态正常;
  • 实际经营内容与登记的经营范围基本一致;
  • 拥有可用于对公收款的韩国公司银行账户;
  • 商城已经上线,或至少提供可供审核的测试环境;
  • 网站清楚展示公司信息、商品价格、物流方式、退款规则和联系方式;
  • 商品或服务属于支付机构允许受理的行业;
  • 可以提供订单、物流、退款和客户投诉等交易资料;
  • 遵守韩国当地法律,以及面向中国消费者销售时适用的跨境贸易、海关、税务和数据保护要求。

药品、医疗服务、金融投资、虚拟资产、博彩、成人内容、部分数字商品及其他高风险行业,通常会受到限制或需要额外审批。具体业务和商品能否受理,应以支付机构出具的书面审核结果为准。

应当选择哪种接入模式

直接签约

韩国公司可以直接申请成为境外商户,由支付宝国际业务渠道或相关跨境支付平台负责审核和签约。

这种方式通常适合交易规模较大、有完整技术团队,并且能够自行处理风控、对账和退款的商城。直接申请是否开放、是否设有最低交易规模,并没有适用于所有商户的统一标准。

通过支付服务商接入

韩国公司也可以与当地收单机构或跨境 PSP 签约,由服务商提供支付宝支付方式。

这种方式通常接入较快,还可能同时支持银行卡和其他电子钱包。不过,费率、结算周期、退款规则及保证金均由服务商合同约定。选择服务商时,应核实其合法资质,并确认合同中的实际收单主体和资金结算路径。

办理流程

1. 整理业务信息

申请前需要明确以下信息:

  • 商城域名和运营主体;
  • 主要销售的商品或服务;
  • 目标客户所在地区;
  • 预计月交易额和平均客单价;
  • 商品使用人民币、韩元还是美元标价;
  • 希望采用的结算币种;
  • 发货地点和物流方式;
  • 退款、取消及拒付处理机制;
  • 使用网站支付、移动网页支付还是 App 支付。

支付机构会根据这些信息判断适用的产品和审核流程。

2. 联系官方渠道或合规服务商

提交咨询时,应把需求说清楚,例如:

韩国注册企业运营跨境商城,希望接入支付宝在线支付,由中国内地支付宝用户付款,款项结算至韩国公司银行账户。

不要只询问“申请支付宝账号”,否则申请可能被分配到个人账户、境内商户或线下二维码产品。

3. 提交商户入驻申请

申请资料一般包括韩国公司的注册信息、受益所有人信息、网站资料、预计交易规模和银行账户信息。支付机构还可能要求企业董事、法定代表人或最终受益所有人完成身份验证。

4. 接受业务及合规审核

审核内容通常包括:

  • 企业真实性核验;
  • 董事和最终受益所有人核验;
  • 网站及商品审核;
  • 制裁名单和反洗钱检查;
  • 交易规模及风险评估;
  • 银行账户归属核验;
  • 物流、退款和投诉机制审查。

如果网站尚未完善、网站显示的公司名称与申请主体不一致,或商户无法说明商品来源和履约方式,支付机构通常会要求补充材料。

5. 签订合同并确认商务条款

签订合同时,应重点确认以下条款:

  • 支付手续费;
  • 是否收取开户费、网关费或最低服务费;
  • 结算币种及换汇规则;
  • 结算周期;
  • 退款后是否退还手续费;
  • 是否设置滚动保证金;
  • 拒付和争议的处理方式;
  • 单笔及单日交易限额;
  • 禁售商品范围;
  • 提前终止合同和暂缓资金结算的条件。

消费者支付币种、订单币种和商户结算币种可能并不相同,应要求服务商提供完整的汇率计算示例。

6. 开通测试环境并完成技术接入

审核通过后,平台会提供商户号、测试环境、SDK 或 API 文档,以及签名密钥或证书的配置方法。典型的支付流程如下:

  1. 商城后端创建本地订单;
  2. 后端调用支付机构的创建支付接口;
  3. 前端跳转至或展示支付宝收银台;
  4. 用户在支付宝中确认付款;
  5. 支付机构向商城后端发送异步通知;
  6. 商城验证签名,并主动查询支付结果;
  7. 确认支付成功后更新订单并履约;
  8. 每日下载账单并完成对账。

7. 联调、验收并上线

上线前至少应测试以下情况:

  • 正常支付;
  • 用户取消支付;
  • 支付超时;
  • 重复通知;
  • 全额及部分退款;
  • 金额或币种不一致;
  • 网络超时后的主动查询;
  • 通知验签失败;
  • 重复提交订单;
  • 日终对账存在差异。

通常需要准备的材料

不同签约渠道对材料的要求可能不同,以下是常见清单。

企业材料

  • 韩国公司注册证明;
  • 商业登记证;
  • 公司章程或股东结构文件;
  • 公司注册地址证明;
  • 董事、法定代表人信息;
  • 最终受益所有人声明;
  • 董事及最终受益所有人的身份证件或护照;
  • 必要时提供文件的英文或中文翻译件。

银行材料

  • 韩国公司名下的银行账户证明;
  • 银行出具的账户文件或近期银行对账单;
  • 银行名称、账户号码、SWIFT/BIC 等信息;
  • 账户名称与签约公司名称不一致时的关系说明。

原则上应使用签约公司自己的对公账户。使用第三方账户、个人账户或关联公司账户,通常会增加审核难度。

网站及业务材料

  • 商城网址或测试账号;
  • 商品或服务说明;
  • 商品价格和币种;
  • 购买及履约流程;
  • 退款、退货和取消政策;
  • 配送范围和预计时效;
  • 隐私政策和用户协议;
  • 客服邮箱、电话及营业地址;
  • 供应商合同、采购凭证或品牌授权文件;
  • 预计月交易额、平均客单价和退款率;
  • 已开展业务时的历史交易数据。

商城页面显示的公司名称最好与签约主体一致。如果商城使用品牌名称,应在网站中说明该品牌与韩国公司的关系。

后端接入示例

实际接口地址、请求字段、签名算法和 API 名称,必须以签约后取得的官方文档为准。下面的代码只用于说明安全的后端处理结构,并不对应某个支付产品的正式接口。

import express from "express";

const app = express();
app.use(express.json());

app.post("/checkout", async (req, res) => {
  const order = await createLocalOrder({
    merchantOrderId: crypto.randomUUID(),
    amount: req.body.amount,
    currency: req.body.currency,
    status: "PENDING"
  });

  // paymentClient 由签约平台提供的官方 SDK 初始化。
  const payment = await paymentClient.createPayment({
    merchantOrderId: order.merchantOrderId,
    amount: {
      value: order.amount,
      currency: order.currency
    },
    paymentMethod: "ALIPAY",
    returnUrl: "https://shop.example.kr/payment/return",
    notificationUrl: "https://shop.example.kr/webhooks/payment"
  });

  res.json({
    orderId: order.merchantOrderId,
    checkoutUrl: payment.checkoutUrl
  });
});

处理异步通知时,不能只读取请求中的 status 字段。系统必须先验证签名,再核对订单号、金额和币种:

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

  const valid = paymentClient.verifyNotification({
    body: req.body,
    signature
  });

  if (!valid) {
    return res.status(400).send("invalid signature");
  }

  const localOrder = await findOrder(req.body.merchantOrderId);

  if (!localOrder) {
    return res.status(404).send("order not found");
  }

  if (
    localOrder.amount !== req.body.amount.value ||
    localOrder.currency !== req.body.amount.currency
  ) {
    return res.status(400).send("amount or currency mismatch");
  }

  // 通知可能重复发送,订单状态更新必须具备幂等性。
  if (localOrder.status !== "PAID") {
    const result = await paymentClient.queryPayment({
      paymentId: req.body.paymentId
    });

    if (result.status === "SUCCESS") {
      await markOrderAsPaid(localOrder.merchantOrderId, result.paymentId);
    }
  }

  res.status(200).send("success");
});

示例中的 paymentClient、createPayment、verifyNotification 及相关字段名称都是结构性占位符,不能直接作为支付宝正式 SDK 的接口使用,也不能据此猜测签名算法。

技术实现中的注意事项

金额使用最小货币单位或十进制定点数

不要直接使用二进制浮点数计算金额。接口要求传入整数最小单位还是十进制字符串,应以正式文档为准。

const amount = "129900"; // 示例值,单位含义由具体接口规定

商户订单号必须唯一

同一个订单再次发起支付时,应按照平台的幂等规则处理,避免重复扣款。服务端还需要保存支付单号与商城订单号之间的对应关系。

以服务端结果为准

用户跳回 returnUrl,只能说明浏览器完成了跳转,不能证明支付已经成功。发货前,应结合异步通知和主动查询接口确认支付状态。

正确保存原始通知数据

可以保留通知原文、请求头、验签结果和处理时间,但不要在日志中记录完整身份证件、银行卡信息、密钥或非必要的个人数据。

使用官方 SDK 管理签名

私钥、证书和 API 凭证只能保存在服务端,并通过密钥管理系统或受控环境变量加载。不得将这些信息写入网页 JavaScript、App 包或代码仓库。

容易忽略的事项

  • 支付宝支付成功,不代表韩国出口申报、税务处理或中国进口清关已经完成。
  • 销售实物商品时,应保存订单、支付、物流和签收信息,用于处理投诉和风险审查。
  • 退款通常必须原路退回,不能私下转入其他支付宝账户。
  • 合同约定的结算周期不等于实际到账时间。到账还可能受到周末、节假日、外汇兑换和风控审核影响。
  • 不要用中国关联公司的名义签约后,再私下将资金转给韩国公司,除非相关交易、税务和资金关系真实,并得到收单机构认可。
  • 网站上线后,如果新增高风险商品、改变经营模式或大幅提高交易额,应提前通知支付机构。
  • “支付宝境外收款码”通常用于线下门店,不能直接用于商城网站的在线收银。
  • API 产品名称和开放范围可能因地区、签约渠道及业务类型而异,应以申请时的商户后台、正式合同和对应技术文档为准。

如果韩国企业还没有确定服务商,可以先完善商城中的公司信息、退款和物流政策及商品页面,同时整理公司注册、最终受益所有人和对公银行账户材料,再向官方跨境业务渠道或韩国当地合规 PSP 提交预审。

备注:内容仅供参考。