您的位置:首页 > 移动开发 > Android开发

Android客户端支付宝支付

2015-09-09 18:29 239 查看

      关于Android的支付宝支付问题,我只想说  确实要比微信支付简单很多,下面是我做支付宝支付的过程:

首先支付宝需要的包是这个可以在官网下,在这就是id,密钥问题了 ,还有个问题,因为这次做支付宝支付主要是公司项目,以前自己没做过,所以我用的都是公司的支付宝账号,我一朋友试过自己在支付宝开放平台创建账号,虽然可以成功,但是后面实现功能时会出现 :权限不够,所以最好是用公司账号。
我们先去https://b.alipay.com/order/pidAndKey.htm 添加公钥,至于这些公钥的来源 我们可以去官网下demo里面有个文件夹,这里面bin目录下有个openssl的应用程序,双击进入输入代码就能获得公钥和私钥,如何输入里面也有介绍 ,这里我就不废话了。

添加公钥的问题也可以在网上找到,我们继续 ,到代码中,我们先下载官方支付宝demo,这个只要把这些:

填好应该没问题的,其实这里面公钥不需要 ,我也不清楚它为什么加上去,我再这个里面没有找到公钥出现的地方。如何把这个做到自己项目中呢 这才是最重要的吧。

首先是后台问题:我们需要在后台获取,支付宝能识别的字符串才行 一般是这个样子:
这是我后台获取的一串字符串,再我们到自己的代码中):

1.我们先要从demo中复制几个类到自己的项目中:

2.在需要点击支付的地方实现:

PayTask payTask = new PayTask(RechargeActivity.this);
boolean isExist = payTask.checkAccountIfExist();//这个是判断有没有登入支付宝
//orderInfo是我们从后台获取到的字符串
String result=payTask.pay(orderInfo);


结果是:

这样就算成功了!!!

不过有个很小的问题我一开始一直没注意,就总是做不好,我也找了好久的百度才发觉这个问题,那就是私钥 ,我们创建私钥的时候,openssl文件夹中有个生成命令是这么说的:

私钥最后还要生成pkcs8格式,我当时觉得私钥都出来了 感觉转换了也只是吧,空格去掉了就没要,后来发现两者还是有差距的:

这是普通私钥:

这是转换成pkcs8的私钥:

仔细观察两者有点不同 ,所以还是用转换成pkcs8的私钥

这里还有个很重要的点,支付宝和微信支付不同,比方说微信支付如果手机没有微信客户端,是不能支付的,但是支付宝支付如果没有手机客户端,也会调起网页支付界面,但是,还是要配置一下:

在AndroidManifest.xml文件中添加:

<activity
android:name="com.alipay.android.app.sdk.WapPayActivity"
android:screenOrientation="portrait"
/>
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>


这个是支付宝夹包中集成了的界面,直接用就行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 支付宝 支付