中付-机构交易流水通知内容
2023-12-19 00:39:00
把你的接口部署到线上之后,跟中付的人说一下,他们就会把你的接口与你的服务商号进行关联。
每当有自己服务商名下pos机交易时就会自动推送到你的接口,这不是实时的,可能会有几分钟的延时。
dataList是一个数组,一般为一个元素,但是有时候会有多个元素。
{
"configAgentId": "87200005",
"dataList": [
{
"sysRespDesc": "交易[]返回[00]:交易成功",
"agentId": "87200005",
"amount": "100000",
"batchNo": "000004",
"authCode": "170010",
"sysRespCode": "00",
"traceNo": "000351",
"settleAmount": "99400",
"cardType": "0",
"settleDate": "20200422",
"mobileNo": "180****0000",
"feeType": "B",
"cardNo": "623094*********2550",
"termModel": "T3",
"merchLevel": "2",
"merchantName": "新乡餐饮(测试商户)个体商户冯",
"rrn": "170009361911",
"sysTraceNo": "000351",
"termId": "01612571",
"termSn": "00005702230010000103",
"tranTime": "20200421170009",
"merchantId": "872491555410010",
"inputMode": "072",
"tranCode": "020000"
},
{
"sysRespDesc": "交易[]返回[00]:交易成功",
"agentId": "87200005",
"amount": "1",
"batchNo": "000001",
"authCode": "170016",
"sysRespCode": "00",
"traceNo": "000050",
"settleAmount": "1",
"cardType": "0",
"settleDate": "20200422",
"mobileNo": "180****0000",
"feeType": "B",
"cardNo": "621483******5142",
"termModel": "F7",
"merchLevel": "2",
"merchantName": "个体商户冯",
"rrn": "170016361912",
"sysTraceNo": "000050",
"termId": "01612605",
"termSn": "00000304R1NL00000361",
"tranTime": "20200421170016",
"merchantId": "872491555410010",
"inputMode": "911",
"tranCode": "020000"
}
],
"sendBatchNo": "000200",
"sendNum": 2,
"sendTime": "20200421170019",
"sign": "26958a257194a457e1cc5f1c0745545c",
"transDate": "20200421"
}
对应的java实体类:
?
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("commercial_tenant_order_zf")
public class CommercialTenantOrderZF {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 020000 消费 加款
* 020002 消费撤销 减款
* 020003 消费冲正 减款
* 020023 消费撤销冲正 加款
* U20000 电子现金 加款
* T20003 日结消费冲正 减款
* T20000 日结消费 加款
* 024100 预授权完成 加款
* 024102 预授权完成撤销 减款
* 024103 预授权完成冲正 减款
* 024123 预授权完成撤销 冲正 加款
* 020001 退货 减款
*/
@TableField("tranCode")
private String tranCode; // 交易码,根据这个判断他的交易类型
@TableField("agentId")
private String agentId; // 商户直属机构号
@TableField("tranTime")
private String tranTime; // 交易时间
@TableField("cardNo")
private String cardNo; // 卡号ji
@TableField("traceNo")
private String traceNo; // 凭证号
@TableField("sysTraceNo")
private String sysTraceNo; // 系统流水号
@TableField("channelTraceNo")
private String channelTraceNo; // 渠道凭证号
@TableField("channelSerialNo")
private String channelSerialNo; // 渠道流水号
@TableField("channelRrn")
private String channelRrn; // 渠道参考号
@TableField("rrn")
private String rrn; // 参考号
@TableField("authCode")
private String authCode; // 授权码
@TableField("batchNo")
private String batchNo; // 终端批次号
@TableField("orderId")
private String orderId; // 订单号
@TableField("inputMode")
private String inputMode; // 输入方式
@TableField("cardType")
private String cardType; // 卡类型
@TableField("bankName")
private String bankName; // 发卡行
@TableField("merchantId")
private String merchantId; // 商户号
@TableField("merchLevel")
private String merchLevel; // 商户类别
@TableField("termId")
private String termId; // 终端号
@TableField("termSn")
private String termSn; // 终端SN
@TableField("termModel")
private String termModel; // 终端型号
@TableField("mobileNo")
private String mobileNo; // 商户手机号
@TableField("merchantName")
private String merchantName; // 商户名称
@TableField("amount")
private BigDecimal amount; // 交易金额
@TableField("o_amount")
private BigDecimal oAmount; // 交易金额备用字段
@TableField("settleAmount")
private BigDecimal settleAmount; // 结算金额
@TableField("feeType")
private String feeType; // 手续费计算类型
@TableField("settleDate")
private String settleDate; // 清算日期
@TableField("sysRespCode")
private String sysRespCode; // 收单平台应答码
@TableField("sysRespDesc")
private String sysRespDesc; // 收单平台应答描述
@TableField("createtime")
private String createtime; // 写入平台时间
@TableField("updatetime")
private String updatetime; // 修改时间
@TableField("is_chuli")
private Boolean isChuli; // 订单状态
@TableField("logno")
private String logno; // 交易日期+参考号
public Boolean getChuli() {
if (this.isChuli == null)
return false;
return isChuli;
}
public String getLogno() {
if (logno == null)
return "";
return logno;
}
}
对应的数据表sql:
?
CREATE TABLE `commercial_tenant_order_zf` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`tranCode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '交易码\r\n020000 消费\r\n020002 消费撤销\r\n020003 消费冲正\r\n020023 消费撤销冲正\r\nU20000 电子现金\r\nT20003 日结消费冲正\r\nT20000 日结消费\r\n024100 预授权完成\r\n024102 预授权完成撤销\r\n024103 预授权完成冲正\r\n024123 预授权完成撤销 冲正\r\n020001 退货\r\n02B100 支付宝被扫\r\n02B200 支付宝主扫\r\n02W100 微信被扫\r\n02W200 微信主扫\r\n02Y100 银联被扫\r\n02Y200 银联主扫\r\n02Y600 银联二维码撤销\r\n02W100 微信被扫\r\n02W200 微信主扫\r\n02Y100 银联被扫\r\n02Y200 银联主扫\r\n02Y600 银联二维码撤销',
`agentId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商户直属机构号',
`tranTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '交易时间 YYYYMMDDHHmmss',
`cardNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '卡号',
`traceNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '凭证号',
`sysTraceNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '系统流水号',
`channelTraceNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '渠道凭证号',
`channelSerialNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '渠道流水号',
`channelRrn` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '渠道参考号',
`rrn` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参考号',
`authCode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '授权码',
`batchNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终端批次号',
`orderId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号',
`inputMode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入方式\r\n000 未指明\r\n011 手工凭密\r\n012 手工无密\r\n021 磁条凭密\r\n022 磁条无密\r\n051 IC卡凭密\r\n052 IC卡无密\r\n071 闪付凭密\r\n072 闪付无密\r\n031 被扫(B 扫C)\r\n032 主扫(C 扫 B)',
`cardType` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '卡类型 0:借记卡,1:信用卡',
`bankName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发卡行',
`merchantId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商户号',
`merchLevel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商户类别 1 - A类商户; 2 - B类商户; 3 - C类商户; 4 - Z 类商户',
`termId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终端号',
`termSn` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终端SN',
`termModel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '终端型号',
`mobileNo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商户手机号',
`merchantName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商户名称',
`amount` decimal(20, 4) NULL DEFAULT NULL COMMENT '交易金额',
`o_amount` decimal(20, 4) NULL DEFAULT NULL COMMENT '交易金额备用字段',
`settleAmount` decimal(20, 4) NULL DEFAULT NULL COMMENT '结算金额',
`feeType` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手续费计算类型 Y - 优惠,M - 减免,B - 标准,YN - 云闪付NFC, YM - 云闪付双免 ',
`settleDate` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '清算日期',
`sysRespCode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收单平台应答码\r\n00 交易成功\r\n01 请持卡人与发卡银行联\r\n03 无效商户\r\n04 此卡被没收\r\n05 持卡人认证失败\r\n07 没收卡\r\n10 交易成功,但为部分承兑\r\n11 成功,VIP 客户\r\n12 无效交易\r\n13 无效金额\r\n14 无效卡号\r\n15 此卡无对应发卡方\r\n21 该卡未初始化或睡眠卡\r\n22 操作有误,或超出交易允许天数\r\n25 没有原始交易记录\r\n30 请重试\r\n34 作弊卡\r\n38 密码错误次数超限,请与发卡方联系\r\n40 发卡方不支持的交易类型\r\n41 挂失卡\r\n42 此卡为黑卡\r\n43 被窃卡\r\n45 交易失败,请使用芯片\r\n51 可用余额不足\r\n54 该卡已过期\r\n55 密码错\r\n57 不允许此卡交易\r\n58 发卡方不允许该卡在本终端进行此交易\r\n59 卡片校验错\r\n61 交易金额超限\r\n62 受限制的卡\r\n64 交易金额与原交易不匹配\r\n65 超出消费次数限制\r\n68 交易超时,请重试\r\n75 密码错误次数超限\r\n90 系统日切,请稍后重试\r\n91 发卡方状态不正常,请稍后重试\r\n92 发卡方线路异常,请稍后重试\r\n94 拒绝,重复交易,请稍后重试\r\n96 拒绝,系统出错,请稍后重试\r\n97 终端未登记\r\n98 发卡方超时\r\n99 PIN格式错,请重新签到\r\nA0 MAC校验错,请重新签到\r\nA1 转账货币不一致\r\nA2 交易成功,请向发卡行确认\r\nA3 账户不正确\r\nA4 交易成功,请向发卡行确认\r\nA5 交易成功,请向发卡行确认\r\nA6 交易成功,请向发卡行确认\r\nA7 拒绝,系统异常,请稍后重试\r\nB1 收单方不允许本商户进行此交易\r\nB2 收单方不允许该种卡在本商户进行交易\r\nB3 商户不支持免密交易\r\nB4 交易失败,IC借记卡单笔金额超限\r\nB5 交易失败,IC借记卡单日金额超限\r\nB6 交易失败,IC借记卡当月金额超限\r\nB7 交易失败,二维码单笔金额超限\r\nB8 交易失败,二维码单日金额超限\r\nB9 交易失败,二维码单日金额超限\r\nBA 交易失败,磁条借记卡单笔金额超限\r\nBB 交易失败,磁条借记卡单日金额超限\r\nBC 交易失败,磁条借记卡当月金额超限\r\nBD 商户资料不全,无法交易\r\nC0 交易失败,不支持信用卡交易\r\nC1 交易失败,终端未开通\r\nC2 交易失败,商户未开通\r\nC3 交易失败,IC信用卡单笔金额超限\r\nC4 交易失败,IC信用卡单日金额超限',
`sysRespDesc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收单平台应答描述',
`createtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '写入平台时间',
`updatetime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改时间',
`is_chuli` tinyint(1) NOT NULL DEFAULT 0 COMMENT '订单状态 0未处理 1已处理',
`logno` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '交易日期+参考号 确定 唯一 一笔交易',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1655 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '中付--交易流水' ROW_FORMAT = COMPACT;
Controller直接用@RequestBody接收就行。
?
@RestController
@RequestMapping("/admin/CommercialTenantOrderZF")
public class CommercialTenantOrderZFController {
@Autowired
CommercialTenantOrderZFService commercialTenantOrderZFService;
/**
* 中付推送到这个接口上,对应文档:服务商交易通知API文档-V1->机构交易流水通知内容
* @param commercialTenantOrderZFPush,中付推送的:”机构交易流水流水通知“
* @return
*/
@PostMapping("/add")
public ResponseResult add(@RequestBody CommercialTenantOrderZFPush<CommercialTenantOrderZF> commercialTenantOrderZFPush) {
return commercialTenantOrderZFService.add(commercialTenantOrderZFPush);
}
}
文章来源:https://blog.csdn.net/LYXlyxll/article/details/135073251
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!