跳到主要内容

刷卡支付

  • 刷卡支付仅支持虚拟账户扣款,无法进行小额免密代扣,采用合作方人脸库时,人脸比对通过后可以采用该接口进行人脸支付,也可以在后台采用该接口对某个用户进行订单补扣

请求接口

openplt/jx/pj/scene/canteen/gy/swipeCardPay

公共参数

接口协议 - 公共参数

请求参数

参数必填类型说明
flowNoString流水号
campusIdString园区Id, 未传入时则取配置的园区Id
businessIdString商家编号,未传入时则取配置的商户编号
vPosIdString柜台编号,未传入时则取配置的柜台编号
payAmountNumber支付金额,单位:元,保留2位小数
actualAmountNumber实际支付金额。单位:元,保留2位小数
couponInfoString优惠信息描述,例如满减、定额、折扣
accountNosString账户编号列表,多个NO以英文”,”分隔,如果用户没有可用的账户,该值为空串;
如果不传该 参数,则按照默认账户的 扣款优先级进行支付
cardIdString卡号
custIdString用户唯一标识,智慧食堂系统用户全局唯一编码
outTradeNoString商家订单号,保证唯一
offlineNumber离线标识,0:联机支付,1:离线补扣
offlineTimeString离线签单时间,离线补扣时传,格式: yyyyMMddHHmmss

响应参数

参数必填类型说明
resultString结果标志,Y 表示成功,N 表示失败
errCodeString错误代码
errMsgString错误或操作信息
payAmountNumber支付金额,单位:元,保留2位小数
actualAmountNumber实际支付金额。单位:元,保留2位小数
accountNoString账户编号列表,多个账户用逗号分隔
accountTypeString账户类型
outTradeNoString商家订单号
balanceNumber账户余额
totalBalanceNumber总余额
accountListJsonArray账户明细列表

accountList 列表

参数必填类型说明
accountNoString账户编号
accountTypeString账户类型
tranIdString交易ID
payAmountNumber支付金额
balanceNumber账户余额

请求示例

{
"flowNo": "575031676033803081611297",
"campusId": "campusId_1dac56a3eea5",
"businessId": "businessId_40c7a04d13a4",
"vPosId": "vPosId_10a0abc4053b",
"payAmount": 0.5,
"actualAmount": 0.5,
"couponInfo": "",
"accountNos": "",
"cardId": "123",
"custId": "custId_df441c61aa0e",
"outTradeNo": "300519329778351663925117502",
"offline": 0,
"offlineTime": null
}

返回值示例

{
"result": "Y",
"errCode": null,
"errMsg": null,
"payAmount": 0.5,
"actualAmount": 0.5,
"accountNo": "accountNo_ce5432118890",
"accountType": "01",
"outTradeNo": "300519329778351663925117502",
"balance": 3.5,
"totalBalance": 4.46,
"accountList": []
}

多账户返回值示例

{
"result": "Y",
"errCode": null,
"errMsg": null,
"payAmount": 10.5,
"actualAmount": 10.5,
"accountNo": "accountNo_ce5432118890,accountNo_ce5432118891",
"accountType": "",
"outTradeNo": "300069532150626721301721019",
"balance": null,
"totalBalance": 2.46,
"accountList": [
{
"accountNo": "accountNo_ce5432118890",
"accountType": "01",
"tranId": "20240914810250093135",
"payAmount": 10,
"balance": 0
},
{
"accountNo": "accountNo_ce5432118891",
"accountType": "02",
"tranId": "20240914810250093136",
"payAmount": 0.5,
"balance": 2.46
}
]
}

错误返回值示例

{
"result": "N",
"errCode": "YALPAY005ICB",
"errMsg": "账户余额不足!",
"payAmount": null,
"actualAmount": null,
"accountNo": null,
"accountType": null,
"outTradeNo": "300067624646034914266242190",
"balance": null,
"totalBalance": null,
"accountList": null
}