统一下单
POSThttps://prod-openapi-v2.newpay.la/beta/pay/unifiedOrder
用于获取收银台地址或支付引用信息。商户拿到 payReference 后,可引导用户进入对应支付流程。
appIdmchIdmchOrderNochannelcurrencyorderAmtcallBackUrlsign面向商户、平台和开发者的接入文档。这里整理 NewPay 线上支付、反扫收款、退款、订单查询、回调、签名验签与业务码说明。
商户入驻通过后,NewPay 会提供应用和商户维度的接入信息。请在服务端完成接口请求、签名、验签、订单状态查询和回调处理。
V2 是当前推荐整理的接口组。所有接口使用 JSON 请求,核心字段包括 appId、mchId、订单号、金额、币种和 sign。
https://prod-openapi-v2.newpay.la/beta/pay/unifiedOrder
用于获取收银台地址或支付引用信息。商户拿到 payReference 后,可引导用户进入对应支付流程。
appIdmchIdmchOrderNochannelcurrencyorderAmtcallBackUrlsignhttps://prod-openapi-v2.newpay.la/beta/pay/uniQueryPay
用于查询支付订单状态。newpayOrderNo 和 mchOrderNo 至少提供一个,建议作为回调后的兜底查询。
appIdmchIdnewpayOrderNomchOrderNosignhttps://prod-openapi-v2.newpay.la/beta/pay/uniRefund
对已支付订单发起退款。需提交 NewPay 支付订单号、商户退款号、退款金额和签名。
appIdmchIdnewpayOrderNomchRefundNorefundAmtcallbacksignhttps://prod-openapi-v2.newpay.la/beta/pay/uniQueryRefund
用于查询退款处理结果。newpayRefundNo 与 mchRefundNo 至少提供一个。
appIdmchIdnewpayRefundNomchRefundNosignhttps://prod-openapi-v2.newpay.la/beta/mch/queryUserInfoByToken
通过用户 token 查询 NewPay 用户信息,适用于需要同步用户身份的业务场景。
appIdtimestamptokensign商户下单或退款时提交的 callBackUrl / callback
NewPay 会向商户服务端通知支付或退款结果。商户需验签,并按订单号做幂等处理。
payStatusorderTypenewpayOrderNomchOrderNosettlementStatussign适用于传统线下商户。收银设备读取用户付款码后,由商户服务端创建收款订单,并通过回调和查询确认结果。
https://prod-openapi-v2.newpay.la/beta/codeScanner/createOrder
提交用户付款码 authCode、订单金额、币种、商户订单号和回调地址,返回 NewPay 订单号、订单状态和渠道信息。
appIdmchIdauthCodeamountcurrencymchOrderNocallbackUrlsignH5 场景需要完成用户身份同步、订单构造、获取 payUrl、唤起原生支付页面,并在用户返回后查询最终订单状态。
所有生产接口都应在服务端完成签名和验签。签名字段不参与待签字符串,非空字段按字典序排序后拼接,再使用 SHA256withRSA。
| 项目 | 规则 | 建议 |
|---|---|---|
| 请求签名 | 非空参数按字典序排序,拼接为 param1=val1¶m2=val2,再使用商户私钥签名。 | 在服务端完成,不要暴露私钥。 |
| 响应验签 | 按同样规则拼接响应字段,使用 NewPay 平台公钥验签。 | 验签通过后再更新业务订单。 |
| 支付回调 | 回调包含 payStatus、orderType、金额、订单号、支付时间和 sign。 | 按 mchOrderNo / newpayOrderNo 做幂等。 |
| 退款回调 | 退款结果通过退款时提交的 callback 地址通知。 | 仍建议结合退款查询接口兜底。 |
接口返回包含 success、message、code、timestamp 和 data。订单状态字段用于判断支付、退款和超时等业务结果。
| 状态值 | 含义 | 业务处理建议 |
|---|---|---|
| 0 | create | 订单已创建,等待支付。 |
| 1 | paying | 支付处理中,可轮询查询。 |
| 3 | success | 支付成功,可进入履约流程。 |
| 4 / 5 / 6 | refunding / partial refund / refunded | 退款中、部分退款或已退款。 |
| 7 / 8 / 9 / 10 | cancel / expired / cancelled / failed | 订单取消、超时或失败,可引导用户重新支付。 |
覆盖 V1 Deprecated、微信支付接口、通用 API、支付能力、签名验签、业务码和联系方式等内容,便于合作方按模块查询。
什么是 NewPay、接入流程、支付能力,覆盖 NewPay 简介、申请流程、网站和 App 支付能力。
appIdmerchantIdprivateKeypublicKey/api/open/converge/pay/v1/createOrder
V1 聚合支付接口,包含 Website 与 Mobile 两类 createOrder 路径。新接入建议优先使用 V2。
payMethodorderAmtorderNocallBackUrlpayUrl/api/open/converge/pay/v2/createOpenMini
/api/open/converge/pay/v2/getMiniPayment
覆盖微信小程序下单、获取支付信息、流程图和示例。老挝场景受微信官方限制,需结合小程序能力。
envVersionwxCodeprepay_idwx.requestPayment通用 API 包含支付查询、退款、退款查询、预支付、用户查询、转账、转账订单查询和订单确认。
Inquiry PaymentRefundPre PaymentTransferOrder Confirmation面向合作方提供完整 API 参考,包含接口路径、字段说明、表格、代码示例、流程图片和业务码,便于开发、联调与上线核对。
NewPay 是面向老挝市场的合规支付与跨境收单服务平台,为商户、平台及机构合作伙伴提供二维码支付、线上收银台、跨境钱包受理、交易管理、结算对账、退款及风控合规等服务。
商户需要向 NewPay 商户平台提交接入申请资料。
NewPay 商户平台管理员会根据商户提交的资料创建 API 网络虚拟商户。
开发者中心会为该 API 网络虚拟商户生成接入资料,并发送给商户。
| 名称 | 说明 |
|---|---|
| appId | 商户应用的 Application ID |
| merchantId | 商户 ID |
| privateKey | 用于对请求参数进行数字签名的商户私钥 |
| publicKey | 用于验证响应消息数字签名的平台公钥 |
为支持网站、移动 App、商户平台和线下支付等场景,NewPay 为商户提供以下支付能力,便于快速完成接入。
| 支付方式 | 适用场景 | 支付工具 | 支付币种 |
|---|---|---|---|
| NewPay | 为商户网站应用提供 NewPay 支付能力,用户使用 NewPay App 扫描商户二维码完成支付。 | QR 代码 | LAK |
| MasterCard | 为商户网站应用提供 MasterCard 支付能力,用户通过 MasterCard 表单页面完成支付。 | MasterCard | USD |
| 支付方式 | 适用场景 | 支付工具 | 支付币种 |
|---|---|---|---|
| NewPay | 为商户 App 提供 NewPay 支付能力,用户可直接使用 NewPay App 支付。 | NewPay APP | LAK |
| MasterCard | 为商户 App 提供 MasterCard 支付能力,用户通过 MasterCard H5 页面完成支付。 | MasterCard | USD |
该能力适用于商户 PC 网站侧的支付场景。
该能力适用于商户移动 App 侧的支付场景。
Converge Payment 支持除微信小程序支付以外的场景。微信小程序支付请参考 4.2. 微信支付 API
通过该 API 获取收银台页面地址。获取地址后,可将用户跳转到收银台页面完成支付。
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
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| payMethod | 支付方式:1.NewPay;3.VISA;5 WeChat;6 Alipay | int | true |
| currency | 支付币种,LAK/USD | string | true |
| orderAmt | 支付金额 | string | true |
| orderNo | 订单号,由商户分配,用于标识一次支付请求。 | string | true |
| callBackUrl | 支付结果通知 URL | string | true |
| successPageUrl | 支付成功后的跳转地址 | string | true |
| failurePageUrl | 支付失败后的跳转地址 | string | true |
| cancelPageUrl | 取消支付后的跳转地址 | string | true |
| subject | 商品标题,如使用 Alipay,则必填。 | string | false |
| extra | 第三方订单补充字段,如使用 Alipay,应包含 ANDROID 或 IOS。 | string | false |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > orderAmt | 支付金额 | string |
| > payUrl | 支付地址 | string |
| > orderNo | 订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
{
"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"
}
{
"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"
}
通过订单响应数据中的 payUrl 字段使用 AppLink 唤起 NewPay 支付。
objective-c 示例:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:response.data.payUrl] options:@{} completionHandler:nil];
swift 示例:
let url = URL(string: response.data.payUrl)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)
Java 示例:
String payUrl= response.getData().getPayUrl();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(payUrl));
startActivity(intent);
Kotlin 示例:
val payUrl = response?.data?.payUrl!!;
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(payUrl))
startActivity(intent)
说明: API-1 对应 4.2.2 创建订单,API-2 对应 4.2.3 获取支付信息.
通过该 API 处理微信支付小程序支付。
https://prod-openapi.newpay.la/api/open/converge/pay/v2/createOpenMini| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | String | true |
| timestamp | 请求时间戳 | Long | true |
| currency | 支付币种,LAK/USD | String | true |
| orderAmt | 支付金额,USD 支持 2 位小数,LAK 为整数。 | String | true |
| merchantId | 第三方商户的唯一标识 | String | true |
| orderNo | 订单号,由商户分配,用于标识一次支付请求。 | String | true |
| subject | 商品标题 | String | false |
| callBackUrl | 支付结果通知 URL | String | true |
| envVersion | 小程序版本,release/trial。注意:trial 版本仅支持在微信环境外使用。 trial 跳转工具: http://47.108.185.11:19000/ | String | false |
| sign | 数据签名 | String | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > currency | 支付币种,LAK/USD | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > orderAmt | 支付金额 | string |
| > payUrl | 支付地址 | string |
| > orderNo | 订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
通过该 API 获取支付信息,然后调用 wx.requestPayment(OBJECT), 查看微信文档
https://prod-openapi.newpay.la/api/open/converge/pay/v2/getMiniPayment| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| code | 小程序登录时获取,参考 此文档 | String | true |
| newpayOrderNo | NewPay 订单号,从 scheme-url 获取 | Long | true |
| timestamp | 请求时间戳 | Long | true |
// 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);
}
},
})
通过该 API 查询已提交支付请求的交易状态及相关信息。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/get| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| orderNo | 订单号 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > transStatus | 交易状态:1-success;0-failure;2-processing | int |
| > transInfo | 失败原因 | string |
| > payMethod | 支付方式:1.NewPay;4.MasterCard; | int |
| > extra | 第三方订单补充字段 | string |
| > orderNo | 订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > currency | 支付币种,LAK/USD | string |
| > orderAmt | 支付金额 | string |
| > subject | 商品标题 | string |
| > settlementStatus | 结算状态:1-未结算;2-已结算 | int |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": {{current_timestamp}},
"sign": "{{sign}}",
"merchantId": "876266cdc7154dd08a022fd1f2eace55",
"orderNo": "ORDERNO000000000A104"
}
{
"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"
}
通过该 API 对成功支付的订单发起退款。退款可以是全额或部分退款。同一笔交易可以发起多次退款,但累计退款金额不得超过原交易金额。若退款请求超出合同约定的退款窗口,将被拒绝。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/refund| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| refundOrderAmt | 退款金额 | string | true |
| orderNo | 订单号 | string | true |
| refundOrderNo | 退款订单号 | string | true |
| refundDesc | 退款原因 | string | true |
| callBackUrl | 退款回调地址 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranStatus | 交易状态:1-success;0-failure | int |
| > tranInfo | 交易信息 | string |
| > refundOrderAmt | 退款金额 | string |
| > payMethod | 支付方式:1.NewPay;4.MasterCard; | int |
| > currency | 支付币种,LAK/USD | string |
| > orderNo | 订单号 | string |
| > refundOrderNo | 退款订单号 | string |
| > newpayRefundOrderNo | NewPay 退款订单号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": {{current_timestamp}},
"sign": "{{sign}}",
"refundOrderAmt": 50000,
"merchantId": "876266cdc7154dd08a022fd1f2eace55",
"orderNo": "ORDERNO000000000A104",
"refundOrderNo": "ORDERNORFD000000000A104",
"refundDesc": "reason",
"callBackUrl": "www.google.com"
}
{
"success": true,
"message": "success",
"data": null,
"code": "0",
"timestamp": "1662528697925"
}
通过该 API 查询已提交退款请求的退款状态。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/getRefund| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| refundOrderNo | 退款订单号 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > tranStatus | 交易状态:1-success;0-failure | int |
| > tranInfo | 交易信息 | string |
| > refundOrderAmt | 退款金额 | string |
| > payMethod | 支付方式:1.NewPay;4.MasterCard; | int |
| > currency | 支付币种,LAK/USD | string |
| > orderNo | 订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > refundOrderNo | 退款订单号 | string |
| > newpayRefundOrderNo | NewPay 退款订单号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": {{current_timestamp}},
"sign": "{{sign}}",
"refundOrderNo": "ORDERNORFD000000000A104",
"merchantId": "876266cdc7154dd08a022fd1f2eace55"
}
{
"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"
}
通过该 API 获取预支付收银台页面地址。获取地址后,可将用户跳转到收银台页面完成预支付。
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
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| payMethod | 支付方式:1.NewPay;4.MasterCard;5.WeChat | int | true |
| currency | 支付币种,LAK/USD | string | true |
| orderAmt | 支付金额 | string | true |
| orderNo | 订单号,由商户分配,用于标识一次支付请求。 | string | true |
| callBackUrl | 支付结果通知 URL | string | true |
| successPageUrl | 支付成功后的跳转地址 | string | true |
| failurePageUrl | 支付失败后的跳转地址 | string | true |
| cancelPageUrl | 取消支付后的跳转地址 | string | true |
| subject | 商品标题 | string | false |
| extra | 第三方订单补充字段 | string | false |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > orderAmt | 支付金额 | string |
| > payUrl | 支付地址 | string |
| > orderNo | 订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
{
"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"
}
{
"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"
}
通过订单响应数据中的 payUrl 字段使用 AppLink 唤起 NewPay 支付。
objective-c 示例:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:response.data.payUrl] options:@{} completionHandler:nil];
swift 示例:
let url = URL(string: response.data.payUrl)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)
Java 示例:
String payUrl= response.getData().getPayUrl();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(payUrl));
startActivity(intent);
Kotlin 示例:
val payUrl = response?.data?.payUrl!!;
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(payUrl))
startActivity(intent)
通过该 API 获取 NewPay 用户信息。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/getOpenUserInfoFor| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| phoneNo | NewPay 用户注册手机号 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > userMobile | NewPay 用户手机号 | string |
| > userAvatar | NewPay 用户头像 | string |
| > nickName | NewPay 用户昵称 | string |
| > userName | NewPay 用户名 | string |
| > fundAccountId | NewPay 用户资金账户 ID | string |
| > area | NewPay 用户手机号区号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": 1687494500726,
"sign": "{{sign}}",
"phoneNo": "+8562022214944"
}
{
"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"
}
通过该 API 使用 fundAccountId 向用户转账。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/accTransfer| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| revFundAccountId | NewPay 用户资金账户 ID | string | true |
| orderAmt | 转账金额 | string | true |
| currency | 币种 | string | true |
| orderDesc | 描述 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > sign | 数据签名 | string |
| > tranAbbr | 交易类型 | string |
| > tranNo | 交易流水号 | string |
| > currency | 币种 | string |
| > orderAmt | 订单金额 | string |
| > orderDesc | 描述 | string |
| > orderNo | 转账订单号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": 1687494500726,
"sign": "{{sign}}",
"revFundAccountId": 1001211005000526,
"orderAmt": "55",
"currency": "LAK"
}
{
"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"
}
通过该 API 使用 orderNo 查询转账订单信息。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/getTransferOrder| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| orderNo | 转账订单号 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| 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 |
| > phoneNo | NewPay 用户手机号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": 1687494500726,
"sign": "{{sign}}",
"orderNo": "202306231000000282"
}
{
"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"
}
通过该 API 确认并结算预支付订单。
https://prod-openapi.newpay.la/api/open/converge/pay/v1/ordersPrepaid| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| merchantId | 第三方商户的唯一标识 | string | true |
| timestamp | 请求时间戳 | timestamp | true |
| sign | 数据签名 | string | true |
| orderNo | 商户订单号 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > tranAbbr | 交易类型 | string |
| > sign | 数据签名 | string |
| > tranNo | 交易流水号 | string |
{
"appId": "3514d69403bc4ce1a8fafb6415a31018",
"timestamp": 1687494500726,
"sign": "{{sign}}",
"merchantId": "1001211005000526",
"orderNo": "asd2323414"
}
{
"success": true,
"message": "success",
"data": {
"appId": "5afa28d9dfe94830ad67cd3a61ab8978",
"sign": "R2fZH0vFRu58OMYYeyb3Sq9mPrIiMo6BS1jALw0vEuPSYMnr8E0rRaga0v2MosIhpw7204r646b4GtuewMexKlSKtSKYpiUzWKT0aIOugnfGF9GRhnLcxIwNtkbODj+OgxE2HiZq5FMxkZmprjJ9uczpyYE6JrCVASRAn/P1TczFiz4bfNMEVBUZHNMNnIUVEAkM57lgrrhAPWxplJJCHuCspMfxoixz2XBBHrBZoH1mwQfEtPobxUvu4yF9MlL+LEesRTCTJRlx+dr8iXo0LDqigH6HZDUpkyKkQ92hdr1+ZIQkhMKTq0sv8A61za18ndxP+0cManPgCkfj+lF8AA==",
"tranAbbr": null,
"tranNo": "00012023062300000008"
},
"code": "0",
"timestamp": "1662521235625"
}
当支付处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送支付结果。商户应基于支付结果推进自身订单处理。
注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会每 5 分钟重试一次;重试 3 次后停止通知。
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 |
|---|---|---|
| appId | 第三方应用平台的唯一标识 | string |
| payMethod | 支付方式:1.NewPay;4.MasterCard; | int |
| orderAmt | 支付金额 | string |
| currency | 支付币种,LAK/USD | string |
| newpayOrderNo | Newpay 订单号 | string |
| orderNo | 订单号 | string |
| subject | 商品标题 | string |
| transStatus | 支付结果:0-success;1-failure | int |
| transInfo | 失败原因 | string |
| settlementStatus | 结算状态:1-未结算;2-已结算 | int |
| timestamp | 回调执行时间 | string |
| extra | 第三方订单补充字段 | string |
| sign | 数据签名 | string |
{
"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
}
{
"transResult": "SUCCESS"
}
当退款处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送退款结果。商户应基于退款结果推进自身订单处理。
注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会每 5 分钟重试一次;重试 3 次后停止通知。
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 |
|---|---|---|
| appId | 第三方应用平台的唯一标识 | string |
| payMethod | 支付方式:1.NewPay;4.MasterCard; | int |
| refundOrderAmt | 支付金额 | string |
| currency | 支付币种,LAK/USD | string |
| newpayOrderNo | Newpay 订单号 | string |
| newpayRefundOrderNo | NewPay 退款订单号 | string |
| orderNo | 订单号 | string |
| refundOrderNo | 订单号 | string |
| tranStatus | 支付结果:1-success;0-failure | int |
| transInfo | 失败原因 | string |
| timestamp | 回调执行时间 | string |
| sign | 数据签名 | string |
{
"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
}
{
"transResult": "SUCCESS"
}
通过该 API 获取收银台页面地址。获取地址后,可将用户跳转到收银台页面完成支付。
https://prod-openapi-v2.newpay.la/beta/pay/unifiedOrder| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| mchId | 第三方商户的唯一标识 | string | true |
| mchOrderNo | 第三方商户订单号 | string | true |
| channel | WECHAT_ONLINE: 微信线上支付 WECHAT_APP: 微信APP支付 WECHAT_MINI_APP: 微信小程序支付 ALIPAY_ONLINE: 阿里线上支付 | string | true |
| currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string | true |
| orderAmt | 支付金额 | string | true |
| subject | 商品标题 | string | false |
| callBackUrl | 支付结果通知 URL | string | true |
| redirect | 支付成功后的跳转 URL | string | false |
| attach | 第三方订单补充字段 | string | false |
| extraParam | 附加参数。 场景 1,微信内支付:传入 "wxCode -> xxxxxx";响应中的 payReference 类似 "prepay_id = xxxxxx, signType=rsa, paySign=xxxxx",可使用这些信息直接调起支付; 场景 3,DEV 环境:传入 "envVersion -> trial"。 用于 7. NewPay H5 支付接入: | json | false |
| sign | 数据签名 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > payStatus | SUCCESS/FAIL/EXPIRED/PROCESSING | string |
| > orderAmt | 支付金额和币种 | json |
| >> value | 金额值 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > mchOrderNo | 第三方商户订单号 | string |
| > payMethod | PAY_METHOD_WECHAT/ PAY_METHOD_ALIPAY_PLUS | string |
| > orderType | DYNAMIC_CODE: 动态收款码 STATIC_CODE: 静态收款码 APP: 线上APP MINI_APP: 线上小程序 ONLINE: 线上支付 | string |
| > payReference | 支付地址 | string |
| > sign | 数据签名 | string |
通过该 API 查询已提交支付请求的交易状态及相关信息。
https://prod-openapi-v2.newpay.la/beta/pay/uniQueryPay| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| mchId | 第三方商户的唯一标识 | string | true |
| newpayOrderNo | NewPay 生成的订单号 | string | false |
| mchOrderNo | 第三方商户订单号 | string | false |
| sign | 数据签名 | string | true |
虽然 newpayOrderNo and mchOrderNo 均为可选,但至少需要提供其中一个。
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > payStatus | SUCCESS/EXPIRED/PROCESSING/FAIL | string |
| > payMethod | 支付方式: 1.Wechat; 11.Alipay+; | int |
| > orderType | STATIC\_CODE: 静态收款码DYNAMIC\_CODE:动态收款码MICRO\_CODE:扫码收款(反扫)MINI\_APP:微信小程序APP:线上APPONLINE:线上支付AUTO\_DEBIT:线上自动扣款 | string |
| > orderAmt | 支付金额 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > mchOrderNo | 第三方商户订单号。 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > subject | 商品标题 | string |
| > settlementStatus | 结算状态: 0: 未结算; 1: 结算中;2: 已结算 | int |
| > paytime | 支付时间戳 | long |
| > attach | 第三方订单补充字段 | string |
| > sign | 数据签名 | string |
通过该 API 对成功支付的订单发起退款。退款可以是全额或部分退款。同一笔交易可以发起多次退款,但累计退款金额不得超过原交易金额。若退款请求超出合同约定的退款窗口,将被拒绝。
https://prod-openapi-v2.newpay.la/beta/pay/uniRefund| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| mchId | 第三方商户的唯一标识 | string | true |
| newpayOrderNo | NewPay 生成的支付订单号 | string | true |
| mchRefundNo | 第三方商户退款订单号 | string | true |
| refundAmt | 退款金额,小于或等于原交易金额 | string | true |
| callback | 退款回调 URL 地址 | string | false |
| sign | 数据签名 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > newpayRefundNo | NewPay 退款订单号 | string |
| > mchRefundNo | 第三方商户退款订单号 | string |
| > status | 交易状态: SUCCESS/FAIL/PROCESSING. | string |
| > orderAmt | 支付订单金额 | string |
| > refundAmt | 退款订单金额 | string |
| > message | 退款消息 | string |
| > sign | 数据签名 | string |
通过该 API 查询已提交退款请求的退款状态。
https://prod-openapi-v2.newpay.la/beta/pay/uniQueryRefund| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| mchId | 第三方商户的唯一标识 | string | true |
| newpayRefundNo | NewPay 退款订单号 | string | false |
| mchRefundNo | 第三方商户退款订单号 | string | false |
| sign | 数据签名 | string | true |
虽然 newpayRefundNo and mchRefundNo 均为可选,但至少需要提供其中一个。
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > newpayRefundNo | NewPay 退款订单号 | string |
| > mchRefundNo | 第三方商户退款订单号 | string |
| > newpayOrderNo | NewPay 支付订单号 | string |
| > refundAmt | 退款金额和币种 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > orderAmt | 原订单金额和币种 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > refundStatus | 退款状态:SUCCESS/FAIL/PROCESSING | int |
| > sign | 数据签名 | string |
通过该 API 查询用户基础信息。
https://prod-openapi-v2.newpay.la/beta/mch/queryUserInfoByToken| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| timestamp | 请求时间戳 | long | true |
| token | 用于后端校验的用户会话 token | string | true |
| sign | 数据签名 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > nickName | 用户昵称 | string |
| > userMobile | 用户手机号 | string |
| > userId | NewPay 平台内用户 ID | long |
| > sign | 数据签名 | string |
当支付处理进入成功或失败等最终状态时,NewPay 会通过 callBackUrl 向商户发送支付结果。商户应基于支付结果推进自身订单处理。
注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会在 10 秒、5 分钟、30 分钟后重试;重试 3 次后停止通知。
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > payStatus | SUCCESS/EXPIRED/PROCESSING/FAIL | string |
| > payMethod | 支付方式: 1.Wechat; 11.Alipay+; | int |
| > orderType | STATIC\_CODE: 静态收款码DYNAMIC\_CODE:动态收款码MICRO\_CODE:扫码收款(反扫)MINI\_APP:微信小程序APP:线上APPONLINE:线上支付AUTO\_DEBIT:线上自动扣款 | string |
| > orderAmt | 支付金额 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > mchOrderNo | 第三方商户订单号。 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > subject | 商品标题 | string |
| > settlementStatus | 结算状态: 0: 未结算; 1: 结算中;2: 已结算 | int |
| > paytime | 支付时间戳 | long |
| > attach | 第三方订单补充字段 | string |
| > sign | 数据签名 | string |
当退款处理进入成功或失败等最终状态时,NewPay 会通过 callback URL 向商户发送退款结果。商户应基于退款结果推进自身订单处理。
注意:如果商户响应 { "transResult": "SUCCESS" },回调通知将停止。否则,系统会在 10 秒、5 分钟、30 分钟后重试;重试 3 次后停止通知。
| 键 | 值 |
|---|---|
| Content-Type | application/json |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > newpayRefundNo | NewPay 退款订单号 | string |
| > mchRefundNo | 第三方商户退款订单号 | string |
| > newpayOrderNo | NewPay 支付订单号 | string |
| > refundAmt | 退款金额和币种 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > orderAmt | 原订单金额和币种 | json |
| >> value | 金额 | string |
| >> currency | CNY: 人民币 USD: 美元 LAK: 老挝币 | string |
| > refundStatus | 退款状态:SUCCESS/FAIL/PROCESSING | int |
| > sign | 数据签名 | string |
该 API 用于扫码设备发起反扫收款。
https://prod-openapi-v2.newpay.la/beta/codeScanner/createOrder| 键 | 值 |
|---|---|
| Content-Type | application/json |
| version | 1.0 |
| 名称 | 说明 | 类型 | 是否必填 |
|---|---|---|---|
| appId | 第三方应用平台的唯一标识 | string | true |
| mchId | 第三方商户的唯一标识 | string | true |
| authCode | 二维码 | string | true |
| amount | 订单金额 | string | true |
| currency | 支付币种,LAK/USD | string | true |
| mchOrderNo | 订单号,由商户分配,用于标识一次支付请求。 | string | true |
| callbackUrl | 支付结果通知 URL | string | true |
| description | 可填写任意说明,非必填。 | string | false |
| sign | 数据签名 | string | true |
| 名称 | 说明 | 类型 |
|---|---|---|
| success | 成功标识:true/false | boolean |
| message | 响应消息 | string |
| code | 响应码 | string |
| timestamp | 响应时间戳 | long |
| data | 结果对象 | object |
| > appId | 第三方应用平台的唯一标识 | string |
| > orderAmt | 支付金额 | string |
| > payUrl | 支付 URL | string |
| > mchOrderNo | 第三方商户订单号 | string |
| > newpayOrderNo | NewPay 订单号 | string |
| > status | 订单状态 | int |
| > currency | 支付币种,LAK/USD | string |
| > channel | ALIPAY / WECHAT | string |
| > sign | 数据签名 | string |
该方案用于第三方商户在 NewPay App 内嵌 H5 页面中实现支付能力。商户在 H5 侧组织订单,并通过 NewPay 路由协议唤起原生支付组件。
redirectUrl.NewPay App 打开商户 H5 页面时,会自动在 URL Query 中附加以下参数。商户需要解析并保存这些参数,用于后续请求。
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
userToken | String | 用于后端校验的用户会话 token。 更多用户信息可通过查询用户接口获取。 | eyJh... |
userId | String | NewPay 平台内的用户唯一 ID,创建订单时使用。 | 100234 |
lang | String | 语言环境(例如 zh-CN, en-US) | en-US |
商户需要通过 userId 建立用户平台间的关联,并在创建订单时提供用户标识。
payUrl商户 H5 触发商户后端 API:
payUrl(API 响应中的 payReference),该值由 NewPay 返回。payUrl 遵循指定的内部协议格式,以 "newpay://" 开头,例如:
newpay://openApi/?orderNo={orderNo}&type={type}.
获取 payUrl 后,商户 H5 需要使用 urltool 协议跳转用户,以确保原生支付模块被正确唤起。
用户跳转回商户 redirectUrl 后,商户系统需要查询订单状态,并据此决定后续业务处理。
| 字段 | 是否必填 | 说明 |
|---|---|---|
payUrl | Yes | 通过 API 获取的原始支付 URL。 |
redirectUrl | Yes | 支付流程结束后返回的商户落地页 URL(Success/Fail/Cancel)。 |
| 代码 | 说明 |
|---|---|
| 0 | 成功 |
| E9008 | 订单信息不存在 |
| E9999 | 未知错误 |
| B11095 | 非法请求 |
| Z00001 | appid 字段非法 |
| Z00003 | appid 字段错误 |
| Z00004 | timestamp 字段非法 |
| Z00005 | sign 字段非法 |
| Z00007 | sign 字段验签失败 |
| Z00011 | payMethod 字段非法 |
| Z00013 | extra 字段非法 |
| Z00016 | currency 字段非法 |
| Z00018 | orderAmt 字段非法 |
| Z00020 | orderAmt 字段非法(币种为 LAK 时不允许小数) |
| Z00021 | merchantId 字段非法 |
| Z00023 | orderNo 字段非法 |
| Z00025 | subject 字段非法 |
| Z00032 | callBackUrl 字段非法 |
| Z00035 | successPageUrl 字段非法 |
| Z00038 | failurePageUrl 字段非法 |
| Z00039 | 交易失败 |
| Z00043 | cancelPageUrl 字段非法 |
| Z00044 | merchantId 字段错误 |
| Z00046 | 白名单认证失败 |
| Z00047 | 不支持该支付渠道 |
| Z00048 | 该订单的 payMethod 当前不支持退款 |
| Z00049 | refundOrderNo 字段非法 |
| Z00051 | 订单信息不存在 |
| Z00053 | refundOrderAmt 字段非法 |
| Z00055 | refundOrderAmt 字段非法(币种为 LAK 时不允许小数) |
| Z01002 | 协议错误 |
| Z01004 | 收款账户不存在 |
| Z01005 | 账户状态异常 |
| Z01008 | 订单已完成 |
| Z01009 | 订单已过期 |
| Z01010 | 该订单支付失败 |
| Z01011 | 订单已取消 |
| Z01012 | appId 或 merchantId 无效 |
| Z01017 | 已出账订单不支持退款 |
| Z01018 | 活动订单不支持部分退款 |
| Z01020 | 退款金额超过实际支付金额 |
| Z01022 | 门店状态异常 |
| Z01023 | 账户状态异常 |
| Z01026 | 退款订单号已存在 |
| Z01028 | 订单号不可用,请更换 |
| 状态 | 说明 |
|---|---|
| 0 | 已创建 |
| 1 | 支付中 |
| 3 | 成功 |
| 4 | 退款中 |
| 5 | 部分退款 |
| 6 | 已退款 |
| 7 | 取消 |
| 8 | 已过期 |
| 9 | 已取消 |
| 10 | 失败 |
Nongbone Road, Number 298, Unit18, Phonxay Village, Xaysettha District, Vientiane Capital, Laos
+856 1801
如需申请接入、联调或确认生产参数,请联系 NewPay 团队。
以下内容帮助合作方快速理解接入重点;详细字段、表格、代码示例和流程图可在左侧 API 文档目录中逐项查看。
开通商户后获取 appId、商户号和密钥信息,用于接口请求、签名和验签。
支持网站、App、H5、微信相关场景及 NewPay App 支付等多种接入方式。
以 V2 接口为主,覆盖统一下单、订单查询、退款、退款查询和用户信息查询。
接口请求使用 SHA256withRSA 签名,支付结果和退款结果通过回调通知。