Initial commit: CCU621_M firmware project with BLE debug link support.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
#ifndef VTK_POS_PROTOCOL_H
|
||||
#define VTK_POS_PROTOCOL_H
|
||||
|
||||
#include "publicdata/public_define.h"
|
||||
|
||||
#if (POS_VTK_EN)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "main.h"
|
||||
#include "pos_vtk/vtk_frame.h"
|
||||
|
||||
/* 预扣款 / 结算结果枚举 */
|
||||
typedef enum
|
||||
{
|
||||
VTK_POS_RESULT_UNKNOWN = 0,
|
||||
VTK_POS_RESULT_APPROVED = 1,
|
||||
VTK_POS_RESULT_DECLINED = 2,
|
||||
VTK_POS_RESULT_TIMEOUT = 3
|
||||
} VTK_POS_RESULT_E;
|
||||
|
||||
/* 支付类响应解析结果 */
|
||||
typedef struct
|
||||
{
|
||||
char messageName[4]; /* TLV(0x01) 的消息名,3 字节,末尾补 '\0' */
|
||||
U32_T operationNumber; /* TLV(0x03) 中的操作号(十进制 ASCII) */
|
||||
U32_T amountMinor; /* TLV(0x04) 中的金额(分) */
|
||||
VTK_POS_RESULT_E eResult; /* TLV(0x0D) 中的结果码(简单定义:0/1/2/...) */
|
||||
} VTK_POS_PAY_RESP_T;
|
||||
|
||||
/* 构造预扣款请求帧(CDP)
|
||||
* @param[in] opNumber 会话操作号(Operation number)
|
||||
* @param[in] amountMinor 预扣款金额(分)
|
||||
* @param[out] pOutFrame 输出串口帧缓冲
|
||||
* @param[in] outMax 缓冲区大小
|
||||
* @return U16_T 串口帧长度;0=失败
|
||||
*/
|
||||
U16_T vtk_build_preauth_request(U32_T opNumber, U32_T amountMinor,
|
||||
U8_T *pOutFrame, U16_T outMax);
|
||||
|
||||
/* 构造结算请求帧(CRD)
|
||||
* @param[in] opNumber 会话操作号(同预扣款)
|
||||
* @param[in] amountMinor 最终金额(分)
|
||||
* @param[out] pOutFrame 输出串口帧缓冲
|
||||
* @param[in] outMax 缓冲区大小
|
||||
* @return U16_T 串口帧长度;0=失败
|
||||
*/
|
||||
U16_T vtk_build_settle_request(U32_T opNumber, U32_T amountMinor,
|
||||
U8_T *pOutFrame, U16_T outMax);
|
||||
|
||||
/* 解析来自 POS 的支付类响应(适用于 CDP/CRD)
|
||||
* @param[in] pFrame 串口帧(包含 0x1F 起始和 CRC)
|
||||
* @param[in] frameLen 帧长度
|
||||
* @param[out] pResp 解析出的关键字段
|
||||
* @return U8_T 1=解析成功 0=失败(CRC/TLV/字段缺失等)
|
||||
*/
|
||||
U8_T vtk_parse_payment_response(const U8_T *pFrame, U16_T frameLen,
|
||||
VTK_POS_PAY_RESP_T *pResp);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* POS_VTK_EN */
|
||||
|
||||
#endif /* VTK_POS_PROTOCOL_H */
|
||||
|
||||
Reference in New Issue
Block a user