| 修改内容 | 日期 |
|---|---|
| 初稿 | 2021.10.18 |
| 新增刷卡、扫码消费备注 | 2022.06.30 |
| 新增 history | 2022.06.30 |
| 卡支付新增第三方订单号、扫码支付新增第三方订单号、新增通过第三方订单号查询订单 | 2023.01.08 |
| 查询订单详情、第三方订单详情后,返回订单信息数据 | 2024.1.30 |
| 新增预授权、预授权撤销、预授权完成及预授权完成撤销、担保、担保撤销、担保完成及担保完成撤销的交易 | 2024.5.11 |
| 新增预授权(第三方传入金额和备注)接口、担保(第三方传入金额和备注)接口、自定义小票打印接口、查询银行卡余额接口 | 2024.7.30 |
| 刷卡撤销、刷卡退货、预授权撤销、预授权完成、预授权完成撤销;扫码退货、担保、担保撤销、担保完成、担保完成撤销新增第三方订单号 | 2024.8.15 |
| 刷卡消费、刷卡退货、预授权、预授权撤销、预授权完成、预授权完成撤销;扫码消费、担保新增订货单号 | 2024.8.15 |
| 交易类型:扫码退货、消费撤销、消费退货、预授权撤销及预授权完成撤销新增原订单号 | 2024.8.15 |
| 新增联迪 A8 设备自定义打印方法 | 2024.10.28 |
| 刷卡交易、刷卡撤销、刷卡退货、预授权交易、预授权撤销、预授权完成、预授权完成撤销增加交易完不打印入参;刷卡交易、刷卡撤销增加商户号、终端模式入参;增加扫码接口(v1.4.2) | 2024.12.10 |
| 刷卡交易、刷卡撤销增加商户号、终端模式入参 | 2024.12.13 |
| 新增刷卡交易、卡撤销、卡退货、预授权、预授权撤销、预授权完成、预授权完成撤销返回 base64 编码的电子签名数据;新增卡交易、预授权返回 EMV 数据 | 2025.01.03 |
| 交易(聚合交易)接口支持打印(备用链接)二维码 ;支持交易打印小票新增600商户显示;新增有回调的绑定接口;新增签到接口、批结算入口接口、参数设置入口接口(V1.4.4) | 2025.04.07 |
| 交易(聚合交易)增 加V2接口支持刷卡撤销/刷卡退货/预授权撤销/预授权完成/预授权完成撤销/担保撤销/担保完成/担保完成撤销可以直接进入交易确认页面(V1.4.5) | 2025.07.01 |
| 聚合交易-预授权接口增加传入参数备注(V1.4.5) | 2025.08.05 |
| 签到成功回调增加商户名称、商户号、8位的终端编号(存量兼容) | 2025.09.24 |
| 增加处理广播的不加密回调,并增加k值空判断,优化对应提示;文档增加错误码(V1.4.6) | 2025.09.24 |
| 第三方查询接口增加非必须入参orderDate;文档补充回调码说明(V1.4.7) | 2026.01.06 |
| 增加卡交易(包含刷卡、卡撤销、卡退货、预授权类交易)可传入补充小票打印;增加锁定星驿付app接口;新增参数设置接口控制是否显示账本功能(V1.4.8) | 2026.01.20 |
bcprov-jdk15on-1.50.jar(包含于 JAR 包中)
PostarSdk.jar
备注:必须设置,未声明 PostarService 没有回调
<application>
<service android:name="cn.postar.sdk.service.PostarService" android:exported="false" />
</application>startActivity(new Intent(Settings.ACTION_SETTINGS));<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path" />
</provider><?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="." />
</paths>dependencies {
...
implementation 'com.google.code.gson:gson:2.8.9'
}功能:初始化
参数:k1,k2,k3
说明:固定值,需要邮件申请
public static void init(String var0,String var1,String var2)功能:商户绑定/绑定查询
//参数:context
//无回调,如未绑定跳转到绑定界面,如已绑定跳转到首页
public static void checkBind(Context var0)
//参数:context,callback
//有回调,如未绑定跳转到绑定界面,如已绑定状态回调成功
public static void checkBind(Context var0, DefaultCallback var1)
//正确回调数据注释
{
"custId":"600商户号",
"customName":"商户名称",
"terminalNo":"终端编号",
"terminalSn":"终端SN"
}
//正确回调示例
{
"custId":"60000010550744",
"customName":"韵爷的测试旅社",
"terminalNo":"19434856",
"terminalSn":"00000104253LCA881410"
}功能:订单详情、订单状态
参数:context,orderNo,orderTag(1 支付宝 ; 2 微信; 9 银联; 11 刷卡; 12 数币),callback
说明:有回调
public static void order(Context var0,String var1,String var2,DefaultCallback var3)
//正确回调数据注释
{
"orderNo": "订单号",
"amount": "交易金额",
"customId": "857商户ID",
"customName": "商户名称",
"terminalNo": "终端编号",
"cardNo": "卡号",
"referenceNo": "参考号",
"batchNo": "批次号",
"voucherNo": "凭证号",
"authNo": "授权码",
"cardType": "卡类型 01:借记卡 02:贷记卡 03:准贷记卡 04:预付卡",
"payTime": "订单时间",
"operator": "操作员",
"payType": "交易类型",
"bankName": "发卡行名称",
"acquiringNo": "收单行",
"status": "订单状态",
"message": "返回信息",
"printFlag": "打印小票标识",
"cardMaker": "卡组织",
"terName": "终端名称",
"clerk": "操作人",
"customNo": "商户编号",
"orderCreateTime": "订单创建时间",
"payNo": "微信支付宝官方订单号(扫码)",
"payWay": "支付方式:0银联主扫、1支付宝主扫、2微信主扫、3付款码支付(银联被扫)、4微信带金额被扫、5公众号支付(微信被扫)、6支付宝带金额被扫、7服务窗支付(支付宝被扫)、8小程序普通交易、9卡券购买、10卡券核销、19卡券购买(新营销)、20卡券核销(新营销)、11刷卡、12插卡、13银联带金额被扫、21挥卡、51支付宝刷脸、52微信刷脸、60数币主扫",
"tradingType": "交易类型:01正常交易02退货03撤销04免签免密05闪付标准类06闪付优惠类07预授权08预授权-完成09预授权-撤销10预授权-完成撤销 11担保 12担保-完成 13担保-撤销 14担保-完成撤销21免密免签未优惠31数币消费32数币退货",
"signPic": "base64编码的电子签名",
"tOrderNo": "条形码(扫码才有,目的通道流水号)",
"hbStages": "1 终端激活服务费 0正常订单",
"oldPayType": "原订单记录 交易类型",
"oldOrderTime": "原订单记录 订单时间",
"oldAmount": "原订单记录 交易金额,单位元",
"oldAccAmount": "//原订单记录 剩余退货金额,单位元",
"codeNo": "终端机身号",
"oldOrderStatus": "返回原订单状态(1:已完成,2:已撤销)",
"terminalBodyNo": "终端机身号",
"oldOfficialMoney": "商户官方出资金额,单位元",
"thirdType": "第三方前置类型",
"threeOrderNo": "第三方订单号",
"goodsOrder": "订货单号",
"oldOrderNo": "原交易订单号",
"tag": "操作人"
}
//正确回调示例
{
"cardMaker": "中国银联",
"oldAmount": "",
"cardType": "借记卡",
"terminalNo": "10022300",
"orderCreateTime": "20240228181058",
"oldAccAmount": "",
"tOrderNo": "",
"oldOfficialMoney": "",
"amount": "RMB -12.00",
"payTime": "20240228181058",
"status": "4",
"hbStages": "",
"bankName": "中国建设银行",
"acquiringNo": "48570000",
"codeNo": "00000304N7NL00219486",
"referenceNo": "022812313077",
"cardNo": "621700**********0039/C",
"tradingType": "02",
"customName": "福州市虾米测试测试",
"oldOrderStatus": "",
"tag": "11",
"voucherNo": "411501",
"oldOrderTime": "",
"signPic": "iVBORWOKGgOAAAANSUhEUgAAAlgAAALVCAYAAAC5gbsRAAAABHNCSVQICAgIfAhkiAAAGK...",
"terName": "奥赛博",
"orderNo": "2024022801411501",
"payType": "退货",
"thirdType": "",
"clerk": "",
"operator": "",
"oldPayType": "",
"printFlag": "0",
"batchNo": "000001",
"customId": "85735017011G025",
"terminalBodyNo": "",
"payNo": "",
"authNo": "000000",
"payWay": "21",
"message": "查询成功",
"threeOrderNo": "203782100380452915490000",
"goodsOrder": "203782100380452915490000",
"oldOrderNo": "20378210038045322",
"customNo": "60000000750008"功能:订单详情、订单状态
//参数:context,threeOrderNo(第三方订单号),orderTag(1 支付宝 ; 2 微信; 9 银联; 11 刷卡; 12 数币),callback
//说明:有回调,仅支持查询三天内订单
public static void orderFromThree(Context var0,String var1,String var2,DefaultCallback var3)
//参数:context,threeOrderNo(第三方订单号),orderTag(1 支付宝 ; 2 微信; 9 银联; 11 刷卡; 12 数币),orderDate(订单日期yyyyMMdd),callback
//说明:有回调,指定日期查询
public static void orderFromThree(Context var0,String var1,String var2,String var3,DefaultCallback var4)
//正确回调数据注释
{
"orderNo": "订单号",
"amount": "交易金额",
"customId": "857商户ID",
"customName": "商户名称",
"terminalNo": "终端编号",
"cardNo": "卡号",
"referenceNo": "参考号",
"batchNo": "批次号",
"voucherNo": "凭证号",
"authNo": "授权码",
"cardType": "卡类型 01:借记卡 02:贷记卡 03:准贷记卡 04:预付卡",
"payTime": "订单时间",
"operator": "操作员",
"payType": "交易类型",
"bankName": "发卡行名称",
"acquiringNo": "收单行",
"status": "订单状态",
"message": "返回信息",
"printFlag": "打印小票标识",
"cardMaker": "卡组织",
"terName": "终端名称",
"clerk": "操作人",
"customNo": "商户编号",
"orderCreateTime": "订单创建时间",
"payNo": "微信支付宝官方订单号(扫码)",
"payWay": "支付方式:0银联主扫、1支付宝主扫、2微信主扫、3付款码支付(银联被扫)、4微信带金额被扫、5公众号支付(微信被扫)、6支付宝带金额被扫、7服务窗支付(支付宝被扫)、8小程序普通交易、9卡券购买、10卡券核销、19卡券购买(新营销)、20卡券核销(新营销)、11刷卡、12插卡、13银联带金额被扫、21挥卡、51支付宝刷脸、52微信刷脸、60数币主扫",
"tradingType": "交易类型:01正常交易02退货03撤销04免签免密05闪付标准类06闪付优惠类07预授权08预授权-完成09预授权-撤销10预授权-完成撤销 11担保 12担保-完成 13担保-撤销 14担保-完成撤销21免密免签未优惠31数币消费32数币退货",
"signPic": "base64编码的电子签名",
"tOrderNo": "条形码(扫码才有,目的通道流水号)",
"hbStages": "1 终端激活服务费 0正常订单",
"oldPayType": "原订单记录 交易类型",
"oldOrderTime": "原订单记录 订单时间",
"oldAmount": "原订单记录 交易金额,单位元",
"oldAccAmount": "//原订单记录 剩余退货金额,单位元",
"codeNo": "终端机身号",
"oldOrderStatus": "返回原订单状态(1:已完成,2:已撤销)",
"terminalBodyNo": "终端机身号",
"oldOfficialMoney": "商户官方出资金额,单位元",
"thirdType": "第三方前置类型",
"threeOrderNo": "第三方订单号",
"goodsOrder": "订货单号",
"oldOrderNo": "原交易订单号",
"tag": "操作人"
}
//正确回调示例
{
"cardMaker": "中国银联",
"oldAmount": "",
"cardType": "借记卡",
"terminalNo": "10022300",
"orderCreateTime": "20240228181058",
"oldAccAmount": "",
"tOrderNo": "",
"oldOfficialMoney": "",
"amount": "RMB -12.00",
"payTime": "20240228181058",
"status": "4",
"hbStages": "",
"bankName": "中国建设银行",
"acquiringNo": "48570000",
"codeNo": "00000304N7NL00219486",
"referenceNo": "022812313077",
"cardNo": "621700**********0039/C",
"tradingType": "02",
"customName": "福州市虾米测试测试",
"oldOrderStatus": "",
"tag": "11",
"voucherNo": "411501",
"oldOrderTime": "",
"signPic": "",
"terName": "奥赛博",
"orderNo": "2024022801411501",
"payType": "退货",
"thirdType": "",
"clerk": "",
"operator": "",
"oldPayType": "",
"printFlag": "0",
"threeOrderNo": "203782100380452915490000",
"goodsOrder": "203782100380452915490000",
"oldOrderNo": "20378210038045322",
"batchNo": "000001",
"customId": "85735017011G025",
"terminalBodyNo": "",
"payNo": "",
"authNo": "000000",
"payWay": "21",
"message": "查询成功",
"customNo": "60000000750008",
"signPic":"iVBORWOKGgOAAAANSUhEUgAAAlgAAALVCAYAAAC5gbsRAAAABHNCSVQICAgIfAhkiAAAGK..."功能:跳转到订单列表界面
参数:context
说明:无回调
public static void history(Context var0)功能:查询银行卡余额
参数:context,callback
说明:有回调
public static void getBalance(Context context,DefaultCallback callback)
//正确回调数据注释
{
"message": "返回信息",
"card_no": "卡号",
"balance_money": "金额"
}
//正确回调示例
{
"message": "余额查询成功",
"card_no": "3568867273643351",
"balance_money": "0.04"
}功能:自定义打印
参数:context,printContent(根据打印命令文档拼接的打印内容),bitmapMap(printContent 中的图片资源,key 需要和 printContent 中的图片资源名保持一致),callback
说明:有回调
public static void diyPrint(Context var0,String var1,@Nullable HashMap<String, Bitmap> var2,DefaultCallback var3)
//正确回调数据注释
{
"message": "返回信息"
}
//正确回调示例
{
"message": "小票打印成功"
}功能:打印指定一笔扫码交易
参数:context,orderNo 目前仅支持国通订单号和目的通道流水号,callback
说明:有回调
public static void printScanOrder(Context context,String orderNo,DefaultCallback callback)
//正确回调数据注释
{
"message": "返回信息"
}
//正确回调示例
{
"message": "小票打印成功"
}功能:打印指定一笔刷卡交易
参数:context,referenceNo 12 位的参考号,callback
说明:有回调
public static void printCardOrder(Context context,String referenceNo,DefaultCallback callback)
//正确回调数据注释
{
"message": "返回信息"
}
//正确回调示例
{
"message": "小票打印成功"
}功能:联迪设备自定义打印
参数:context,printList(调用工具类 PrintHelperOfA8 拼接的打印内容),callback
说明:有回调
public static void diyPrint(Context var0, List<Map<String, String>> var1, DefaultCallback var2)
//正确回调数据注释
{
"message": "返回信息"
}
//正确回调示例
{
"message": "小票打印成功"
}功能:二维码扫码识别
参数:context,scanDescription(扫码提示语),callback
说明:有回调
public static void scan(Context var0, @Nullable String var1, DefaultCallback var2)
//正确回调数据注释
{
"qrcode": "扫码识别信息"
}
//正确回调示例
{
"qrcode": "12di4nggi8h888"
}功能:前往签到
参数:context,callback
说明:
public static void signIn(Context var0, DefaultCallback var1)
//正确回调数据注释
{
"customName":"商户名称",
"customId":"600商户号",
"terminalNo":"终端编号(8位)"
}
//正确回调示例
{
"customName":"邮驿付担保专用",
"customId":"60000009146965",
"terminalNo":"10069g9o"
}功能:前往批结算
参数:context
说明:无回调
public static void settleBatchTransactions(Context var0)功能:前往参数设置
// 参数:context
// 说明:无回调,显示默认设置功能
public static void navigateToParameterSettings(Context var0)
// 参数:context, params
// 说明:无回调,可选择隐藏指定功能
public static void navigateToParameterSettings(Context var0, Map<String, String> var1)
// params可选参数:
{
"goneBook": "true" // 是否需要隐藏账本功能,传入“true”/“false”,默认为“false”
}功能:商户绑定/绑定查询
//参数:context
//无回调,如未绑定跳转到绑定界面,如已绑定跳转到首页
public static void checkBind(Context var0)
//参数:context,callback
//有回调,如未绑定跳转到绑定界面,如已绑定状态回调成功
public static void checkBind(Context var0, DefaultCallback var1)功能:聚合支付
参数:context,transactionRequest(请求参数集合), callback
说明:有回调; 第三方订单号长度不要超过30
public static void processTransaction(Context var0, TransactionRequest var1, DefaultCallback var2)
//正确回调数据注释
{
// 订单相关
"orderNo": "订单号",
"amount": "交易金额",
"payTime": "交易时间",
"status": "订单状态(0.支付失败、1.支付成功、2.支付中、3.退货失败、4.退货成功、5.退货中、7.撤销成功、98.撤销中、8.撤销失败、9.冲正、14预授权成功,99.超时)",
"message": "返回信息",
"printFlag": "打印小票是否可以打印标识(0或空打印1不打印)",
"remark": "备注信息",
// 商户相关
"customId": "857商户ID",
"customName": "商户名称",
"customNo": "商户编号",
"terminalNo": "终端编号",
"terminalSn": "终端SN",
"clerk": "操作员(非必传)",
// 银行卡类交易特有字段(刷卡相关、预授权相关)
"cardNo": "卡号",
"cardType": "卡类型",
"bankName": "发卡行名称",
"acquiringNo": "收单行",
"referenceNo": "参考号",
"batchNo": "批次号",
"voucherNo": "凭证号",
"authNo": "授权码",
"EMVString": "读卡获取的emv数据", // 刷卡正向交易、预授权交易返回
"cardMaker": "卡组织",
// 扫码交易特有字段
"payWay": "支付通道(必传,0银联主扫、1支付宝、2微信、9银联、60数币)",
"thirdNo": "第三方渠道流水号",// 比如微信支付宝官方订单号
// 担保相关交易特有字段
"payNo": "第三方渠道流水号",// 比如微信支付宝官方订单号
"paymentChannel": "支付渠道:1 支付宝、 2微信 9银联",
// 其他字段
"threeOrderNo": "第三方订单号",
"goodsOrder": "订货单号",
"signPic": "电子签名",
"liquidationData": "清算日期(账期)",
"oldOrderNo": "原交易订单号(反向交易订单)",
"tradingType": "交易类型(01: 正常交易 02: 退货 03: 撤销 07: 预授权 08: 预授权完成 09: 预授权撤销 10: 预授权完成撤销 11: 担保 12: 担保完成 13: 担保撤销 14: 担保完成撤销)",
}
//正确回调示例
{
"message": "小票打印成功"
// 订单相关
"orderNo": "2024050701427208",
"amount": "RMB 0.11",
"payTime": "2024/05/07 18:53:28",
"status": "1",
"message": "交易成功",
"printFlag": "1",
"remark": "这是备注信息",
// 商户相关
"customId": "85735015812G002",
"customName": "虾米不吃海鲜店",
"customNo": "60000000750008",
"terminalNo": "10038462",
"terminalSn": "00000304N7NL00121626",
"clerk": "",
// 银行卡交易特有字段
"cardNo": "62225*******6727/C",
"cardType": "贷记卡",
"bankName": "交通银行",
"acquiringNo": "48570000",
"referenceNo": "101807778654",
"batchNo": "000001",
"voucherNo": "427769",
"authNo": "103614",
"EMVString": "",
"cardMaker": "卡组织",
// 扫码支付特有字段
"payWay": "1",
"thirdNo": "20211018171838086835",
"payNo": "2024051322001494701451550798",
"paymentChannel": "1",
// 其他字段
"threeOrderNo": "203782100380452915490000",
"goodsOrder": "203782100380452915490000",
"signPic": "iVBORWOKGgOAAAANSUhEUgAAAlgAAALVCAYAAAC5gbsRAAAABHNCSVQICAgIfAhkiAAAGK...",
"liquidationData": "",
"oldOrderNo": "20378210038045322",
"tradingType": "01",
}功能:锁定/解锁收银台,锁定时仅支持通过sdk接口调起收银台
参数:context,isLocked(是否锁定), callback
说明:有回调; 第三方订单号长度不要超过30
public static void locked(Context var0, boolean var1, DefaultCallback var2)功能:为 A8 设备进行自定义打印提供支持
功能:增加打印条形码
参数:align(对齐方 式),printContext(生成条形码的内容)
public static Map<String, String> addBarCode(Align var0, String var1)功能:增加打印图片
参数:context,align(对齐方式),bitmap(图片资源),bitmapName(图片英文命名)
public static Map<String, String> addPicture(Context var0, Align var1, Bitmap var2, String var3)功能:增加打印二维码
参数:align(对齐方式),size(大小,不超过 384),printContext(生成二维码的内容)
public static Map<String, String> addQrCode(Align var0, int var1, String var2)功能:增加打印文本
参数:align(对齐方式),fontSize(字体大小),isGray(是否灰色字体),printContext(文本内容)
public static Map<String, String> addText(Align var0, FontSize var1, boolean var2, String var3)功能:增加打印空行
参数:lines(行数)
public static Map<String, String> paperSkip(int var0)必传参数:
- amount // 交易金额
可选参数:
- remark // 备注信息
- threeOrderNo // 第三方订单号
- goodsOrder // 订货单号
- notPrint // 是否不打印小票,取值:"true"/"false",默认为“true”
- custId // 商户号(多商户模式下必传)
- terminalMode // 终端模式,枚举值:1-多商户模式,不填时,单商户模式,为1时custId必填
- alternateLink // 备用链接(URL),用于小票上显示二维码
- printCustId // 是否在小票上打印600商户号,取值:"true"/"false",默认为“false”
- supplementaryPrinting // 小票补充打印内容,限制打印样式一行两列,限制10行,格式如:"name0_value0;name1_value1;name2_value2"必传参数:
- orderNo // 原交易凭证号
可选参数:
- threeOrderNo // 第三方订单号,如果为空,默认生成
- notPrint // 是否不打印小票,取值:"true"/"false",默认为“true”
- custId // 商户号(多商户模式下必传)
- terminalMode // 终端模式,枚举值:1-多商户模式,不填时,单商户模式,为1时custId必填
- alternateLink // 备用链接(URL),用于小票上显示二维码
- printCustId // 是否在小票上打印600商户号,取值:"true"/"false",默认为“false”
- supplementaryPrinting // 小票补充打印内容,限制打印样式一行两列,限制10行,格式如:"name0_value0;name1_value1;name2_value2"必传参数:
- orderNo // 原交易凭证号
可选参数:
- threeOrderNo // 第三方订单号,如果为空,默认生成
- notPrint // 是否不打印小票,取值:"true"/"false",默认为“true”
- custId // 商户号(多商户模式下必传)
- terminalMode // 终端模式,枚举值:1-多商户模式,不填时,单商户模式,为1时custId必填
- alternateLink // 备用链接(URL),用于小票上显示二维码
- printCustId // 是否在小票上打印600商户号,取值:"true"/"false",默认为“false”
- supplementaryPrinting // 小票补充打印内容,限制打印样式一行两列,限制10行,格式如:"name0_value0;name1_value1;name2_value2"