好灵工平台官方SDK包含了请求的封装,签名加密,响应解释,性能优化等等功能,使用SDK可以轻松
快速完成API的调用和结果处理。
(点击下载SDK)
如您是使用非java语言接入,可以按照下方签名规则和参数进行对接。
湖南好灵工:https://hlg.ipayun.com/sop/gateway
第一步,筛选并排序
获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign字段,剔除值为空的参数,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。
第二步,拼接参数
将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。
第三步,调用签名函数
使用各自语言对应的SHA256WithRSA(对应sign_type为RSA2)签名函数利用商户私钥对待签字符串进行签名,并进行Base64编码。
第四步,签名赋值
把生成的签名赋值给sign参数,拼接到请求参数中(参照SDK中的util方法)。
app_id
String
平台对商户的唯一编号
10023456780
method
String
settle.remit.api.payment
sign_type
String
商户生成签名算法类型
String
商户请求签名值
详见签名规则
timestamp
String
2014-07-24
03:07:50
version
String
接口版本号
merchant_request_no
String
请求唯一标识
商户自定义
biz_content
String
请求业务参数
详见各接口
app_id="101909021118";
merchant_request_no="test111111";
method="settle.remit.api.payment";
timestamp="2021-07-19 16:20:20";
biz_content={
"batchAmt": 0.02,"batchNum":1,
"custBatchNo":"eb5d11f964924ee2af55124843d94fd4",
"remitDetailList":[
{"custOrderNo":"640465cc45324d408c57de61ee9f8dad",
"orderAmt":0.02,"recvBankName":"北京银行","recvCardNo":"6214686001166870","recvCustName":"张三",
"recvIdNo":"1305******4100916","recvIdType":"IDENTITY","recvMobile":"13****5639"}],
"serverCallbackUrl":"http://xxx/xxxx/callBack"
sign=`X9/sCEpqjaw1u3NqCIMCinzsJ7QoYo5UrabHHsy11KcTt333+urq9Z0V3FJLjq22G6zuRCuWf0myK8eSK3d1s0zpIBj
A5iryK/kJcdTG5bmp3WFR5lXv2J+GhC8s7LMuaTFPj3KMGAmy1jdbNfMhomRE4ux+0qj3LrLs3acNcLJ63bFTq6xj/xgCh+lU3
EQzChrxvdIpEU3PKeE99/kjwwb8FIJGmN8N7IJ21UglEdHLF+rL0vVwx5uEOXyDJJcd7+D8zX8IMft2e91DVkiiGTcahdsnysI
yUrmsy2IgMe77lc5tH3rTQgbCK/TVWXUtrOHAZUyIYp18AxWW8Y40fg==`;
sign_type="RSA2";
version="1.0"
//待签名字符串为:
app_id=101909021118&biz_content={"batchAmt":0.02,"batchNum":1,"custBatchNo":"eb5d11f964924ee2af55124843d94fd4","recvType":"BANK","remitDetailList":[{"custOrderNo":"640465cc45324d408c57de61ee9f8dad","orderAmt":0.02,"recvBankName":"北京银行","recvCardNo":"6214686001166870","recvCustName":"张三","recvIdNo":"1305******4100916","recvIdType":"IDENTITY","recvMobile":“13****5639”,"remark":"test"}],"serverCallbackUrl":"http://xxx/xxxx/callBack"}&merchant_request_no=test111111&method=settle.remit.api.payment&sign_type=RSA2×tamp=2021-07-19
16:20:20&version=1.0