关于android webview 端调原生app 的支付宝接口实现 还有BeeCloud(秒支付) 的接入使用
2015-06-08 16:27
1271 查看
我原本不想写这个的,但是看到网上,都是胡乱的写,我也是醉了,对于网上找到的
全是过时的,无语中,还有一小子,去官网下的源码,放到csdn里面,冲大神,就这个网址(http://download.csdn.net/detail/zongrenkou/8763845)
另外一哥们还算靠谱,就是这个网址了:https://software.intel.com/zh-cn/blogs/2015/03/05/androidandroid/utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=others-zhif),,就是有点啰嗦。
但是里面的夹包,不是最新的。最新的夹包是:
还有就是android 4.0 之后夹包是不用导入的,他会自动导入应用中的,你只要复制进来就ok了。那哥们说过的,我就不罗嗦,下面就是重点了:
上面两个里面payDemoActivity 是重点。
里面是主要的`
String resultInfo = payResult.getResult();`
还有就是,你的点击事件,用handle 做的监听:
case SDK_PAY_FLAG: {
PayResult payResult = new PayResult((String) msg.obj);
“`
所以就是没什么重点,但是我在看支付的时候看到了一个网站:http://beecloud.cn/doc/android.php#register 这个是秒支付,封装的超级好的,就是有一点;
要钱的,那就算了,说重点,就是怎么配置;http://beecloud.cn/doc/ 这个事秒支付的技术文档;里面有的我就不多说,说重点,我开始看了半天,都是配置,就是没说,支付宝的PID ,KEY.放哪,找了一会,终于找到了,放到人家的服务器上,我在想,安全吗?
那我就不多说了,好是好,就是用着不放心,你还收费,无语ing
全是过时的,无语中,还有一小子,去官网下的源码,放到csdn里面,冲大神,就这个网址(http://download.csdn.net/detail/zongrenkou/8763845)
另外一哥们还算靠谱,就是这个网址了:https://software.intel.com/zh-cn/blogs/2015/03/05/androidandroid/utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=others-zhif),,就是有点啰嗦。
但是里面的夹包,不是最新的。最新的夹包是:
还有就是android 4.0 之后夹包是不用导入的,他会自动导入应用中的,你只要复制进来就ok了。那哥们说过的,我就不罗嗦,下面就是重点了:
上面两个里面payDemoActivity 是重点。
里面是主要的`
public void pay(View v) { // 订单 String orderInfo = getOrderInfo("测试的商品", "该测试商品的详细描述", "0.01"); 这个里面就是我们传的产品内容。怎么传值,我就不多说了, // 对订单做RSA 签名 String sign = sign(orderInfo); try { // 仅需对sign 做URL编码 sign = URLEncoder.encode(sign, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } // 完整的符合支付宝参数规范的订单信息 final String payInfo = orderInfo + "&sign=\"" + sign + "\"&" + getSignType(); Runnable payRunnable = new Runnable() { @Override public void run() { // 构造PayTask 对象 PayTask alipay = new PayTask(PayDemoActivity.this); // 调用支付接口,获取支付结果 String result = alipay.pay(payInfo); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage(msg); } }; // 必须异步调用 Thread payThread = new Thread(payRunnable); payThread.start(); } // 支付宝返回此次支付结果及加签,建议对支付宝签名信息拿签约时支付宝提供的公钥做验签
String resultInfo = payResult.getResult();`
还有就是,你的点击事件,用handle 做的监听:
case SDK_PAY_FLAG: {
PayResult payResult = new PayResult((String) msg.obj);
“`
// 支付宝返回此次支付结果及加签,建议对支付宝签名信息拿签约时支付宝提供的公钥做验签 String resultInfo = payResult.getResult(); String resultStatus = payResult.getResultStatus(); // 判断resultStatus 为“9000”则代表支付成功,具体状态码代表含义可参考接口文档 if (TextUtils.equals(resultStatus, "9000")) { Toast.makeText(PayDemoActivity.this, "支付成功", Toast.LENGTH_SHORT).show(); } else { // 判断resultStatus 为非“9000”则代表可能支付失败 // “8000”代表支付结果因为支付渠道原因或者系统原因还在等待支付结果确认,最终交易是否成功以服务端异步通知为准(小概率状态) if (TextUtils.equals(resultStatus, "8000")) { Toast.makeText(PayDemoActivity.this, "支付结果确认中", Toast.LENGTH_SHORT).show(); } else { // 其他值就可以判断为支付失败,包括用户主动取消支付,或者系统返回的错误 Toast.makeText(PayDemoActivity.this, "支付失败", Toast.LENGTH_SHORT).show(); } } break; } case SDK_CHECK_FLAG: { Toast.makeText(PayDemoActivity.this, "检查结果为:" + msg.obj, Toast.LENGTH_SHORT).show(); break; }
所以就是没什么重点,但是我在看支付的时候看到了一个网站:http://beecloud.cn/doc/android.php#register 这个是秒支付,封装的超级好的,就是有一点;
要钱的,那就算了,说重点,就是怎么配置;http://beecloud.cn/doc/ 这个事秒支付的技术文档;里面有的我就不多说,说重点,我开始看了半天,都是配置,就是没说,支付宝的PID ,KEY.放哪,找了一会,终于找到了,放到人家的服务器上,我在想,安全吗?
那我就不多说了,好是好,就是用着不放心,你还收费,无语ing
相关文章推荐
- Android控件之ScrollView(scrollbarStyle)
- Android访问远程数据库之调用Webservice
- 转载,自用,iOS中成员变量和属性的区别
- iOS 根据cell内容设置cell的高度
- iOS 关于音乐图片下载到本地沙盒的一些事
- 【Android】查看程序每个方法所花费的时间
- android 设置EditText光标位置
- Android优化
- IOS7设计指南
- Android 抽象布局include merge Viewstub
- quick cocos2d-x 实战:做一个手机横版格斗游戏4:游戏开始界面背景图代码
- 【搬运】Android四大基本组件介绍与生命周期
- 使用 Genymotion 安装APP报错 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 解决办法
- 移动端(html5)微信公众号下用keyup实时监控input值的变化无效
- Android开发之蓝牙
- Android IOS WebRTC 音视频开发总结(二八)-- 多人视频方案介绍
- Android 图片阴影处理分析!
- appium client 的安装(python)
- Android 高级Drawable资源---复合Drawable----级别列表Drawabled
- 25_android下文件访问的权限