NewPay
DEVELOPER DOCUMENTATION

开发者文档

面向商户、平台和开发者的接入文档。这里整理 NewPay 线上支付、反扫收款、退款、订单查询、回调、签名验签与业务码说明。

没有找到匹配内容。可以尝试搜索接口名、字段名或业务关键词。

接入概览

商户入驻通过后,NewPay 会提供应用和商户维度的接入信息。请在服务端完成接口请求、签名、验签、订单状态查询和回调处理。

接入流程
  1. 1
    获取接入资料
    准备 appId、merchantId / mchId、商户私钥和平台公钥。私钥用于请求签名,平台公钥用于响应或回调验签。
  2. 2
    选择支付场景
    根据业务选择线上收银台、H5 支付、微信小程序、NewPay App 支付或线下反扫收款。
  3. 3
    接入核心接口
    通常先接入统一下单,再补充订单查询、退款、退款查询和回调通知。
  4. 4
    上线前联调
    完成签名验签、回调幂等、订单状态兜底查询和异常状态处理后再上线。

V2 API

V2 是当前推荐整理的接口组。所有接口使用 JSON 请求,核心字段包括 appId、mchId、订单号、金额、币种和 sign。

推荐接口

统一下单

POST

https://prod-openapi-v2.newpay.la/beta/pay/unifiedOrder

用于获取收银台地址或支付引用信息。商户拿到 payReference 后,可引导用户进入对应支付流程。

appIdmchIdmchOrderNochannelcurrencyorderAmtcallBackUrlsign

查询订单

POST

https://prod-openapi-v2.newpay.la/beta/pay/uniQueryPay

用于查询支付订单状态。newpayOrderNo 和 mchOrderNo 至少提供一个,建议作为回调后的兜底查询。

appIdmchIdnewpayOrderNomchOrderNosign

发起退款

POST

https://prod-openapi-v2.newpay.la/beta/pay/uniRefund

对已支付订单发起退款。需提交 NewPay 支付订单号、商户退款号、退款金额和签名。

appIdmchIdnewpayOrderNomchRefundNorefundAmtcallbacksign

查询退款

POST

https://prod-openapi-v2.newpay.la/beta/pay/uniQueryRefund

用于查询退款处理结果。newpayRefundNo 与 mchRefundNo 至少提供一个。

appIdmchIdnewpayRefundNomchRefundNosign

查询用户信息

POST

https://prod-openapi-v2.newpay.la/beta/mch/queryUserInfoByToken

通过用户 token 查询 NewPay 用户信息,适用于需要同步用户身份的业务场景。

appIdtimestamptokensign

支付与退款回调

POST

商户下单或退款时提交的 callBackUrl / callback

NewPay 会向商户服务端通知支付或退款结果。商户需验签,并按订单号做幂等处理。

payStatusorderTypenewpayOrderNomchOrderNosettlementStatussign

线下反扫收款

适用于传统线下商户。收银设备读取用户付款码后,由商户服务端创建收款订单,并通过回调和查询确认结果。

线下商户

创建反扫订单

POST

https://prod-openapi-v2.newpay.la/beta/codeScanner/createOrder

提交用户付款码 authCode、订单金额、币种、商户订单号和回调地址,返回 NewPay 订单号、订单状态和渠道信息。

appIdmchIdauthCodeamountcurrencymchOrderNocallbackUrlsign

NewPay H5 支付集成

H5 场景需要完成用户身份同步、订单构造、获取 payUrl、唤起原生支付页面,并在用户返回后查询最终订单状态。

H5 接入
  1. 1
    用户身份同步
    业务方通过 userToken / userId 与 NewPay 用户建立关联。
  2. 2
    创建订单并获取 payUrl
    调用统一下单接口,拿到 NewPay 返回的支付引用地址。
  3. 3
    唤起支付页面
    通过 NewPay 指定协议打开原生支付模块,并传入 redirectUrl。
  4. 4
    查询最终状态
    用户返回商户页面后,商户系统应查询订单状态,处理 SUCCESS、PENDING、FAIL 或 CANCEL。

签名、验签与回调

所有生产接口都应在服务端完成签名和验签。签名字段不参与待签字符串,非空字段按字典序排序后拼接,再使用 SHA256withRSA。

安全与验签
项目规则建议
请求签名非空参数按字典序排序,拼接为 param1=val1&param2=val2,再使用商户私钥签名。在服务端完成,不要暴露私钥。
响应验签按同样规则拼接响应字段,使用 NewPay 平台公钥验签。验签通过后再更新业务订单。
支付回调回调包含 payStatus、orderType、金额、订单号、支付时间和 sign。按 mchOrderNo / newpayOrderNo 做幂等。
退款回调退款结果通过退款时提交的 callback 地址通知。仍建议结合退款查询接口兜底。

业务码与订单状态

接口返回包含 success、message、code、timestamp 和 data。订单状态字段用于判断支付、退款和超时等业务结果。

业务码
状态值含义业务处理建议
0create订单已创建,等待支付。
1paying支付处理中,可轮询查询。
3success支付成功,可进入履约流程。
4 / 5 / 6refunding / partial refund / refunded退款中、部分退款或已退款。
7 / 8 / 9 / 10cancel / expired / cancelled / failed订单取消、超时或失败,可引导用户重新支付。

API 目录与接口索引

覆盖 V1 Deprecated、微信支付接口、通用 API、支付能力、签名验签、业务码和联系方式等内容,便于合作方按模块查询。

API 索引

基础章节

什么是 NewPay、接入流程、支付能力,覆盖 NewPay 简介、申请流程、网站和 App 支付能力。

appIdmerchantIdprivateKeypublicKey

V1 接口(已废弃)

POST

/api/open/converge/pay/v1/createOrder

V1 聚合支付接口,包含 Website 与 Mobile 两类 createOrder 路径。新接入建议优先使用 V2。

payMethodorderAmtorderNocallBackUrlpayUrl

微信支付相关接口

POST

/api/open/converge/pay/v2/createOpenMini
/api/open/converge/pay/v2/getMiniPayment

覆盖微信小程序下单、获取支付信息、流程图和示例。老挝场景受微信官方限制,需结合小程序能力。

envVersionwxCodeprepay_idwx.requestPayment

通用 API

POST

通用 API 包含支付查询、退款、退款查询、预支付、用户查询、转账、转账订单查询和订单确认。

Inquiry PaymentRefundPre PaymentTransferOrder Confirmation

NewPay API 文档

面向合作方提供完整 API 参考,包含接口路径、字段说明、表格、代码示例、流程图片和业务码,便于开发、联调与上线核对。

API 文档

1. 什么是 NewPay

NewPay 是面向老挝市场的合规支付与跨境收单服务平台,为商户、平台及机构合作伙伴提供二维码支付、线上收银台、跨境钱包受理、交易管理、结算对账、退款及风控合规等服务。

  • 面向商户、平台和机构合作伙伴,NewPay 提供统一接入本地及跨境支付方式的能力。
  • 开发者文档聚焦支付接入、订单、退款、回调、签名验签和业务码等技术说明。
  • 本页面已移除与当前支付业务无关的生活服务和泛金融服务定位描述。
NewPay 平台能力示意图

2. 接入流程

1. 概览

NewPay API 接入流程图

2. 接入说明

商户需要向 NewPay 商户平台提交接入申请资料。

NewPay 商户平台管理员会根据商户提交的资料创建 API 网络虚拟商户。

开发者中心会为该 API 网络虚拟商户生成接入资料,并发送给商户。

3. API 接入资料

名称说明
appId商户应用的 Application ID
merchantId商户 ID
privateKey用于对请求参数进行数字签名的商户私钥
publicKey用于验证响应消息数字签名的平台公钥

3. 支付能力

1. 概览

为支持网站、移动 App、商户平台和线下支付等场景,NewPay 为商户提供以下支付能力,便于快速完成接入。

2. 能力说明

2.1 网站支付能力

支付方式适用场景支付工具支付币种
NewPay为商户网站应用提供 NewPay 支付能力,用户使用 NewPay App 扫描商户二维码完成支付。QR 代码LAK
MasterCard为商户网站应用提供 MasterCard 支付能力,用户通过 MasterCard 表单页面完成支付。MasterCardUSD

2.2 App 支付能力

支付方式适用场景支付工具支付币种
NewPay为商户 App 提供 NewPay 支付能力,用户可直接使用 NewPay App 支付。NewPay APPLAK
MasterCard为商户 App 提供 MasterCard 支付能力,用户通过 MasterCard H5 页面完成支付。MasterCardUSD

3. 网站支付流程

1. 概览

该能力适用于商户 PC 网站侧的支付场景。

2. 支付流程

2.1 NewPay 支付流程
NewPay 网站支付流程图
  1. 客户在商户网站应用(MWA)中选择 NewPay 支付方式并提交支付。
  1. NewPay 平台生成支付订单,并返回订单二维码。
  1. MWA 展示二维码,客户使用 NewPay App 扫码支付。
  1. 支付完成后,NewPay 平台向 MWA 服务端通知交易结果,并跳转到交易结果页面 URL。
2.2 MasterCard 支付流程
MasterCard 网站支付流程图
  1. 客户在商户网站应用(MWA)中选择 MasterCard 支付方式并提交支付。
  1. NewPay 平台生成支付订单,并返回 MasterCard 支付表单页面 URL。
  1. MWA 展示支付表单页面,客户填写 MasterCard 信息。
  1. 支付完成后,NewPay 平台向 MWA 服务端通知交易结果,并跳转到交易结果页面 URL。

4. App 支付流程

1. 概览

该能力适用于商户移动 App 侧的支付场景。

2. 支付流程

2.1 NewPay 支付流程
NewPay App 支付流程图
  1. 客户在商户移动应用(MMA)中选择 NewPay 支付方式并提交支付。
  1. NewPay 平台生成支付订单,并返回用于确认订单信息的 H5 页面 URL。
  1. 客户确认打开 NewPay App 完成支付。
  1. 支付完成后,NewPay 平台向 MMA 服务端通知交易结果,并跳转到交易结果 H5 页面 URL。
2.2 MasterCard 支付流程
MasterCard App 支付流程图
  1. 客户在商户移动应用(MMA)中选择 MasterCard 支付方式并提交支付。
  1. NewPay 平台生成支付订单,并返回 MasterCard 支付表单页面 URL。
  1. MMA 展示 MasterCard H5 支付表单页面,客户填写 MasterCard 信息。
  1. 支付完成后,NewPay 平台向 MWA 服务端通知交易结果,并跳转到交易结果 H5 页面 URL。

4.1. Converge Payment API

Converge Payment 支持除微信小程序支付以外的场景。微信小程序支付请参考 4.2. 微信支付 API

1. 概览

通过该 API 获取收银台页面地址。获取地址后,可将用户跳转到收银台页面完成支付。

2. 请求说明

  • Method: post
  • 接口路径
html
For Website: https://prod-openapi.newpay.la/api/open/converge/pay/v1/createOrder
For Mobile: https://prod-openapi.newpay.la/api/open/converge/pay/v1/m/createOrder

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
payMethod支付方式:1.NewPay;3.VISA;5 WeChat;6 Alipayinttrue
currency支付币种,LAK/USDstringtrue
orderAmt支付金额stringtrue
orderNo订单号,由商户分配,用于标识一次支付请求。stringtrue
callBackUrl支付结果通知 URLstringtrue
successPageUrl支付成功后的跳转地址stringtrue
failurePageUrl支付失败后的跳转地址stringtrue
cancelPageUrl取消支付后的跳转地址stringtrue
subject商品标题,如使用 Alipay,则必填。stringfalse
extra第三方订单补充字段,如使用 Alipay,应包含 ANDROID 或 IOS。stringfalse

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> orderAmt支付金额string
> payUrl支付地址string
> orderNo订单号string
> newpayOrderNoNewPay 订单号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": {{current_timestamp}},
    "sign": "{{sign}}",
    "payMethod": 1,
    "extra": "",
    "currency": "LAK",
    "orderAmt": 50000,
    "merchantId": "876266cdc7154dd08a022fd1f2eace55",
    "orderNo": "ORDERNO000000000A104",
    "subject": "name002",
    "callBackUrl": "www.1231123.com",
    "successPageUrl": "https://prod.newpay.la:8071/jdb/success.html",
    "failurePageUrl": "https://prod.newpay.la:8071/jdb/failure.html",
    "cancelPageUrl": "https://prod.newpay.la:8071/jdb/cancel.html"
}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "3514d69403bc4ce1a8fafb6415a31018",
        "sign": "ALa4W6EDAKpZGEuCfpmemOA346bZw6CGrbsy6Xo6J2wYLOldSUrUVyEI0DLpZmHU9tIVp4gi/DENq3rj/nZtXn9grXWhLbX4G+IMEVb3TKEIwTDWZ++I1OfgtuUxOHof711p6A4ga95Xm645Qly/HV8YHoogI7SOw/w352TElhw37o/pIKsSWfeTpXtpfjRs3o69x4EVpDQ0DmYW5zVBCEriBqHvLqjbacOl3HGTa93oALbgQKa5ftAENBOmxi1zNxCOsY+Ecq4apK3tdma1RL+AmrBgmQu8O2vEIWBmlSxg1CY1ZUw2IHixV8D2HHHAn7RQjoDDFePelyB+CLS3GA==",
        "tranAbbr": "FP1005",
        "tranNo": "00012022090700000015",
        "orderAmt": "50000",
        "payUrl": "http://192.168.10.105:8072/BECLPay/page.html?orderNo=202209076000000321",
        "orderNo": "ORDERNO000000000A104",
        "newpayOrderNo": "202209076000000321"
    },
    "code": "0",
    "timestamp": "1662521235625"
}

4. 唤起 NewPay App

通过订单响应数据中的 payUrl 字段使用 AppLink 唤起 NewPay 支付。

4.1 iOS

objective-c 示例:

objective-c
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:response.data.payUrl] options:@{} completionHandler:nil];

swift 示例:

swift
let url = URL(string: response.data.payUrl)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)

4.2 Android

Java 示例:

java
String payUrl= response.getData().getPayUrl();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(payUrl));
startActivity(intent);

Kotlin 示例:

java
val payUrl = response?.data?.payUrl!!;
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(payUrl))
startActivity(intent)

4.2.2 创建订单

1. 概览

通过该 API 处理微信支付小程序支付。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v2/createOpenMini

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识Stringtrue
timestamp请求时间戳Longtrue
currency支付币种,LAK/USDStringtrue
orderAmt支付金额,USD 支持 2 位小数,LAK 为整数。Stringtrue
merchantId第三方商户的唯一标识Stringtrue
orderNo订单号,由商户分配,用于标识一次支付请求。Stringtrue
subject商品标题Stringfalse
callBackUrl支付结果通知 URLStringtrue
envVersion小程序版本,release/trial。注意:trial 版本仅支持在微信环境外使用。
trial 跳转工具:http://47.108.185.11:19000/
Stringfalse
sign数据签名Stringtrue

3. 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> currency支付币种,LAK/USDstring
> tranAbbr交易类型string
> tranNo交易流水号string
> orderAmt支付金额string
> payUrl支付地址string
> orderNo订单号string
> newpayOrderNoNewPay 订单号string

4.2.3 获取支付信息

1. 概览

通过该 API 获取支付信息,然后调用 wx.requestPayment(OBJECT), 查看微信文档

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v2/getMiniPayment

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
code小程序登录时获取,参考 此文档Stringtrue
newpayOrderNoNewPay 订单号,从 scheme-url 获取Longtrue
timestamp请求时间戳Longtrue

3. 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> paySign微信生成的签名字符串,参考 此文档string
> signType默认 RSAstring
> nonceStr随机字符串string
> package外部参数,例如 prepay_id=wx201410272009395522657a690389285100string

4.2.4 示例

jsx
// parse the orderNo from url
App({
  paymentData:{
    orderNo:null
  },
  onShow: function (options) {
    // 解析 scheme URL 中的参数 : {orderNo: "202508251000251204"}
    console.log('启动参数:', options.query);
    if (options && options.query) {
        Object.assign(this.paymentData, options.query);
    }
  }
})

// awake the wechat cashier to pay
const cashier = function (param) {
    wx.requestPayment({
        "timeStamp": param.timeStamp,
        "nonceStr": param.nonceStr,
        "package": param.package,
        "signType": param.signType,
        "paySign": param.paySign,
        "success": function (res) {
            //路由到成功页面
        },
        "fail": function (res) {
            //路由到失败页面
        },
        "complete": function (res) {}
    })
}

// Obtain payment info 
const payment = function(orderNo){
    wx.login({
        success: res => {
            debugger
            wx.request({
                url: 'http://192.168.0.20:8181/api/open/converge/pay/v2/getMiniPayment',
                method: 'POST',
                data: {
                    code: res.code,
                    newpayOrderNo: orderNo,
                    timestamp: Date.now()
                },
                header: {
                    'content-type': 'application/json;charset=UTF-8'
                },
                success(res) {
                    console.log(res.data);
                    if(res.data.code !== '0'){
                        wx.showToast({
                            title: res.data.message,
                            icon: 'none', 
                            duration: 3000
                          });
                        return;  
                    }
                    cashier(res.data.data.resMap)
                },
                fail(err) {
                    console.error('请求失败:', err);
                }
            });
        }
    });
}

Page({
    data: {
        message: '',
    },
    onReady() {
        // step 1: parse orderNo from url
        const app = getApp();
        const orderNo = app.paymentData.orderNo;
        console.log(orderNo);
        if(orderNo){
            // step2: payment
            // step2.1: wx.login to get the code
            // step2.2: obtain payment info
            // step2.3: awake cashier to pay
            payment(orderNo);
        }
    },
})

4.3.1 查询支付

1. 概览

通过该 API 查询已提交支付请求的交易状态及相关信息。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/get

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
orderNo订单号stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> transStatus交易状态:1-success;0-failure;2-processingint
> transInfo失败原因string
> payMethod支付方式:1.NewPay;4.MasterCard;int
> extra第三方订单补充字段string
> orderNo订单号string
> newpayOrderNoNewPay 订单号string
> currency支付币种,LAK/USDstring
> orderAmt支付金额string
> subject商品标题string
> settlementStatus结算状态:1-未结算;2-已结算int

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": {{current_timestamp}},
    "sign": "{{sign}}",
    "merchantId": "876266cdc7154dd08a022fd1f2eace55",
    "orderNo": "ORDERNO000000000A104"
}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "3514d69403bc4ce1a8fafb6415a31018",
        "sign": "OUUz/cvUfo4m3IcndGByEKjT/pUOSyf0qhMV+lbKdilMxZgErjmTrB6xYmvMvhJpQFcRbGJFsn9B1WxNi330K1gY5ANXD2ttEIqV0IROm3M/o43rMu1tjVLk5ZBMP2D2l28zsYh9tyX8Zd8CzIxw10YT8Hkgvbh3bTP/vsRv1xov/YzOhpWsvSgDIJb6eKg02BePfR8N6wLkE9FV+91JDxFvFIMCc6qR7GXEFCnrilTeas95SGcSADS2KBFSXHdP6IOjnQbQEgVoAzyLhq4pjh6DrNupduknOKagB9CEKB1yEnb/zs+/WRFfP3VgBj0MIUideXEAvVJzp4CoZ5q7cA==",
        "tranAbbr": "FP1003",
        "tranNo": "00012022090700000033",
        "transStatus": 0,
        "transInfo": "Transaction Success",
        "payMethod": 1,
        "extra": "",
        "orderNo": "ORDERNO000000000A104",
        "newpayOrderNo": "202209076000000321",
        "currency": "LAK",
        "orderAmt": "50000",
        "subject": "name002",
        "settlementStatus": 1
    },
    "code": "0",
    "timestamp": "1662528566437"
}

4.3.2 退款

1. 概览

通过该 API 对成功支付的订单发起退款。退款可以是全额或部分退款。同一笔交易可以发起多次退款,但累计退款金额不得超过原交易金额。若退款请求超出合同约定的退款窗口,将被拒绝。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/refund

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
refundOrderAmt退款金额stringtrue
orderNo订单号stringtrue
refundOrderNo退款订单号stringtrue
refundDesc退款原因stringtrue
callBackUrl退款回调地址stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranStatus交易状态:1-success;0-failureint
> tranInfo交易信息string
> refundOrderAmt退款金额string
> payMethod支付方式:1.NewPay;4.MasterCard;int
> currency支付币种,LAK/USDstring
> orderNo订单号string
> refundOrderNo退款订单号string
> newpayRefundOrderNoNewPay 退款订单号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": {{current_timestamp}},
    "sign": "{{sign}}",
    "refundOrderAmt": 50000,
    "merchantId": "876266cdc7154dd08a022fd1f2eace55",
    "orderNo": "ORDERNO000000000A104",
    "refundOrderNo": "ORDERNORFD000000000A104",
    "refundDesc": "reason",
    "callBackUrl": "www.google.com"
}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": null,
    "code": "0",
    "timestamp": "1662528697925"
}

4.3.3 查询退款

1. 概览

通过该 API 查询已提交退款请求的退款状态。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/getRefund

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
refundOrderNo退款订单号stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> tranStatus交易状态:1-success;0-failureint
> tranInfo交易信息string
> refundOrderAmt退款金额string
> payMethod支付方式:1.NewPay;4.MasterCard;int
> currency支付币种,LAK/USDstring
> orderNo订单号string
> newpayOrderNoNewPay 订单号string
> refundOrderNo退款订单号string
> newpayRefundOrderNoNewPay 退款订单号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": {{current_timestamp}},
    "sign": "{{sign}}",
    "refundOrderNo": "ORDERNORFD000000000A104",
    "merchantId": "876266cdc7154dd08a022fd1f2eace55"
}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "3514d69403bc4ce1a8fafb6415a31018",
        "sign": "MOGEIGrrLD4BvZTgxETIIm4m3vfHXECIXbB1nPfOCimfNc1c59h2bccHSuBsXprgGmkGoh4AjCkQBtQ9u0Ui0AOfSmtSJnnYshk7beSdmNzl+CAK0RkrrQfQaauoBLxQa7odhMy7WhFQF7XL+4dLih8RK6kpZPPiBwUNyiC+69sc00I+IuEJfcTUydMPjCl1U3Qq1dS9igGOWrwE5McMAFLPpWTi1B5tbv9FC8SQUtNRPv3ckIUrkC0U0uXKspXG2iPIeM49Jck8ZEwql22yzjvR0bMnVL6TBkysooCGLW/ETFT5+EUWrPkp7pz7AnPt2VT2sVWIpllw/H4zLYpLog==",
        "tranAbbr": null,
        "tranNo": "00012022090700000037",
        "refundSuccess": true,
        "refundOrderAmt": "50000",
        "payMethod": 1,
        "currency": "LAK",
        "orderNo": "ORDERNO000000000A104",
        "newpayOrderNo": "202209076000000321",
        "refundOrderNo": "ORDERNORFD000000000A104",
        "newpayRefundOrderNo": "202209078000000702"
    },
    "code": "0",
    "timestamp": "1662528718641"
}

4.3.4 预支付

1. 概览

通过该 API 获取预支付收银台页面地址。获取地址后,可将用户跳转到收银台页面完成预支付。

2. 请求说明

  • Method: post
  • 接口路径
text
For Website:  
https://prod-openapi.newpay.la/api/open/converge/pay/v1/createOrderPrePayment
For Mobile:  
https://prod-openapi.newpay.la/api/open/converge/pay/v1/m/createOrderPrePayment

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
payMethod支付方式:1.NewPay;4.MasterCard;5.WeChatinttrue
currency支付币种,LAK/USDstringtrue
orderAmt支付金额stringtrue
orderNo订单号,由商户分配,用于标识一次支付请求。stringtrue
callBackUrl支付结果通知 URLstringtrue
successPageUrl支付成功后的跳转地址stringtrue
failurePageUrl支付失败后的跳转地址stringtrue
cancelPageUrl取消支付后的跳转地址stringtrue
subject商品标题stringfalse
extra第三方订单补充字段stringfalse

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> orderAmt支付金额string
> payUrl支付地址string
> orderNo订单号string
> newpayOrderNoNewPay 订单号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": {{current_timestamp}},
    "sign": "{{sign}}",
    "payMethod": 1,
    "extra": "",
    "currency": "LAK",
    "orderAmt": 50000,
    "merchantId": "876266cdc7154dd08a022fd1f2eace55",
    "orderNo": "ORDERNO000000000A104",
    "subject": "name002",
    "callBackUrl": "www.1231123.com",
    "successPageUrl": "https://prod.newpay.la:8071/jdb/success.html",
    "failurePageUrl": "https://prod.newpay.la:8071/jdb/failure.html",
    "cancelPageUrl": "https://prod.newpay.la:8071/jdb/cancel.html"
}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "3514d69403bc4ce1a8fafb6415a31018",
        "sign": "ALa4W6EDAKpZGEuCfpmemOA346bZw6CGrbsy6Xo6J2wYLOldSUrUVyEI0DLpZmHU9tIVp4gi/DENq3rj/nZtXn9grXWhLbX4G+IMEVb3TKEIwTDWZ++I1OfgtuUxOHof711p6A4ga95Xm645Qly/HV8YHoogI7SOw/w352TElhw37o/pIKsSWfeTpXtpfjRs3o69x4EVpDQ0DmYW5zVBCEriBqHvLqjbacOl3HGTa93oALbgQKa5ftAENBOmxi1zNxCOsY+Ecq4apK3tdma1RL+AmrBgmQu8O2vEIWBmlSxg1CY1ZUw2IHixV8D2HHHAn7RQjoDDFePelyB+CLS3GA==",
        "tranAbbr": "FP1005",
        "tranNo": "00012022090700000015",
        "orderAmt": "50000",
        "payUrl": "http://192.168.10.105:8072/BECLPay/page.html?orderNo=202209076000000321",
        "orderNo": "ORDERNO000000000A104",
        "newpayOrderNo": "202209076000000321"
    },
    "code": "0",
    "timestamp": "1662521235625"
}

4. 唤起 NewPay App

通过订单响应数据中的 payUrl 字段使用 AppLink 唤起 NewPay 支付。

4.1 iOS

objective-c 示例:

objective-c
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:response.data.payUrl] options:@{} completionHandler:nil];

swift 示例:

swift
let url = URL(string: response.data.payUrl)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)

4.2 Android

Java 示例:

java
String payUrl= response.getData().getPayUrl();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(payUrl));
startActivity(intent);

Kotlin 示例:

java
val payUrl = response?.data?.payUrl!!;
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(payUrl))
startActivity(intent)

4.3.5 查询用户

1. 概览

通过该 API 获取 NewPay 用户信息。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/getOpenUserInfoFor

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
phoneNoNewPay 用户注册手机号stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> userMobileNewPay 用户手机号string
> userAvatarNewPay 用户头像string
> nickNameNewPay 用户昵称string
> userNameNewPay 用户名string
> fundAccountIdNewPay 用户资金账户 IDstring
> areaNewPay 用户手机号区号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": 1687494500726,
    "sign": "{{sign}}",
    "phoneNo": "+8562022214944"


}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "5afa28d9dfe94830ad67cd3a61ab8978",
        "sign": "OxIJZgYobWZKW9b1ErHAVimBVCQMo/S7t01/g8xsp2Nt1eG2PYSLl01MACo3Qgd1oBLTD2QTCPFpWZqypC79yTcUyEGEN5Phzy+0lj/+GO85CMPYjmk6Ih42swoTLAb6nb3wnUwSXTKho2RUgJ9/Bf/2yZ1/Lk6c96D3GDk+1AWJbVkUUB4YjPKZFRKLzjKItnzGUpX0eiYZcJ2ashkdHS3y0gmad7cgm+Da7hb5l/ynUQftEQU8glSgvNT3oimR81ZLQ7RD2EhCn7TRdLsHm444LRq9GLM0qoFuPMzGFL3hptark14DVSDYvJQZ46/WyE12Pvo2kruZlcd1VcByJw==",
        "tranAbbr": null,
        "tranNo": "00012023062300000009",
        "userMobile": "+8562022214944",
        "userAvatar": "https://international-prod-newpay-avatar.oss-ap-southeast-1.aliyuncs.com/defaultuserphoto.png",
        "nickName": "subscribers5747",
        "userName": "wmr1231",
        "fundAccountId": "1001211005000526",
        "area": "+86"
    },
    "code": "0",
    "timestamp": "1662521235625"
}

4.3.6 转账

1. 概览

通过该 API 使用 fundAccountId 向用户转账。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/accTransfer

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
revFundAccountIdNewPay 用户资金账户 IDstringtrue
orderAmt转账金额stringtrue
currency币种stringtrue
orderDesc描述stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> currency币种string
> orderAmt订单金额string
> orderDesc描述string
> orderNo转账订单号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": 1687494500726,
    "sign": "{{sign}}",
    "revFundAccountId": 1001211005000526,
    "orderAmt": "55",
    "currency": "LAK"


}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "5afa28d9dfe94830ad67cd3a61ab8978",
        "sign": "R2fZH0vFRu58OMYYeyb3Sq9mPrIiMo6BS1jALw0vEuPSYMnr8E0rRaga0v2MosIhpw7204r646b4GtuewMexKlSKtSKYpiUzWKT0aIOugnfGF9GRhnLcxIwNtkbODj+OgxE2HiZq5FMxkZmprjJ9uczpyYE6JrCVASRAn/P1TczFiz4bfNMEVBUZHNMNnIUVEAkM57lgrrhAPWxplJJCHuCspMfxoixz2XBBHrBZoH1mwQfEtPobxUvu4yF9MlL+LEesRTCTJRlx+dr8iXo0LDqigH6HZDUpkyKkQ92hdr1+ZIQkhMKTq0sv8A61za18ndxP+0cManPgCkfj+lF8AA==",
        "tranAbbr": null,
        "tranNo": "00012023062300000008",
        "currency": "LAK",
        "orderAmt": "55",
        "orderDesc": null,
        "orderNo": "202306234000001067"
    },
    "code": "0",
    "timestamp": "1662521235625"
}

4.3.7 查询转账订单

1. 概览

通过该 API 使用 orderNo 查询转账订单信息。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/getTransferOrder

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
orderNo转账订单号stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> sign数据签名string
> tranAbbr交易类型string
> tranNo交易流水号string
> currency币种string
> orderAmt订单金额string
> orderDesc描述string
> orderNo订单号string
> accountTime入账时间long
> phoneNoNewPay 用户手机号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": 1687494500726,
    "sign": "{{sign}}",
    "orderNo": "202306231000000282"



}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "5afa28d9dfe94830ad67cd3a61ab8978",
        "sign": "jmB1AKnD4VKgqRl0Sd+jdMR0lnr0k7E4Yl9KzWMIfOlK7Wdk3aaKkRcCb95BmHfLocMik3unKN8E2wm1RehTDlnyGIdBf0VMTk2tdTZgnU267PUMr33JW+wAplAI/l7bZRk6NkvE41uuRK7jhNKFjXUeBHHqNxEPlN0wMCTqXx3aVwGBxSvMnGHINIPU+K7tnVlZIhCqirIEaqbKSQTe+Irz4tRX/SDNMRZZsicTtYOCcPNdIifif52ekXLPHCaiRSSVAYI1YbFF5+8lwq1UJEClsP0P7Ni/86SJIPJ7VY34Bif8fc65ASc2sabTTyu6mxEoWDc+ByaE96wsGBTGfg==",
        "tranAbbr": null,
        "tranNo": "00012023062300000010",
        "currency": "LAK",
        "orderAmt": "1113.00",
        "orderDesc": null,
        "orderNo": "202306231000000282",
        "accountTime": 1687494500726,
        "phoneNo": "+8615840695747"
    },
    "code": "0",
    "timestamp": "1662521235625"
}

4.3.8 订单确认

1. 概览

通过该 API 确认并结算预支付订单。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi.newpay.la/api/open/converge/pay/v1/ordersPrepaid

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
merchantId第三方商户的唯一标识stringtrue
timestamp请求时间戳timestamptrue
sign数据签名stringtrue
orderNo商户订单号stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> tranAbbr交易类型string
> sign数据签名string
> tranNo交易流水号string

3. 示例数据

3.1 请求示例

json
{
    "appId": "3514d69403bc4ce1a8fafb6415a31018",
    "timestamp": 1687494500726,
    "sign": "{{sign}}",
    "merchantId": "1001211005000526",
    "orderNo": "asd2323414"


}

3.2 响应示例

json
{
    "success": true,
    "message": "success",
    "data": {
        "appId": "5afa28d9dfe94830ad67cd3a61ab8978",
        "sign": "R2fZH0vFRu58OMYYeyb3Sq9mPrIiMo6BS1jALw0vEuPSYMnr8E0rRaga0v2MosIhpw7204r646b4GtuewMexKlSKtSKYpiUzWKT0aIOugnfGF9GRhnLcxIwNtkbODj+OgxE2HiZq5FMxkZmprjJ9uczpyYE6JrCVASRAn/P1TczFiz4bfNMEVBUZHNMNnIUVEAkM57lgrrhAPWxplJJCHuCspMfxoixz2XBBHrBZoH1mwQfEtPobxUvu4yF9MlL+LEesRTCTJRlx+dr8iXo0LDqigH6HZDUpkyKkQ92hdr1+ZIQkhMKTq0sv8A61za18ndxP+0cManPgCkfj+lF8AA==",
        "tranAbbr": null,
        "tranNo": "00012023062300000008"

    },
    "code": "0",
    "timestamp": "1662521235625"
}

4.4. 回调

1. 支付回调

1.1. 概览

当支付处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送支付结果。商户应基于支付结果推进自身订单处理。

注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会每 5 分钟重试一次;重试 3 次后停止通知。

1.2. 请求说明

1.2.1 请求头
Content-Typeapplication/json
1.2.2 请求参数
名称说明类型
appId第三方应用平台的唯一标识string
payMethod支付方式:1.NewPay;4.MasterCard;int
orderAmt支付金额string
currency支付币种,LAK/USDstring
newpayOrderNoNewpay 订单号string
orderNo订单号string
subject商品标题string
transStatus支付结果:0-success;1-failureint
transInfo失败原因string
settlementStatus结算状态:1-未结算;2-已结算int
timestamp回调执行时间string
extra第三方订单补充字段string
sign数据签名string

1.3. 示例数据

1.3.1 请求示例(商户接收)
json
{
    "orderNo":"202209067002502223",
    "subject":"1",
    "transInfo":"Transaction Success",
    "sign":"RUgPFHojyrvmGpIGxzdzHG6BlxDn9Ei...",
    "orderAmt":"123.00",
    "newpayOrderNo":"202209210000006950",
    "settlementStatus":1,
    "payMethod":1,
    "extra":"",
    "appId":6,
    "currency":"LAK",
    "transStatus":0,
    "timestamp":1663738614280
}
1.3.2 响应示例(商户响应)
json
{
    "transResult": "SUCCESS"
}

2. 退款回调

2.1. 概览

当退款处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送退款结果。商户应基于退款结果推进自身订单处理。

注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会每 5 分钟重试一次;重试 3 次后停止通知。

2.2. 请求说明

  • Method: post
  • 接口路径:对应接口中的 callBackUrl 参数: 4.3.2 退款
2.2.1 请求头
Content-Typeapplication/json
2.2.2 请求参数
名称说明类型
appId第三方应用平台的唯一标识string
payMethod支付方式:1.NewPay;4.MasterCard;int
refundOrderAmt支付金额string
currency支付币种,LAK/USDstring
newpayOrderNoNewpay 订单号string
newpayRefundOrderNoNewPay 退款订单号string
orderNo订单号string
refundOrderNo订单号string
tranStatus支付结果:1-success;0-failureint
transInfo失败原因string
timestamp回调执行时间string
sign数据签名string

2.3. 示例数据

2.3.1 请求示例(商户接收)
json
{
    "orderNo":"202209067002502223",
    "refundOrderNo":"202209067002502232",
    "transInfo":"Transaction Success",
    "transStatus":0,
    "sign":"RUgPFHojyrvmGpIGxzdzHG6BlxDn9Ei...",
    "refundOrderAmt":"123.00",
    "newpayOrderNo":"202209210000006950",
    "newpayRefundOrderNo":"202209210000006950",
    "payMethod":1,
    "appId":6,
    "currency":"LAK",
    "transStatus":0,
    "timestamp":1663738614280
}
2.3.2 响应示例(商户响应)
json
{
    "transResult": "SUCCESS"
}

5.1 统一下单

1. 概览

通过该 API 获取收银台页面地址。获取地址后,可将用户跳转到收银台页面完成支付。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/pay/unifiedOrder

2.1 请求头

Content-Typeapplication/json

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
mchId第三方商户的唯一标识stringtrue
mchOrderNo第三方商户订单号stringtrue
channel

WECHAT_ONLINE: 微信线上支付

WECHAT_APP: 微信APP支付

WECHAT_MINI_APP: 微信小程序支付

ALIPAY_ONLINE: 阿里线上支付
LAP_NET_ONLINE: LAO QR 动态码
WECHAT_DYNAMIC : 微信动态码
ALIPAY_DYNAMIC :阿里线下动态码
NEWPAY_ONLINE: NewPay App 支付



stringtrue
currencyCNY: 人民币
USD: 美元
LAK: 老挝币

stringtrue
orderAmt支付金额stringtrue
subject商品标题stringfalse
callBackUrl支付结果通知 URLstringtrue
redirect支付成功后的跳转 URLstringfalse
attach第三方订单补充字段stringfalse
extraParam

附加参数。

用于微信小程序支付:

场景 1,微信内支付:传入 "wxCode -> xxxxxx";响应中的 payReference 类似 "prepay_id = xxxxxx, signType=rsa, paySign=xxxxx",可使用这些信息直接调起支付;
场景 2,微信外支付:传 null;响应中的 payReference 为小程序 scheme,用户可用微信扫描该 scheme,并使用 getMinPayment 方法完成支付;

场景 3,DEV 环境:传入 "envVersion -> trial"。

参考文档:
1, JSAPI pay;
2, Request Payment。

用于 7. NewPay H5 支付接入:
{"agentReference":"true","userId":"100234"}

jsonfalse
sign数据签名stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> payStatusSUCCESS/FAIL/EXPIRED/PROCESSINGstring
> orderAmt支付金额和币种json
>> value金额值string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> newpayOrderNoNewPay 订单号string
> mchOrderNo第三方商户订单号string
> payMethod

PAY_METHOD_WECHAT/

PAY_METHOD_ALIPAY_PLUS

string
> orderTypeDYNAMIC_CODE: 动态收款码
STATIC_CODE: 静态收款码
APP: 线上APP
MINI_APP: 线上小程序
ONLINE: 线上支付
string
> payReference支付地址string
> sign数据签名string

5.2 查询订单

1. 概览

通过该 API 查询已提交支付请求的交易状态及相关信息。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/pay/uniQueryPay

2.1 请求头

Content-Typeapplication/json

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
mchId第三方商户的唯一标识stringtrue
newpayOrderNoNewPay 生成的订单号stringfalse
mchOrderNo第三方商户订单号stringfalse
sign数据签名stringtrue

虽然 newpayOrderNo and mchOrderNo 均为可选,但至少需要提供其中一个。

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> payStatusSUCCESS/EXPIRED/PROCESSING/FAILstring
> payMethod支付方式:
1.Wechat;
11.Alipay+;
int
> orderTypeSTATIC\_CODE: 静态收款码DYNAMIC\_CODE:动态收款码MICRO\_CODE:扫码收款(反扫)MINI\_APP:微信小程序APP:线上APPONLINE:线上支付AUTO\_DEBIT:线上自动扣款string
> orderAmt支付金额json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> mchOrderNo第三方商户订单号。string
> newpayOrderNoNewPay 订单号string
> subject商品标题string
> settlementStatus结算状态:
0: 未结算;
1: 结算中;2: 已结算
int
> paytime支付时间戳long
> attach第三方订单补充字段string
> sign数据签名string

5.3 退款

1. 概览

通过该 API 对成功支付的订单发起退款。退款可以是全额或部分退款。同一笔交易可以发起多次退款,但累计退款金额不得超过原交易金额。若退款请求超出合同约定的退款窗口,将被拒绝。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/pay/uniRefund

2.1 请求头

Content-Typeapplication/json

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
mchId第三方商户的唯一标识stringtrue
newpayOrderNoNewPay 生成的支付订单号stringtrue
mchRefundNo第三方商户退款订单号stringtrue
refundAmt退款金额,小于或等于原交易金额stringtrue
callback退款回调 URL 地址stringfalse
sign数据签名stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> newpayRefundNoNewPay 退款订单号string
> mchRefundNo第三方商户退款订单号string
> status交易状态:
SUCCESS/FAIL/PROCESSING.
string
> orderAmt支付订单金额string
> refundAmt退款订单金额string
> message退款消息string
> sign数据签名string

5.4 查询退款

1. 概览

通过该 API 查询已提交退款请求的退款状态。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/pay/uniQueryRefund

2.1 请求头

Content-Typeapplication/json

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
mchId第三方商户的唯一标识stringtrue
newpayRefundNoNewPay 退款订单号stringfalse
mchRefundNo第三方商户退款订单号stringfalse
sign数据签名stringtrue

虽然 newpayRefundNo and mchRefundNo 均为可选,但至少需要提供其中一个。

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> newpayRefundNoNewPay 退款订单号string
> mchRefundNo第三方商户退款订单号string
> newpayOrderNoNewPay 支付订单号string
> refundAmt退款金额和币种json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> orderAmt原订单金额和币种json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> refundStatus退款状态:SUCCESS/FAIL/PROCESSINGint
> sign数据签名string

5.5 查询用户

1. 概览

通过该 API 查询用户基础信息。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/mch/queryUserInfoByToken

2.1 请求头

Content-Typeapplication/json

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
timestamp请求时间戳longtrue
token用于后端校验的用户会话 tokenstringtrue
sign数据签名stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> nickName用户昵称string
> userMobile用户手机号string
> userIdNewPay 平台内用户 IDlong
> sign数据签名string

5.6 回调

1. 支付回调

1.1. 概览

当支付处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送支付结果。商户应基于支付结果推进自身订单处理。

注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会在 10 秒、5 分钟、30 分钟后重试;重试 3 次后停止通知。

1.2. 请求说明

  • Method: post
  • 接口路径:对应接口中的 callBackUrl 参数: 5.1 统一下单
1.2.1 请求头
Content-Typeapplication/json
1.2.2 请求参数
名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> payStatusSUCCESS/EXPIRED/PROCESSING/FAILstring
> payMethod支付方式:
1.Wechat;
11.Alipay+;
int
> orderTypeSTATIC\_CODE: 静态收款码DYNAMIC\_CODE:动态收款码MICRO\_CODE:扫码收款(反扫)MINI\_APP:微信小程序APP:线上APPONLINE:线上支付AUTO\_DEBIT:线上自动扣款string
> orderAmt支付金额json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> mchOrderNo第三方商户订单号。string
> newpayOrderNoNewPay 订单号string
> subject商品标题string
> settlementStatus结算状态:
0: 未结算;
1: 结算中;2: 已结算
int
> paytime支付时间戳long
> attach第三方订单补充字段string
> sign数据签名string

2. 退款回调

2.1. 概览

当退款处理进入成功或失败等最终状态时,NewPay 会通过 callback URL 向商户发送退款结果。商户应基于退款结果推进自身订单处理。

注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会在 10 秒、5 分钟、30 分钟后重试;重试 3 次后停止通知。

2.2. 请求说明

  • Method: post
  • 接口路径:对应接口中的 callBackUrl 参数: 5.3 退款
2.2.1 请求头
Content-Typeapplication/json
2.2.2 请求参数
名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> newpayRefundNoNewPay 退款订单号string
> mchRefundNo第三方商户退款订单号string
> newpayOrderNoNewPay 支付订单号string
> refundAmt退款金额和币种json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> orderAmt原订单金额和币种json
>> value金额string
>> currencyCNY: 人民币
USD: 美元
LAK: 老挝币
string
> refundStatus退款状态:SUCCESS/FAIL/PROCESSINGint
> sign数据签名string

6. 线下商户反扫

1. 概览

该 API 用于扫码设备发起反扫收款。

2. 请求说明

  • Method: post
  • 接口路径: https://prod-openapi-v2.newpay.la/beta/codeScanner/createOrder

2.1 请求头

Content-Typeapplication/json
version1.0

2.2 请求参数

名称说明类型是否必填
appId第三方应用平台的唯一标识stringtrue
mchId第三方商户的唯一标识stringtrue
authCode二维码stringtrue
amount订单金额stringtrue
currency支付币种,LAK/USDstringtrue
mchOrderNo订单号,由商户分配,用于标识一次支付请求。stringtrue
callbackUrl支付结果通知 URLstringtrue
description可填写任意说明,非必填。stringfalse
sign数据签名stringtrue

2.3 响应数据

名称说明类型
success成功标识:true/falseboolean
message响应消息string
code响应码string
timestamp响应时间戳long
data结果对象object
> appId第三方应用平台的唯一标识string
> orderAmt支付金额string
> payUrl支付 URLstring
> mchOrderNo第三方商户订单号string
> newpayOrderNoNewPay 订单号string
> status订单状态int
> currency支付币种,LAK/USDstring
> channelALIPAY / WECHATstring
> sign数据签名string

7. NewPay H5 支付接入

1. 概览

该方案用于第三方商户在 NewPay App 内嵌 H5 页面中实现支付能力。商户在 H5 侧组织订单,并通过 NewPay 路由协议唤起原生支付组件。

2. 业务流程

  1. App 启动:NewPay App 打开商户 H5 URL,并注入身份参数。
  2. 创建订单:H5 页面收集参数,并调用商户后端创建订单.
  3. 唤起支付:H5 页面使用支付 URL 跳转到 NewPay Payment Center。
  4. 回调/返回:支付完成后,App 自动跳转回商户指定的 redirectUrl.
  5. 状态校验:商户后端查询订单状态 API 确认真实支付结果后,再提供服务。

3. 接入步骤

步骤 1:用户身份同步

NewPay App 打开商户 H5 页面时,会自动在 URL Query 中附加以下参数。商户需要解析并保存这些参数,用于后续请求。

参数类型说明示例
userTokenString用于后端校验的用户会话 token。

更多用户信息可通过查询用户接口获取。
eyJh...
userIdStringNewPay 平台内的用户唯一 ID,创建订单时使用。100234
langString语言环境(例如 zh-CN, en-USen-US

商户需要通过 userId 建立用户平台间的关联,并在创建订单时提供用户标识。

步骤 2:创建订单并获取 payUrl

商户 H5 触发商户后端 API:

  1. 商户后端调用 NewPay Payment Gateway(API 调用)。
  2. 获取 payUrl(API 响应中的 payReference),该值由 NewPay 返回。

payUrl 遵循指定的内部协议格式,以 "newpay://" 开头,例如:

newpay://openApi/?orderNo={orderNo}&type={type}.

步骤 3:唤起原生支付页

获取 payUrl 后,商户 H5 需要使用 urltool 协议跳转用户,以确保原生支付模块被正确唤起。

步骤 4:查询最终订单状态

用户跳转回商户 redirectUrl 后,商户系统需要查询订单状态,并据此决定后续业务处理。

  1. 查询订单状态:商户 H5 / 后端调用自身服务,再由自身服务查询 NewPay 订单查询 API.
  2. 分支处理逻辑:
  • SUCCESS:继续履约,例如展示支付成功页或发放数字内容。
  • PENDING:展示处理中页面,并在数秒后再次轮询状态。
  • FAIL/CANCEL:引导用户回到收银台重新尝试。

4. 参数参考

支付唤起参数(NewPayAppOpenApiPage)
字段是否必填说明
payUrlYes通过 API 获取的原始支付 URL。
redirectUrlYes支付流程结束后返回的商户落地页 URL(Success/Fail/Cancel)。

8. 签名与验签

1. 数据签名说明

  1. 将非空参数按字典序排列,其中 sign 不参与签名。
  2. 排序后按 param1=val1&param2=val2… 格式拼接,得到 string1。
  3. 使用 SHA256withRSA 算法和商户私钥进行签名。
  4. 请注意,仅非空参数参与签名;val 为空字符串的参数也视为有效参数。

2. 验签说明

  1. 将非空参数按字典序排列,其中 sign 不参与签名。
  2. 排序后按 param1=val1&param2=val2… 格式拼接,得到 string1。
  3. 使用 SHA256withRSA 算法和平台公钥进行验签。
  4. 请注意,仅非空参数参与验签;val 为空字符串的参数也视为有效参数。

9. 业务码

响应码

代码说明
0成功
E9008订单信息不存在
E9999未知错误
B11095非法请求
Z00001appid 字段非法
Z00003appid 字段错误
Z00004timestamp 字段非法
Z00005sign 字段非法
Z00007sign 字段验签失败
Z00011payMethod 字段非法
Z00013extra 字段非法
Z00016currency 字段非法
Z00018orderAmt 字段非法
Z00020orderAmt 字段非法(币种为 LAK 时不允许小数)
Z00021merchantId 字段非法
Z00023orderNo 字段非法
Z00025subject 字段非法
Z00032callBackUrl 字段非法
Z00035successPageUrl 字段非法
Z00038failurePageUrl 字段非法
Z00039交易失败
Z00043cancelPageUrl 字段非法
Z00044merchantId 字段错误
Z00046白名单认证失败
Z00047不支持该支付渠道
Z00048该订单的 payMethod 当前不支持退款
Z00049refundOrderNo 字段非法
Z00051订单信息不存在
Z00053refundOrderAmt 字段非法
Z00055refundOrderAmt 字段非法(币种为 LAK 时不允许小数)
Z01002协议错误
Z01004收款账户不存在
Z01005账户状态异常
Z01008订单已完成
Z01009订单已过期
Z01010该订单支付失败
Z01011订单已取消
Z01012appId 或 merchantId 无效
Z01017已出账订单不支持退款
Z01018活动订单不支持部分退款
Z01020退款金额超过实际支付金额
Z01022门店状态异常
Z01023账户状态异常
Z01026退款订单号已存在
Z01028订单号不可用,请更换

订单状态

状态说明
0已创建
1支付中
3成功
4退款中
5部分退款
6已退款
7取消
8已过期
9已取消
10失败

10. 联系方式

地址

Nongbone Road, Number 298, Unit18, Phonxay Village, Xaysettha District, Vientiane Capital, Laos

邮箱

info@newpay.la

电话

+856 1801

技术支持

如需申请接入、联调或确认生产参数,请联系 NewPay 团队。

支持

联系邮箱

info@newpay.la / business@newpay.la

联系电话

021-415949

办公地址

老挝·万象首都赛色塔区松开村298号农大路18号

INTEGRATION NOTES

接入提示

以下内容帮助合作方快速理解接入重点;详细字段、表格、代码示例和流程图可在左侧 API 文档目录中逐项查看。

接入准备

开通商户后获取 appId、商户号和密钥信息,用于接口请求、签名和验签。

支付能力

支持网站、App、H5、微信相关场景及 NewPay App 支付等多种接入方式。

API 目录

以 V2 接口为主,覆盖统一下单、订单查询、退款、退款查询和用户信息查询。

安全与回调

接口请求使用 SHA256withRSA 签名,支付结果和退款结果通过回调通知。