名词解释
服务商/vendor:接入合码云支付平台Web API 或 SDK 的开发者
服务商序列号/vendor_sn:服务商序列号
服务商密钥/vendor_key:服务商密钥
激活码/code:终端激活码,用于激活终端,获取终端号和终端密钥。
终端/terminal:指实际进行交易的媒介系统,可以为实体收银机系统、智能设备里的APP、线上网页(e.g. 线上购物、会员充值等)
终端号/terminal_sn:终端序列号
终端密钥/terminal_key:终端密钥,支付类接口使用终端序列号和终端密钥进行签名
收钱吧服务器IP
端口:443
什么是合码云终端?
指实际进行交易的媒介系统,可以为实体收银机系统、智能设备里的APP、线上网页(e.g. 线上购物、会员充值等)
每个门店下都允许存在多个终端。
device_id是什么?
设备指纹device_id唯一标识一台设备的编号,如Android设备的IMEI,IOS设备的identifierForVendor。
激活接口常见问题:
什么是激活码
激活码是是一个携带合码云商户门店信息的参数,主要作用就是通过激活接口,将实体终端记录到合码云系统对应的商户的指定门店下,所以在商户平台生成激活码的时候一定要注意在正确的商户门店下生成。
激活码的有效期是7天。注意:这里的有效期是指激活,激活之后的终端使用跟激活码就没有关系了。
激活码使用说明
每一个激活码都有可激活次数限制,同一个激活码,每调用一次激活接口,可激活次数就减一,当可激活次数为0,激活码将失效。
激活码是否可作为固定的参数存储起来?
不可以!激活码是与门店相对应的,每一个激活码都有可激活次数限制。将激活码作为固定参数存储很容易发生激活码失效等问题。
另外,共用激活码不便于商户日后对账。
激活码是不是每一台终端都需要一个?
激活码是与门店相对应的,目前收钱吧会为每个终端单独生成一个激活码。
同时合码云也支持同一门店多终端共用一个激活码。此时,同一个激活码每次调用激活接口,返回的终端号和终端密钥是不一样的。
一个设备(同一设备号device_id)调用了多次激活,均激活成功,均生成了终端号,这样会不会有影响?
不会。
激活码失效问题?
激活码失效问题一般由以下几个原因:
1)服务商已经使用完激活码的使用次数(激活码的使用次数都是有限的,如果激活码是测试使用,可以询问合码云的技术支持人员来重置激活次数,如果是正式上线使用,请联系合码云重新申请激活码)。
2)服务商未在激活码的使用有效期内使用。解决方法:重新申请新的激活码。
激活接口的作用
合码云所有交易都需要终端号和终端密钥。
激活终端是为了拿到交易接口签名需要的参数(终端号和终端密钥),激活完一台终端,开发者需要把终端号和终端密钥信息持久化保持,以后每日签到更新终端密钥。
不管是支付(B扫C)还是预下单(C扫B)都需要激活后才能调用。
一个终端只需激活一次,之后调用支付类接口(不论支付还是预下单)都不需要再激活。
不需要每次进入程序时都调用激活函数。
合码云不对同一个终断的激活次数做限制,开发者需要自行判断终端是否已激活。
服务商参数vendor_sn和vendor_key是不变的,建议写死在程序里,以后直接输入激活码激活终端。
签到接口常见问题(对接web api需要,其他接入方式请忽略):
签到接口的作用
一个密钥每个自然日会过期。签到的作用是更新终端密钥,获取每日最新密钥。开发者需要把最新的terminal_key保存下来。
SDK 会自动完成签到,不需要单独签到。
Web API 建议每自然天执行第一笔核心支付接口调用时,自动执行签到操作。
签到失败问题?
如果签到失败,一般都是更换设备导致。解决方法:重新申请新的激活码。
支付接口常见问题:
出现支付签名错误
如果一个激活码在多个终端上使用,就会出现支付签名错误。一个激活码只能激活一个终端。
client_sn是什么?支付失败后重新进行支付可以延用之前的client_sn吗?
client_sn:商户系统订单号,必须在商户系统内唯一。
支付失败后重新进行支付不可以延用之前的client_sn。
一笔交易中,前台订单号是唯一的,例如0001,提交支付失败后,再次提交支付请求,订单号就不能是0001了。
退款可以在订单支付完成后多久以内可以提交请求?
三个月以内都可以进行退款。
撤单接口常见问题(sdk已经封装了逻辑,不需要关心实现细节)
手动撤单和自动撤单有什么区别?
手动撤单和自动撤单的区别只是撤单目的不同,实际执行的业务逻辑是完全一样的。
撤单和退款有什么区别?
退款接口,不限制退款次数,可操作至剩余金额为0。退款成功后,手续费按照退款金额占订单金额比例系数乘以订单总手续费进行手续费退还。
撤单接口,一笔订单只能在当天进行一次撤单,撤单的时候是全额退款,包括支付手续费。进行过退款的订单不能撤单。
手动撤单可以在订单支付完成后多久以内可以提交请求?
过了当天无法撤单。
退款、撤单接口是今天生成的订单,只能当天退款和撤单吗?
退款和撤单我们这边都没有时间限制,不过支付宝和微信有相关限制。
异常业务如何测试
网络超时可以用网络调试工具模拟
业务不成功可以故意不支付或者借记卡内余额不足实现
一些小概率事件,如业务端返回500,难以模拟,那么修改下判断条件,覆盖想测试的代码路径确定控制逻辑正确即可。