v1.0.9 · 2026-06-21

越南支付 API 文档 | ucake API Docs

越南支付系统标准接口,覆盖代付、代付查询、虚拟账户创建、虚拟账户关闭、虚拟账户查询、公司余额查询、动态二维码创建与异步通知。

Base path: /vnpay/api/v1

API 接口

代付 API

POST /vnpay/api/v1/payment

调用该接口对用户银行账号进行放款。

请求字段

  • amount - integer - 必须 - 打款金额(金额区间50,000-50,000,000)
  • orderNo - string - 必须 - 商户订单号(唯一,每次调用不可重复)
  • accountName - string - 必须 - 用户姓名
  • phoneNo - string - 非必须 - 用户手机号
  • accountNo - string - 必须 - 用户账号
  • accountType - integer - 必须 - 账户类型:0.账号 1.卡号
  • bankCode - string - 必须 - 银行代码
  • message - string - 必须 - 打款备注
  • returnURL - string - 必须 - 回调通知地址
  • companyID - string - 必须 - 后台分配的公司ID
  • merchantID - string - 必须 - 后台分配的商户ID
  • timestamp - number - 必须 - 时间戳
  • sign - string - 必须 - 签名

返回字段

  • amount - integer - 交易金额
  • orderNo - string - 传入的商户订单号
  • tradeNo - string - 交易流水号
  • createTime - string - 交易创建时间(时间格式为 yyyy-MM-dd HH:mm:ss)
  • updateTime - string - 交易最后更新时间时间
  • bankCode - string - 银行代码
  • phoneNo - string - 手机号码
  • accountName - string - 用户姓名
  • accountNo - string - 用户账号
  • accountType - integer - 账户类型
  • message - String - 备注

代付结果查询 API

GET /vnpay/api/v1/paymentResult

代付响应为处理中时,可等待通知,也可主动查询。

请求字段

  • orderNo - string - 必须 - 代付接口传入的订单编号
  • tradeNo - string - 必须 - 代付接口响应交易流水号
  • companyID - string - 必须 - 后台分配的公司ID
  • merchantID - string - 必须 - 后台分配的商户ID
  • sign - string - 必须 - 签名
  • timestamp - number - 必须 - 时间戳

返回字段

  • amount - integer - 交易金额
  • orderNo - string - 商户订单号
  • tradeNo - string - 交易流水号
  • createTime - string - 交易创建时间
  • updateTime - string - 交易最后更新时间时间
  • bankCode - string - 银行代码
  • phoneNo - string - 手机号码
  • accountName - string - 用户姓名
  • accountNo - string - 用户账号
  • accountType - integer - 账户类型
  • message - string - 备注

创建虚拟账户

POST /vnpay/api/v1/createVirtualCard

生成虚拟账户,可返回账户号码、QRCode 字符串和 VietQR 图片链接。

请求字段

  • orderNo - string - 必须 - 交易订单号
  • accountName - string - 非必须 - 虚拟账户名称
  • phoneNo - string - 非必须 - 用户手机号
  • bankCode - string - 非必须 - 申请虚拟账户的银行
  • companyID - string - 必须 - 后台分配的公司ID
  • merchantID - string - 必须 - 后台分配的商户ID
  • timestamp - string - 必须 - 时间戳
  • sign - string - 必须 - 签名
  • totalFee - Long - 非必须 - 收款金额

返回字段

  • orderNo - string - 交易订单号
  • bankCode - string - 银行Code
  • accountName - string - 账户名称
  • accountNo - string - 账户号码
  • accountStatus - integer - 状态 0关闭 1 正常
  • createdTime - string - 创建时间
  • expireTime - string - 过期时间
  • closeTime - string - 关闭时间
  • QRCode - String - 二维码的字符串信息
  • QRImgUrl - String - VietQR图片链接

关闭虚拟账户

POST /vnpay/api/v1/closeVirtualCard

关闭指定虚拟账户,返回关闭后的账户状态。

请求字段

  • accountNo - string - 非必须 - 创建时返回的银行账号
  • bankCode - string - 非必须 - 银行code
  • companyID - string - 非必须 - 后台分配的公司ID
  • merchantID - string - 非必须 - 后台分配的商户ID
  • timestamp - integer - 非必须 - 时间戳
  • sign - string - 非必须 - 签名

返回字段

  • bankCode - string - 银行Code
  • accountName - string - 账户名称
  • accountNo - string - 账户号码
  • accountStatus - integer - 状态 0关闭 1 正常
  • createdTime - string - 创建时间
  • expireTime - string - 过期时间
  • closeTime - string - 关闭时间

查询虚拟账户

GET /vnpay/api/v1/queryVirtualCard

按 bankCode、accountName、accountNo 查询虚拟账户状态。

请求字段

  • bankCode - string - 是 - 银行Code
  • accountName - string - 是 - 账户名称
  • accountNo - string - 是 - 账户号码
  • companyID - string - 是 - 后台分配的公司ID
  • merchantID - string - 是 - 后台分配的商户ID
  • sign - string - 是 - 签名
  • timestamp - string - 是 - 时间戳

返回字段

  • bankCode - string - 银行Code
  • accountName - string - 账户名称
  • accountNo - string - 账户号码
  • accountStatus - integer - 状态 0关闭 1 正常
  • createdTime - string - 创建时间
  • expireTime - string - 过期时间
  • closeTime - string - 关闭时间

查询公司余额

POST /vnpay/api/v1/queryBalance

查询公司账户当前余额。

请求字段

  • companyID - string - 必须 - 后台分配的公司ID
  • merchantID - string - 必须 - 后台分配的商户ID
  • sign - string - 必须 - 签名
  • timestamp - integer - 必须 - 时间戳

返回字段

  • companyID - string - 后台分配的公司ID
  • merchantID - string - 后台分配的商户ID
  • balance - string - 公司当前余额

创建动态二维码

POST /vnpay/api/v1/createDynamicQr

创建指定金额的动态二维码,返回二维码字符串和有效期。

请求字段

  • merchantID - string - 必须 - 后台分配的商户ID
  • companyID - string - 必须 - 后台分配的公司ID
  • orderNo - string - 必须 - 交易订单号
  • amount - Long - 必须 - 收款金额
  • message - string - 非必须 - 备注
  • timestamp - string - 必须 - 时间戳
  • sign - string - 必须 - 签名

返回字段

  • orderNo - string - 交易订单号
  • amount - Long - 收款金额
  • expiresAt - string - 动态二维码有效期截止时间
  • qrCode - String - 二维码字符串信息

异步通知

代付结果通知

代付接口传入的地址

处理中的代付有结果后,调用代付接口传入的地址进行通知。

  • companyID - string - 公司ID
  • merchantID - string - 商户Id
  • orderNo - string - 商户订单号
  • tradeNo - string - 交易流水号
  • bankCode - string - 银行代码
  • accountNo - string - 账户号码
  • amount - number - 交易金额
  • message - string - 打款备注
  • result - String - 交易失败时的错误原因
  • updateTime - String - 交易更新时间
  • status - number - 交易状态 0 成功 3交易失败 4交易取消
  • sign - string - 签名

代收结果通知

商户后台配置的通知地址

虚拟账户收到款项后,将收款信息发送到合作方。

  • companyID - string - 公司ID
  • merchantID - string - 商户Id
  • orderNo - string - 商户订单号
  • tradeNo - string - 交易流水号
  • bankCode - string - 银行代码
  • accountNo - string - 虚拟账户号
  • amount - number - 收款金额
  • message - string - uupay返回的交易信息
  • senderName - string - 付款人
  • senderAccount - string - 付款账号
  • senderBankCode - string - 付款银行code
  • sign - string - 签名

退款通知

商户后台配置的退款通知地址

订单退款成功后,将退款信息发送到合作方。

  • companyID - string - 公司ID
  • merchantID - string - 商户Id
  • orderNo - string - 商户订单号
  • tradeNo - string - 交易流水号
  • bankCode - string - 银行代码
  • accountNo - string - 银行账户号
  • amount - number - 交易金额
  • updateTime - string - 更新时间
  • status - string - 状态:5-已退款
  • sign - string - 签名