SDK简介
SDK是为调用方(合作方)简化API开放平台对接开发专门提供的开发工具包,包括密钥生成、发起调用请求、返回结果解析等功能。
每个已注册的应用会自动分配一个商户号partner_id,调用方利用SDK提供的密钥生成功能,生成公私钥对,并将公钥提供给API开放平台。API开放平台维护partner_id与公钥的对应关系。
SDK采用私钥对报文签名,并将明文和签名一并发送到API开放平台验签。API开放平台收到请求后进行验证,验证通过后提供服务,并以Json格式返回响应结果,SDK收到返回信息后使用网关公钥对响应报文进行验签。调用方在使用SDK的过程中,无需关心请求信息的签名、组装及响应信息的验签。
调用方若不使用SDK,请查看“SDK&Demo—API开放平台请求构造指引”。
— 开发运行环境 JDK版本要求1.8
目前提供Java版本(JDK要求1.8及以上)的实现,具体的环境配置要求,请参考SDK版本包中的说明文档。
SDK下载
SDK开发语言 下载(点击下载)
Java yiranpay-cashier

请注意:SDK代码中的CashierConstants.java文件中的PRIVATE_KEY替换成自己的私钥,CRATE_ORDER_API、QUERY_ORDER_API、REFUND_QUERY_ORDER_API、REFUND_API替换成生产地址,然后进行测试

签名算法
签名生成的通用步骤如下:
第一步,将请求的参数按照key_1=value_1&key_2=value2的形式进行排列生成签名原串,排列时需要注意:
1.参数的排放顺序按照首字母进行升序排列.
2.除文档中明确标注不参与签名的参数外,所有值不为空的参数均需参与签名。
第二步,使用RSA加密得到sign值sign。
验签方法:RSAUtils.verify(verify(byte[] data, String publicKey, String sign)
签名方法:RSAUtils.sign(byte[] data, String privateKey)
获取签名原串的方法:SignUtils.genSignData(JSONObject jsonObject)
返回结果验签只需要验签data数据,code,msg,success,exception不参与签名验签。
请参考:RSA公钥/私钥/签名工具包