下单收银
下单收银
提示
接口说明 统一下单支付, 包含请求扫码支付的二维码串(支持支付宝、QQ 钱包、云闪付) 公众号 JS 支付(支付宝,微信,QQ 钱包,云闪付)微信小程序支付 以及收银台, 网关等
在线调式
请求地址
环境 | HTTPS 请求地址 | 测试环境参数 |
---|---|---|
测试环境 | http://test.sdtlpay.com/openapi/v1 | 测试环境参数 |
正式环境 | http://www.sdtlpay.com/openapi/v1/ | 参考准备接入 |
公共请求参数
字段名 | 中文释义 | 是否必填 | 数据类型 | 备注 |
---|---|---|---|---|
version | 调用的接口版本 | 是 | string | 固定为:1.0 1.0 |
accessId | 开放平台分配给开发者的应用访问 ID | 是 | string | 2014072300007148 |
method | 接口名称 | 是 | string | allinpay.shandong.payment |
format | 请求的参数格式 | 是 | string | 仅支持 JSON |
charSet | 请求使用的编码格式 | 是 | string | 如 utf-8, gbk |
signType | 商户生成签名字符串所使用的签名算法类型 | 是 | string | 目前支持 RSA2 和 SM2,推荐使用 RSA2 |
signData | 商户请求参数的签名 | 是 | string | 详见签名 详见示例 |
timestamp | 发送请求的时间 | 是 | string | 格式"yyyy-MM-dd HH:mm:ss" 2014-07-24 03:07:50 |
authToken | 详见应用授权概述 | 否 | string | |
bizContent | 业务请求参数集合 | 是 | string | 最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
业务请求参数集合
bizContent 业务参数
参数字段 | 中文释义 | 是否必填 | 类型 | 备注 |
---|---|---|---|---|
merCd | 商户号 | 是 | string | 商户号 |
storeCd | 门店号 | 否 | string | 门店编号 |
productCd | 产品 ID | 否 | string | P004500 |
openId | OpenId | 否 | string | 1、微信小程序、微信公众号js 支付等,值为对应的openid必填 2、appIdTp为01,02时必填,01时为对应的支付宝userid,02时为app对应的注册手机号 3、鲁通码接入时,为 holderid 与 token,两个值以英文逗号分隔 |
appIdTp | 场景类型 | 否 | string | 00 微信 01 支付宝 02 app等其他三方接入 03 银联(云闪付) 04 PC端 05 web浏览器 06 SDK |
orderNo | 订单号 | 是 | string | |
payType | 交易类型 | 是 | string | 见备注:交易类型 |
sumAmt | 总额交易 | 否 | string | 单位:元,精确到小数点后两位。不使用积分和优惠卷的时候 同订单金额一致 |
offestAmt | 抵扣金额 | 否 | string | 单位:元,精确到小数点后两位。不使用积分和优惠卷的时候 为 0 |
amount | 订单金额 | 是 | string | 单位:元,精确到小数点后两位 |
splitAcctContent | 追缴分账 | 否 | JSON | 分账明细总金额必须与订单金额amount一致,参见 splitAcctContent 参数 |
pointContent | 积分参数 | 否 | JSON | 参见 pointContent 参数 |
couponContent | 优惠券参数 | 否 | JSON | 参见 CouponContent 参数 |
qrCode | 扫码支付授权码 | 是 | string | 设备读取用户微信或支付宝中的条码或者二维码信息(付款码)。 交易类型为:TX4558时此项必填写 |
isDirectPay | 是否直接支付 | 否 | string | 1直接支付 0或空时不变 |
termId | 二维码码牌id | 否 | string | 表示二维码码牌id或者pos终端号,适用于当面付码牌支付或商家主扫支付 |
notifyUrl | 交易异步通知 | 是 | string | 接收交易的异步通知 |
pageNotifyUrl | 前端页面返回 | 否 | string | 前端页面返回地址 |
goodName | 交易订单商品名称 | 否 | string | 交易订单商品名称 |
goodDesc | 交易订单商户描述 | 否 | string | 交易订单商户描述 |
validTime | 有效期 | 否 | string | 订单有效时间,以分为单位,默认为5 |
httpAgents | HTTP请求头之UserAgent | 否 | string | HTTP请求头的UserAgent |
randomStr | 商户自定义串 | 否 | string | |
remark | 交易备注 | 否 | string |
公共响应参数
字段名 | 中文释义 | 是否必填 | 数据类型 | 备注 |
---|---|---|---|---|
resCode | 网关返回码 | 是 | string | SSSSSS 成功 FFFFFF 失败 |
resMsg | 网关返回码描述 | 是 | string | 网关返回码描述 |
bizCode | 业务返回码 | 是 | string | 参见具体的 API 接口文档 |
bizMsg | 业务返回码描述, | 是 | string | 参见具体的 API 接口文档 |
signType | 签名算法类型 | 是 | string | 目前支持 RSA2 和 SM2,推荐使用 RSA2 |
signData | 商户请求参数的签名 | 是 | string | 详见签名 详见示例 |
resContent | 业务返回参数集合 | 是 | string | 最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
业务返回参数集合
提示
resCode=SSSSSS并且bizCode=100000时, resContent 内参数
参数字段 | 类型 | 说明 |
---|---|---|
merCd | string | 商户号 |
merOrderNo | string | 商户订单号 |
txnOrderNo | string | 平台流水号 |
txnAmt | string | 交易金额 单位:元,精确到小数点后两位 |
payCode | string | |
txnDate | string | 下单日期 |
txnTime | string | 下单时间 |
payCode 参数
说明
条件: 请求的交易类型 payType 为扫码支付、H5收银台(支持快捷、H5)类
状态码:SSSSSS
{
"payUrl": "https://codeimgurl"
}
条件:请求的交易类型为 payType 为 微信-支付宝-银联原生类:js,小程序,app 等
状态码:SSSSSS
{
"timeStamp": "1395712654", //动态获取初始化请求中返回的pay_info参数中timeStamp值
"nonceStr": "e61463f8efa94090b1f366cccfbbb444", //动态获取初始化请求中返回的pay_info参数中nonceStr值
"package": "prepay_id=u802345jgfjsdfgsdg888", //动态获取初始化请求中返回的pay_info参数中package值
"signType": "XXX", //动态获取初始化请求中返回的pay_info参数中signType值
"paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //动态获取初始化请求中返回的pay_info参数中paySign值
}
调用示例
- 扫码支付
将获取的 payUrl 支付连接生成二维码即可扫码支付
- 原生支付(举例微信小程序)
wx.requestPayment({
timeStamp: "", //动态获取初始化请求中返回的payInfo参数中timeStamp值
nonceStr: "", //动态获取初始化请求中返回的payInfo参数中nonceStr值
package: "", //动态获取初始化请求中返回的payInfo参数中package值
signType: "", //动态获取初始化请求中返回的payInfo参数中signType值
paySign: "", //动态获取初始化请求中返回的payInfo参数中paySign值
success: function (res) {},
fail: function (res) {},
complete: function (res) {},
});
- 原生支付(举例微信公众号)
function onBridgeReady() {
WeixinJSBridge.invoke(
"getBrandWCPayRequest",
{
appId: "wx2421b1c4370ec43b", //动态获取初始化请求中返回的payInfo参数中appId值
timeStamp: "1395712654", //动态获取初始化请求中返回的payInfo参数中timeStamp值
nonceStr: "e61463f8efa94090b1f366cccfbbb444", //动态获取初始化请求中返回的payInfo参数中nonceStr值
package: "prepay_id=u802345jgfjsdfgsdg888", //动态获取初始化请求中返回的payInfo参数中package值
signType: "XXX", //动态获取初始化请求中返回的payInfo参数中signType值
paySign: "70EA570631E4BB79628FBCA90534C63FF7FADD89", //动态获取初始化请求中返回的payInfo参数中paySign
},
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
}
);
}
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", onBridgeReady);
document.attachEvent("onWeixinJSBridgeReady", onBridgeReady);
}
} else {
onBridgeReady();
}