刷卡支付
- 刷卡支付仅支持虚拟账户扣款,无法进行小额免密代扣,采用合作方人脸库时,人脸比对通过后可以采用该接口进行人脸支付,也可以在后台采用该接口对某个用户进行订单补扣
请求接口
openplt/jx/pj/scene/canteen/gy/swipeCardPay
公共参数
请求参数
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| flowNo | 是 | String | 流水号 |
| campusId | 否 | String | 园区Id, 未传入时则取配置的园区Id |
| businessId | 否 | String | 商家编号,未传入时则取配置的商户编号 |
| vPosId | 否 | String | 柜台编号,未传入时则取配置的柜台编号 |
| payAmount | 是 | Number | 支付金额,单位:元,保留2位小数 |
| actualAmount | 是 | Number | 实际支付金额。单位:元,保留2位小数 |
| couponInfo | 否 | String | 优惠信息描述,例如满减、定额、折扣 |
| accountNos | 否 | String | 账户编号列表,多个NO以英文”,”分隔,如果用户没有可用的账户,该值为空串; 如果不传该 参数,则按照默认账户的 扣款优先级进行支付 |
| cardId | 是 | String | 卡号 |
| custId | 是 | String | 用户唯一标识,智慧食堂系统用户全局唯一编码 |
| outTradeNo | 是 | String | 商家订单号,保证唯一 |
| offline | 是 | Number | 离线标识,0:联机支付,1:离线补扣 |
| offlineTime | 否 | String | 离线签单时间,离线补扣时传,格式: yyyyMMddHHmmss |
响应参数
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| result | 是 | String | 结果标志,Y 表示成功,N 表示失败 |
| errCode | 否 | String | 错误代码 |
| errMsg | 否 | String | 错误或操作信息 |
| payAmount | 是 | Number | 支付金额,单位:元,保留2位小数 |
| actualAmount | 是 | Number | 实际支付金额。单位:元,保留2位小数 |
| accountNo | 是 | String | 账户编号列表,多个账户用逗号分隔 |
| accountType | 否 | String | 账户类型 |
| outTradeNo | 是 | String | 商家订单号 |
| balance | 否 | Number | 账户余额 |
| totalBalance | 是 | Number | 总余额 |
| accountList | 是 | JsonArray | 账户明细列表 |
accountList 列表
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
| accountNo | 是 | String | 账户编号 |
| accountType | 是 | String | 账户类型 |
| tranId | 是 | String | 交易ID |
| payAmount | 是 | Number | 支付金额 |
| balance | 是 | Number | 账户余额 |
请求示例
{
"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
}