欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

phonegap支付宝移动快捷支付插件IOS版

ios 夜阑小雨 8362℃ 0评论

不得不说只有集成过支付宝快捷支付,才算的上集成过第三方程序!

ios下面集成支付宝,不是一般的苦逼和痛苦!整整折腾了1周时间才搞懂支付宝的支付流程!

而且官方的文档简直是简单的不能再简单,看完了不明所以,网上搜索到的信息也少的可怜,

而且大多数是再问如何集成!

好吧,吐槽完毕,看看我的集成经过!

【由于支付宝官方sdk已经更新新版,同时为了支持ios8,插件也进行了升级。】点击下面查看:

->>>phonegap支付宝2.0移动快捷支付插件IOS8

================================

ios的支付宝快捷支付的时候会有2种选择,如果你的手机上没有支付宝app,那么就再你弹出提示信息的时候,选择取消就直接打开了wap支付。

如果有支付宝app,就直接再支付宝app支付,支付完成后就回调到你原来的app了。

对于如何回调到原来app,这个问题非常头大,有很多原生开发的,总会跳到起始viewController上面了。(如果支付的页面不是事情view,就非常麻烦)

还好我们的pg,只有一个viewController,这样只需要再这里接受回调!

并且2中支付方式都需要做处理,不然会丢失支付信息!

先看看图!

234

786

 

第一步,配置支付宝相应信息:

可以查看: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版

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 你的插件呢???!!!
    没有名称2014-09-21 23:57 回复