概述:最近做的一款app需要用到支付功能,当然首选就是百度,各种搜索,查了不少资料。
https://www.2cto.com/kf/201509/444453.html
支付方式-微信支付
- 微信支付流程图
首先开发人员需要商户(就是客户,app的运营方)在微信开放平台申请开发应用后拿到微信开放平台会生成APP的唯一标识APPID。然后在APP工程中引入微信JAR包,调用API前,需要先向微信注册您的APPID,代码如下:final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);
// 将该app注册到微信
msgApi.registerApp("wxd930ea5d5a258f4f");
当用户点击下单是,提交参数使商户服务器(后台)生成支付订单,先生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付
参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。代码示例如下:
在这里我是通过发送广播处理的,由接收者根据code处理支付结果。
支付方式-支付宝支付
支付方式-银联支付1.首先需要创建您的应用,会为您生成应用为你标识(APPID)
2..密匙:
应用公钥 :由商户自己生成的RSA公钥(与应用私钥必须匹配),商户需上传应用公钥到支付宝开放平台,以便支付宝使用该公钥验证该交易是否是商户发起的。
应用私钥 :由商户自己生成的RSA私钥(与应用公钥必须匹配),商户开发者使用应用私钥对请求字符串进行加签。
支付宝公钥 :支付宝的RSA公钥,商户使用该公钥验证该结果是否是支付宝返回的。3. 支付当用户点击下单是,提交参数使商户服务器(后台)生成支付订单,先生成预付单,获取到prepay_id(预付单号)后参数再次签名传输给APP发起支付:payInfo就是(prepay_id)然后根据返回状态处理后续操作。
官方地址:
https://open.unionpay.com/ajweb/help/file/techFile?productId=3
https://open.unionpay.com/ajweb/help/file/techFile下载好demo:一. data.bin 文件要放在 assets下面
![]()
二. so文件 发在 main下的jniLibs文件夹下。不要放lib了奥。
三. 权限一定要带上
代码~
回调