AinePay
EN中文
快速开始

如何集成

实际操作中,商户通常先在自己的系统中创建业务订单,然后在需要支付时调用 AinePay 的收银台或者 inline 支付方式,将返回的稳定币支付信息展示给客户,商户系统接收推送和查询 AinePay 来更新订单支付信息,完成整个交易流程。

1. 获取支持的币种和链

在向客户展示支付方式之前,商户应调用 支持的币种 API 来获取 AinePay 当前可用的币种和链。

目前,AinePay 支持以太坊链的 USDTUSDC,之后将陆续添加广泛使用的稳定币及其支持的区块链。

币种链名称合约
USDTETHEthereum(ERC20)0x630E906E953Da1808a7DB78cCA9FdFde2029aEB9
USDCETHEthereum(ERC20)0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

2. 选择支付方式后创建支付订单

选择支持的支付方式后,商户应在自己的后端组装订单并通过相应的 API 将支付请求发送到 AinePay 支付系统。请求中应包含商户确定该订单的唯一 ID,AinePay 使用该 ID 来防止同一订单被重复支付。

AinePay 目前支持两种支付集成模式:

  1. 收银台模式:调用 创建收银台订单 获取 AinePay 托管收银台的支付 url 并跳转到该页面完成支付,商户不用自己来定义支付流程和客户交互 UI,AinePay 已帮您完成了支付页面的设计。
  2. AinePay 内嵌模式:调用 创建内嵌订单来接收支付地址数据,并在您自己的产品界面中渲染支付体验。当您需要自定义支付流程,做完善的数据 校验时可以使用此方式。

两种模式都在 AinePay 中创建订单,主要区别在于客户是被重定向到 AinePay 托管页面,还是商户在自己的界面中显示支付详情。

3. 通过回调接收支付状态变更,并通过查询 API 确认最终状态

客户支付后,AinePay 向商户通知 URL 发送异步回调来报告订单状态变更。有关回调数据和签名验证详情,请参阅 支付通知

当区块链确认数达到所需阈值时,订单状态变为 PAID,表示支付完成。回调应被视为状态转换的快速通知渠道,商户应始终使用 查询订单 API 确认订单状态。

状态含义
INIT订单已创建,等待支付。
PENDING区块链已存在转账,但交易未最终确认,支付进行中。
PAID支付成功。
EXPIRED订单过期,支付失败且不能重新支付。

PAIDEXPIRED 是最终状态,不要将 PENDING 视为最终业务结果,仅当查询订单状态为 PAID 时才继续之后的履约流程。

4. 过期订单处理

AinePay 维护了完整的用户账户记录,如果订单变为 EXPIRED 或其他异常情况导致该笔订单失败,但用户之后仍然发送了资金,该笔资金会记录在用户的账户余额中。当商户为同一用户创建下一个订单时,会首先尝试使用该用户可用账户余额进行结算,如果可用余额足够,订单直接变为 PAID,用户无需再次支付。