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

Android平台,支付宝和微信app支付总结

2016-12-08 17:25 417 查看
一.支付宝支付

1.官网地址:
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.6118ne&treeId=193&articleId=105201&docType=1
2.账号信息

// 商户PID

public static final String PARTNER = "";

// 商户收款账号

public static final String SELLER = "";

// 商户私钥,pkcs8格式

public static final String RSA_PRIVATE = "";

// 支付宝公钥

public static final String RSA_PUBLIC = "";

3.生成订单

订单的生成最好是放在服务端,客户端在付款前从服务端获取订单信息,然后对签名信息进行utf-8转码,至于订单的封装可参考官网API.

4.调用支付接口

5.支付结果码

ALI64 错误提示:是由于签名出错,检查服务端和客户端的签名信息是否一致

6.支付结果:

通过支付宝的接口可以获取支付结果码:

9000:支付成功

8000:支付结果确认中

7.错误信息收集

ali69

报错含义就是没权限,请检查:

1、检查收款账号是否是签约账号;

2、检查是否签约了移动支付产品。

可登录 b.alipay.com (企业商户登录qy.alipay.com ),我的商家服务(签约管理)里面查看自己的签约情况!

ALI59

1、检查partner参数值是否正确,是否是自己签约的;

2、检查请求参数,打印请求参数,和文档对比,请求参数是否正确,检查文档中必须传的参数有没有都请求给支付宝,有没有参数漏掉的,是否有自定义参数,详见其接口文档;

二.微信APP支付

1.官网地址:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2
2.账号信息

Appid:微信开放平台审核通过的应用APPID

Partnerid:微信支付分配的商户号

API密钥:交易过程生成签名的密钥

Appsecret:AppSecret是APPID对应的接口密码,用于获取接口调用凭证access_token时使用。

3.签名信息的配置

微信app支付的过程中,需要正式签名apk,才可以测试,所以需要在官网配置当前应用的包名和签名,签名信息的查看方式,在终端运行如下命令:

C:\Program Files\Java\jdk1.7.0_75\bin>keytool -list -v -keystorec:\Users\user\.android\debug.keystore

c:\Users\user\.android\debug.keystore:这个路径是当前应用对应的签名文件

运行后会获取如下值:

MD5: 1A:0F:52:94:8D:DB:49:20:7A:7E:A5:3B:A3:A7:F9:30

SHA1: 99:53:4E:E2:1F:CB:90:AB:66:90:D6:29:57:92:AD:AC:51:4F:76:F2

把MD5对应的值配置到微信官网中,在配置时,去掉MD5中的冒号,如下参考:

1A0F52948DDB49207A7EA53BA3A7F930

这一步非常重要,配置完后,为了确认自己的应用签名和微信官网是否一致,可安装Gen_Signature_Android.apk,运行后输入自己的包名,查看当前应用的签名。

4.添加支付结果界面

在当前工程中新建包名,以.wxapi结尾,例如:

当前应用包名:com.demo.ui

新建包名为:com.demo.ui.wxapi

其次在当前包下新建Activity,文件名为:WXPayEntryActivity.java

文件名一定不能错,否则接收不到微信支付结果

参考官网提供的demo,在当前Activity中实现回调接口

5.在AndroidManifest.xml中配置WXPayEntryActivity.java

在注册WXPayEntryActivity时,添加intent-filter

<intent-filter>

    <action android:name="android.intent.action.VIEW"/>

    <category android:name="android.intent.category.DEFAULT"/>

    <data android:scheme="内容为appid"/>

</intent-filter>

6.订单的生成

订单的生成是在服务端中,客户端在付款之前先从服务端中获取订单

7.调用支付接口

在调用之前先注册当前应用,接口如下:

IWXAPI api = WXAPIFactory.createWXAPI(context,appid);

api.registerApp(appid);

boolean send = api.sendReq(req);

Req: 为订单实体类

如果send的值为true,则说明能成功调用微信支付接口

8.支付结果

baseResp.errCode=0 : 表示支付成功

baseResp.errCode=-1: 表示支付失败

baseResp.errCode=-2: 表示取消支付
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: