本人在项目中遇到一个需求,集成易宝支付,效果如下:
第一想法就是到易宝官网去找SDK和文档,然而,并没有什么卵用~~~因为她们压根尔就没有移动端的SDK,文档也是最终联系他们技术人员发了一份移动端集成的:
易宝支付文档- V1.08.pdf_免费高速下载|百度网盘-分享无限制
开发移动端的之前,一定要确定商户是否在易宝开通了移动支付的(我们因为只开通了pc端的调了一天都不通~~~)
然后开始翻看这个文档,发现还是看的一脸懵逼,因为文档里面除了一些讲解外,别的示例的代码全是java的。。。但是经过反复的研究文档,总结了一下,如下:
1.iOS端订单支付接口请求地址(get或者post均可):https://ok.yeepay.com/paymobile/payapi/request
2.请求的一些参数(√:为必填 x:选填):
3.传参数的时候对参数进行加密:用到了两种加密算法,记住是两种!
4.所有明文参数值都必须经过加密,最终发送给接口的请求参数为 merchantaccount、data、
encryptkey;其中,data 与 encryptkey 的生成,请参考易宝支付文档的 5.1 加密示例。
用到的密钥:
商户密钥、商户公玥及易宝公玥的获取请参考附录:5.3 商户私钥、商户公玥及易宝公玥获取示例
5.返回示例:
比如(我的返回参数):
上面的payurl就是咱们需要的,然后用WebView加载这个URL即可。
注意:支付的时候以分为单位~~~
~~~~~下面又一重点来了~~~~~
这样虽然可以,但是有一种简单些,又方便的逻辑如下:
让后台用易宝提供的SDK来请求,APP只需要将所需的参数传给他们即可,中间进行相应的的加密解密,后台集成会有相应的Demo,直接拿进工程改下就可用。如果前端进行加密的话还要做相应的加密算法,以及对参数处理,甚是麻烦而且容易出错。后台处理的话APP只需将请求成功的payurl返回来在APP端用WKWebView加载。
个人建议:在写之前先用易宝提供的商户编号(merchantaccount)、商户私钥(merchantPrivateKey)、商户公钥(merchantPublicKey)和易宝公钥(yeepayPublicKey)调通,然后该为自己的,不然加密算法哪有问题的话很费劲。
一些退款、订单查询等之类的文档上都有,可以对照集成即可。
哈~~~写到这就结束喽,捣鼓了两天的易宝支付终于完活~~~哪有不对的地方希望大家批评指正!不喜勿喷~~