Rokato. CosPboc2

中国人民银行PBOC2.0协议COS功能

Constructor

new CosPboc2(cos7816)

构造CosPboc2操作对象

Parameters:
NameTypeDescription
cos7816Cos7816

Cos7816操作对象

Members

(static, readonly) OrderType :number

PBOC订单类型

Type:
  • number
Properties
NameTypeDescription
ED_ADDnumber

存折圈存加款

EP_ADDnumber

钱包圈存加款

ED_SUBnumber

存折圈提减款

ED_ATMnumber

存折取现减款

ED_POSnumber

存折消费减款

EP_POSnumber

钱包消费减款

ED_RENnumber

存折修改透支

EP_ETCnumber

钱包复合消费

ED_ETCnumber

存折复合消费

(static, readonly) PurseType :number

PBOC钱包类型

Type:
  • number
Properties
NameTypeDescription
EDnumber

电子存折 占用文件标识0x0001 支持所有功能 需验证用户PIN口令

EPnumber

电子钱包 占用文件标识0x0002 无需验证PIN消费 不支持提现和透支

Methods

(async) etcWriteLog(sfid, id, mode, data, safe) → {Promise}

复合消费写记录文件数据

Parameters:
NameTypeDefaultDescription
sfidnumber

文件短标识符(0x01~0x1F) 0x00=当前打开的文件

idnumber

写入位置的记录编号或标识 如果为0x00则代表当前记录

modeLogIdMode

记录ID模式 参考LogIdMode

datastring

写入的十六进制字符串数据 注意不能超过创建时定长记录大小

safeRfSafenull

线路安全选项 参考RfSafe方法生成 默认忽略

Returns:

err/msg + retval

Type: 
Promise

(async) etcWriteTlv(sfid, id, mode, tlvData, safe) → {Promise}

复合消费写变长TLV记录文件数据 注意已添加的TLV记录不能改变长度

Parameters:
NameTypeDefaultDescription
sfidnumber

文件短标识符(0x01~0x1F) 0x00=当前打开的文件

idnumber

写入位置的记录编号或标识 如果为0x00则代表当前记录

modeLogIdMode

记录ID模式 参考LogIdMode

tlvDataTlvData

写入的变长记录TLV格式数据 参考TlvData方法生成

safeRfSafenull

线路安全选项 参考RfSafe方法生成 默认忽略

Returns:

err/msg + retval

Type: 
Promise

(async) getBalance(type) → {Promise}

读取余额

Parameters:
NameTypeDescription
typePurseType

钱包类型 参考Rokato.CosPboc2.PurseType

Returns:

err/msg + retval/money

Type: 
Promise

(async) getOrderTac(type, seq) → {Promise}

获取订单认证数据

Parameters:
NameTypeDescription
typeOrderType

订单类型 参考Rokato.CosPboc2.OrderType

seqnumber

订单序号

Returns:

err/msg + retval/tac/mac

Type: 
Promise

(async) lockApp(key, die) → {Promise}

锁定当前应用目录

Parameters:
NameTypeDescription
keyKeyData

主线路安全密钥对象 参考KeyData方法生成

dieboolean

是否锁死,如果为true则为永久锁定无法解锁

Returns:

err/msg + retval

Type: 
Promise

(async) lockCard(key) → {Promise}

永久锁定卡片所有应用目录

Parameters:
NameTypeDescription
keyKeyData

主线路安全密钥对象 参考KeyData方法生成

Returns:

err/msg + retval

Type: 
Promise

(async) orderCommit(orderData) → {Promise}

通用订单提交

Parameters:
NameTypeDescription
orderDataobject

由订单请求响应的订单数据对象

Returns:

err/msg + retval/orderData(提交响应订单数据对象)

Type: 
Promise

(async) orderReq(type, id, key, money, times, number, keyTac) → {Promise}

通用订单请求

Parameters:
NameTypeDefaultDescription
typeOrderType

订单类型 参考Rokato.CosPboc2.OrderType

idnumber

业务密钥标识ID

keyKeyData

业务密钥数据对象 参考KeyData方法生成

moneynumber

订单金额 单位分

timesnumber0

订单时间戳(秒级) 默认0自动获取

numberstring000000000000

订单终端编号-必须为12个十六进制字符串 默认6字节全0x00

keyTacKeyDatanull

订单验证TAC密钥对象 默认空忽略验证

Returns:

err/msg + retval/orderData(请求响应订单数据对象)

Type: 
Promise

(async) renPin(id, oldPin, newPin) → {Promise}

修改用户PIN字符口令

Parameters:
NameTypeDescription
idnumber

口令标识ID

oldPinstring

原字符口令 不能小于3和超过12

newPinstring

新字符口令 不能小于3和超过12

Returns:

err/msg + retval

Type: 
Promise

(async) resetPin(id, key, pin) → {Promise}

重置用户PIN字符口令

Parameters:
NameTypeDescription
idnumber

口令标识ID对应的重置口令密钥标识ID

keyKeyData

重置口令密钥对象 参考KeyData方法生成

pinstring

重置的新字符口令 不能小于3和超过12

Returns:

err/msg + retval

Type: 
Promise

(async) unlockApp(key) → {Promise}

解锁当前应用目录

Parameters:
NameTypeDescription
keyKeyData

主线路安全密钥对象 参考KeyData方法生成

Returns:

err/msg + retval

Type: 
Promise

(async) unlockPin(id, key, pin) → {Promise}

解锁用户PIN字符口令

Parameters:
NameTypeDescription
idnumber

口令标识ID对应的解锁口令密钥标识ID

keyKeyData

解锁口令密钥对象 参考KeyData方法生成

pinstring

正确的字符口令 不能小于3和超过12

Returns:

err/msg + retval

Type: 
Promise

(static) orderTypeStr(type)

获取订单类型名称

Parameters:
NameTypeDescription
typeOrderType

订单类型 参考Rokato.CosPboc2.OrderType

(static) parseOrderLog(logHex) → {object}

解析订单记录数据

Parameters:
NameTypeDescription
logHexstring

23字节订单记录

Returns:

数据异常解析失败返回null 否则返回解析后的对象

Type: 
object