美文网首页
iOS客户端连接易宝支付接口

iOS客户端连接易宝支付接口

作者: 捕梦少女的梦想 | 来源:发表于2017-05-16 13:14 被阅读0次

    项目中接入了第三方的易宝支付,客户端需要查询用户绑定的银行卡,并进行解绑,所以需要直接请求易宝支付的java接口,过程中遇见了坑,特此记录。

    接口文档说明如下:

    接口文档关于传参的逻辑看结尾java代码。看了半天,终于理清了逻辑:

    1.就是商户号和标识进行hmac拼接,hmac里面有一层加密;

    需要传递的参数拼接成字符串,然后进行md5+密钥加密,赋值给hmac参数。

    重点:单纯的进行md5加密是不可以的,必须+密钥。

    2.进行customernumber、userno、hmac三个参数的AES加密操作;

    把三个参数以字典转json字符串的形式,+密钥(取密钥前16位)进行AES加密。

    重点:

    1)我们在网上搜到的AES加密,算法类型都是kCCOptionPKCS7Padding,但是java接口的算法类型是ECB,这个bug不太容易发现,如果加密不对,就会导致后台解析错误。

    2)后台需要的Data数据是16进制的,但是我们一般进行AES加密完之后的是NSData数据,一般会在进行Base64转换,这时我们需要改下,取消Base64转换,直接NSData转换成16进制数据。

    3.就是设置data和customernumber传参了。

    4.接口需要的参数很简单,所以写起来并不复杂,主要就是加密没问题,传参就没问题。

    备注:易宝支付的接口文档中结尾附了一段java代码,附下图:

    相关文章

      网友评论

          本文标题:iOS客户端连接易宝支付接口

          本文链接:https://www.haomeiwen.com/subject/dcqlxxtx.html