Android客户端支付宝支付

      关于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>	

这个是支付宝夹包中集成了的界面,直接用就行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值