不得不说只有集成过支付宝快捷支付,才算的上集成过第三方程序!
ios下面集成支付宝,不是一般的苦逼和痛苦!整整折腾了1周时间才搞懂支付宝的支付流程!
而且官方的文档简直是简单的不能再简单,看完了不明所以,网上搜索到的信息也少的可怜,
而且大多数是再问如何集成!
好吧,吐槽完毕,看看我的集成经过!
【由于支付宝官方sdk已经更新新版,同时为了支持ios8,插件也进行了升级。】点击下面查看:
->>>phonegap支付宝2.0移动快捷支付插件IOS8
================================
ios的支付宝快捷支付的时候会有2种选择,如果你的手机上没有支付宝app,那么就再你弹出提示信息的时候,选择取消就直接打开了wap支付。
如果有支付宝app,就直接再支付宝app支付,支付完成后就回调到你原来的app了。
对于如何回调到原来app,这个问题非常头大,有很多原生开发的,总会跳到起始viewController上面了。(如果支付的页面不是事情view,就非常麻烦)
还好我们的pg,只有一个viewController,这样只需要再这里接受回调!
并且2中支付方式都需要做处理,不然会丢失支付信息!
先看看图!
第一步,配置支付宝相应信息:
可以查看:phonegap -Android客户端集成支付宝快捷支付(一)
设置好,获得以下信息,再集成的时候填写到PartnerConfig.h文件里面。
#define PartnerID @”*****”
//收款支付宝账号
#define SellerID @”*****”//安全校验码(MD5)密钥,以数字和字母组成的32位字符
#define MD5_KEY @”*******”
//商户私钥,自助生成 --将私钥转成PKCS8替换一下原私钥即可
#define PartnerPrivKey @” *****”//支付宝公钥 默认就行
#define AlipayPubKey @”MIGfMA0GCSqGSIb3DQEBAQUAA*”
第二步集成插件:
1.拷贝插件包里面的3个插件文件到你的pluging文件夹里面
2.将alipay文件夹拖放到项目的根目录下面。
3.将libssl.a libcrypto.a AlixPaylib.a 拖放到 Framworks 下面引入库文件。
同时添加一下库文件,如何添加,请百度
CFNetwork.framework
SystemConfiguration.framework
Security.framework
4.添加自定义URL Scheme 如何添加请百度。或插件官方手册!
添加的时候只需要 填写URL Scheme,其他不用动。填写的就是你项目的name。
URL Scheme 在回调结果使用,建议起名稍复杂一些,尽量避免同其他程序冲突。
5.修改AppDelegate.m,根据插件文件的说明
6.在config.xml里面引用插件。[2.x 和3.x 略有不同具体参考本地文件例子]
<featurename="Pgalipay"> <paramname="ios-package"value="Pgalipay"/> </feature>
7.引入js文件具体查看插件包里js文件的样例!
function resultString(data){ } /////此方法是用来做回调结果接受的,不要用alert方法来弹出,这样会卡屏的。
function zhifu(){} //此方法是做支付处理的
function zhifu(){
var out_trade_no= “134126666245923”;//15位订单号
var subject = “支付测试产品”;
var bodtxt = “支付测试产品”;
var total_fee = “0.01”;
window.plugins.Pgalipay.alipay(
out_trade_no,subject,bodtxt,total_fee,
function(success) {
alert(success);
}, function(fail) {
alert(“encoding failed: ” + fail);
}
);}
做了以上的js应用就基本上可以使用了。
8.细节优化。再Pgalipay.m里面需要修改几个地方
NSString *appScheme = @”pgtest”; //这个pgtest 是你应用的名称也就是再URL Scheme设置的,需要修改。
order.notifyURL = @”http://*******/alipay/notify_url.php”; //回调URL 自己自定义, 最好是通过支付宝的回调地址对订单的支付结果做双重验证,以免导致外界伪造支付结果,导致财物损失//服务器异步通知页面路径 参数 notify_url,如果商户没设定,则不会进行该操作
三、测试
通过上面的集成,基本上你的app里面就完成的支付宝快捷支付的开发。
这里需要注意的是:
1.第一步的公钥私钥,必须都是对应匹配的,不然永远都无法完成支付。
2.如果再支付环节,害怕接口伪造支付结果,那么我们就需要用异步url接口来实现双重验证。
3.如果你的应用里面集成了百度的分享插件,那么就需要在baidusocalshare目录下面删掉qq目录下的tencentopenapi文件,因为这个文件将和支付宝快捷的支付的sdk不兼容。最终会导致错误。所以必须删掉,同时再分享的时候去掉qq好友分享这个选项。其他的分享都不影响。(简直不可想象,居然冲突!大公司啊!)
4.必须好好看看支付宝快捷支付的文档,虽然很糟糕,但是毕竟是官方的,里面的信息最好能理解清楚!
转载请注明:夜阑小雨 » phonegap支付宝移动快捷支付插件IOS版