123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- #ifndef _ALIPAY_THIRD_H
- #define _ALIPAY_THIRD_H
- #include "alipay_common.h"
- #include "wxpay_common.h"
- typedef enum{
- ALIPAY_BIND_START=0,//绑定提示页面
- ALIPAY_BIND_ING,//绑定进行中
- ALIPAY_BIND_FINISH,//绑定完成
- ALIPAY_BIND_FAIL,//绑定失败
- ALIPAY_BIND_OK,
- ALIPAY_PAY_ERROR,//支付码获取出错,重新绑定
- }alipay_status_e;
- typedef enum{
- WXPAY_BIND_START=0,//绑定提示页面
- WXPAY_BIND_ING,//绑定进行中
- WXPAY_BIND_FINISH,//绑定完成
- WXPAY_BIND_FAIL,//绑定失败
- WXPAY_BIND_OK,
- WXPAY_PAY_ERROR,//支付码获取出错,重新绑定
- WXPAY_PAY_AGAIN_ERROR,//支付码时间错误,提示页面
- }wxpay_status_e;
- void alipay_slave_send_noti_data(unsigned char buf[],unsigned char len);
- //定时器超时触发的回调
- void alipay_send_ble_timeout(void);
- //实现定时器 此定时器使用单次模式
- void alipay_send_ble_timer_start(void);
- //蓝牙从机向主机发送数据,内部已实现队列,用户直接实现ble发送即可
- void wxpay_slave_send_noti_data(unsigned char buf[],unsigned char len);
- //定时器超时触发的回调
- void wxpay_send_ble_timeout(void);
- //实现定时器 此定时器使用单次模式
- void wxpay_send_ble_timer_start(void);
- //实现获取mac地址 研究下mac地址显示方向
- void third_paylib_get_mac_addr(unsigned char mac_addr[]);
- //实现获取unix时间搓
- unsigned int third_paylib_get_unix_second(void);
- //实现随机数
- void third_rand_get_value(unsigned char rand_buf[],unsigned char *len);
- //lib库会对flash进行连续的读写擦除操作,用户需注意!!!!!!!
- void third_paylib_flash_read_data(unsigned int addr,unsigned char read_data[],unsigned short len);
- void third_paylib_flash_write_data(unsigned int addr,unsigned char write_data[],unsigned short len);
- //由于绑定成功后 会处理较长时间,需要在擦除flash时增加清除看门狗的动作!!!!!!
- void third_paylib_flash_erase_page(unsigned int addr);
- /****************
- 支付宝打印调试
- ***********************/
- void third_alipay_printf(const char *format, int32_t value);
- /****************
- 微信打印调试
- ***********************/
- void third_wxpay_printf(const char *format, int32_t value);
- /****************
- 动态申请内存
- *****************/
- unsigned char * third_wxcodepay_malloc(size_t size);
- /****************
- * @brief 动态内存重分配接口
- * @note 注意需要和标准库实现一致,即realloc不影响原部分内存
- *****************/
- unsigned char * third_wxcodepay_realloc(void* buf, size_t new_size);
- /****************
- 动态内存释放接口
- *****************/
- void third_wxcodepay_free(void* buf);
- /**********************
- 手机向手表支付宝profile 写入蓝牙数据
- 用户自行在profile的write中调用此接口
- **********************/
- void alipay_master_write_data(unsigned char buf[],unsigned char len);
- /**********************
- 手机向手表支付宝profile 写入蓝牙数据
- 用户自行在profile的write中调用此接口
- 此接口用户接收app授权数据 和alipay_master_write_data放在一起调用
- **********************/
- void alipay_master_write_data_auth(unsigned char buf[],unsigned char len);
- /**********************
- 手机向手表微信profile 写入蓝牙数据
- 用户自行在profile的write中调用此接口
- **********************/
- void wxpay_master_write_data(unsigned char buf[],unsigned char len);
- /********************************************************
- 每次进入支付页面时调用,会校验license是否生效
- 0为成功 1为有校验数据但校验失效 2为无校验数据
- type:0 进入支付宝页面
- type:1 进入微信界面
- *********************************************/
- unsigned char pay_lib_init(unsigned char type);
- /**********************************
- 获取绑定状态
- unix_second:传入当前unix时间
- is_connected:传入当前连接状态
- type:0为预留
- 1为强制刷新支付码(外部点击刷新支付码时使用) 建议首次获取支付码时也设置为1
- 2为更新时间(app同步时间后,调用一次触发lib更新时间戳)
- 返回:绑定状态
- 当返回 ALIPAY_BIND_FAIL时,用户需要重新调用pay_lib_init对lib库进行初始化
- 当返回 ALIPAY_PAY_ERROR时, 用户需要先进行解绑再调用pay_lib_init初始化
- ****************************/
- alipay_status_e alipay_get_bind_status(unsigned int unix_second,unsigned char is_connected,unsigned char type);
- /******************************
- 获取绑定码ui显示数据
- buf:传入屏幕宽度大小的数组
- line:传入当前屏幕刷到第几行
- *******************************/
- void alipay_get_bond_code_ui(unsigned char buf[],unsigned short line);
- /******************************
- 获取绑定码数据,由用户自行绘制ui 建议采用code128C编码格式
- buf:长度为128大小的数组
- buf_size:返回当前条形码数据长度
- *******************************/
- void alipay_get_bind_code(unsigned char buf[],unsigned char *buf_size);
- /******************************
- 获取付款码ui显示数据
- buf:传入屏幕宽度大小的数组
- line:传入当前屏幕刷到第几行
- *******************************/
- void alipay_get_pay_code_ui(unsigned char buf[],unsigned short line);
- /******************************
- 获取条形码字节数据,由用户自行绘制ui 建议采用code128C编码格式
- buf:长度为128大小的数组
- buf_size:返回当前条形码数据长度
- *******************************/
- void alipay_get_pay_code128(unsigned char buf[],unsigned short *buf_size);
- /******************************
- 获取用户信息数据,由用户自行绘制ui 建议采用code128C编码格式
- nick_name:长度为32大小的数组
- name_len:返回当前用户名大小
- login_id:长度为32大小的数组
- id_len:返回当前用户id大小
- 数据内容为UTF-8
- *******************************/
- void alipay_get_userinfo(unsigned char nick_name[],unsigned short *name_len,unsigned char login_id[],unsigned short *id_len);
- /*********************************
- //解除支付宝绑定接口
- 调用解除绑定后,需要重新调用pay_lib_init对lib库进行初始化
- *************************/
- void alipay_detect_bind(void);
- /**********************************
- 获取绑定状态
- unix_second:传入当前unix时间
- is_connected:传入当前连接状态
- type:type:0为预留
- 1为强制刷新支付码(外部点击刷新支付码时使用) 建议首次获取支付码时也设置为1
- 2为更新时间(app同步时间后,调用一次触发lib更新时间戳)
- 返回:绑定状态
- 当返回 WXPAY_BIND_FAIL时,用户需要重新调用pay_lib_init对lib库进行初始化
- 当返回 WXPAY_PAY_ERROR时, 用户需要先进行解绑再调用pay_lib_init初始化
- ****************************/
- wxpay_status_e wxpay_get_bind_status(unsigned int unix_second,unsigned char is_connected,unsigned char type);
- /******************************
- 获取绑定码ui显示数据
- buf:传入屏幕宽度大小的数组
- line:传入当前屏幕刷到第几行
- *******************************/
- void wxpay_get_bond_code_ui(unsigned char buf[],unsigned short line);
- /******************************
- 获取绑定码数据,由用户自行绘制ui 建议采用code128C编码格式
- buf:长度为128大小的数组
- buf_size:返回当前条形码数据长度
- *******************************/
- void wxpay_get_bind_code(unsigned char buf[],unsigned char *buf_size);
- /******************************
- 获取付款码ui显示数据
- buf:传入屏幕宽度大小的数组
- line:传入当前屏幕刷到第几行
- *******************************/
- void wxpay_get_pay_code_ui(unsigned char buf[],unsigned short line);
- /******************************
- 获取条形码字节数据,由用户自行绘制ui 建议采用code128C编码格式
- buf:长度为128大小的数组
- buf_size:返回当前条形码数据长度
- *******************************/
- void wxpay_get_pay_code128(unsigned char buf[],unsigned short *buf_size);
- /******************************
- 获取用户信息数据,由用户自行绘制ui 建议采用code128C编码格式
- nick_name:长度为32大小的数组
- name_len:返回当前用户名大小
- login_id:长度为32大小的数组
- id_len:返回当前用户id大小
- 数据内容为UTF-8
- *******************************/
- void wxpay_get_userinfo(unsigned char nick_name[],unsigned short *name_len,unsigned char login_id[],unsigned short *id_len);
- /*********************************
- //解除微信绑定接口
- 调用解除绑定后,需要重新调用pay_lib_init对lib库进行初始化
- *************************/
- void wxpay_detect_bind(void);
- #endif
|