android个人微信支付,Android之微信支付

Android开发中,大多数电商APP都会有支付这么模块,此博客就讲一下微信支付,代码不多,很简单就可以完成,支付宝支付请看博客 Android支付之支付宝封装类

先来看看效果图

6c10b84683e9e11bc0820b29487cfef3.gif

微信支付首先要去微信开发平台申请,得到相关信息,根据微信平台文档操作即可,如:appId  keydeng

首先导入libammsdk.jar 包

a5360d77195a90c4807ed59430c457e3.png

之后在项目包名下创建 wxapi 包  如  com.zq.demo.wxapi  前提  com.zq.demo  包名乃是项目包名,不能有错。

包下有三个类

Constants.Java(注:当然这个类也可以不要)

public class Constants {

public static final String APP_ID = "申请的APPID";

public static class ShowMsgActivity {

public static final String STitle = "showmsg_title";

public static final String SMessage = "showmsg_message";

public static final String BAThumbData = "showmsg_thumb_data";

}

}

AppRegister.java  注册

public class AppRegister extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

final IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);

msgApi.registerApp(Constants.APP_ID);

}

}

WXPayEntryActivity.java 支付回调

/***

* 微信支付成功回调接口

* @author zq

*

*/

public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{

private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity";private IWXAPI api;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.pay_result);

api = WXAPIFactory.createWXAPI(this,Constants.APP_ID);

api.handleIntent(getIntent(), this);

}

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

setIntent(intent);

api.handleIntent(intent, this);

}

@Override

public void onReq(BaseReq req) {

}

@Override

public void onResp(BaseResp resp) {

if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle(R.string.app_tip);

builder.setMessage(getString(R.string.pay_result_callback_msg, String.valueOf(resp.errCode)));

builder.show();

if(resp.errCode==0)//返回参数意思 参考文档即可

{

//支付成功 执行相关操作

}

else

{

//支付失败

}

}

finish();

}

}

调用支付

/***

* 微信支付

*/

public void wxpaly() {

PayReq request = new PayReq();

request.appId =Constants.APP_ID;

request.nonceStr ="iuWeKvt82vAGzxH3";

request.partnerId = "1900000109";

request.prepayId = "1101000000140415649af9fc314aa427",;

request.packageValue = "Sign=WXPay";

request.timeStamp = "支付时间";

request.sign = "7FFECB600D7157C5AA49810D2D8F28BC2811827B";

api.sendReq(request);

}

其中的参数为了安全一般是从后台接口获取得到的。

AndroidManifest.xml配置

android:name="com.zq.demo.wxapi.WXPayEntryActivity"

android:exported="true"

android:launchMode="singleTop" >

权限:

代码不多,主要是细节,希望对大家有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php-函数,数组

自定义函数 function xxx(){ } 函数调用 xxx(); 参数 function xxx($a,$b//1){//当此括号内参数有值时,是默认参数 echo $a$b; } xxx(1,1);//引用括号内的参数 可变个数参数 function xxx(){ echo func_num_args();//输出参数个数 echo array_sum(func_get_args());…

android的图片缩放,Android图片缩放总结及比较

在Android中对大图片进行缩放真的很不尽如人意,不知道是不是我的方法不对。下面我列出3种对图片缩放的方法,并给出相应速度。请高人指教。第一种是BitmapFactory和BitmapFactory.Options。首先,BitmapFactory.Options有几个Fields很有用&…

rtf乱码解决办法

首先,阐述下rtf,富文本格式文档,目前常用来做模板; 我遇到的问题是rtf中替换后的文本显示是正常的,rtf直接转pdf就不正常了,通过notpad 打开后发现rtf本身内容编码是我没有见过的(查资料说时ans…

华为鸿蒙山海,华为包圆了整部《山海经》,鸿蒙是何意?还有青龙白虎朱雀玄武?...

华为已经申请注册“华为鸿蒙”商标并标注该商品可用于操作系统程序鸿蒙一个自带书香气的名字一听就是文化人!一听就是中华文化传承人!那么鸿蒙是啥意思鸿蒙就是一团气不是普通的气体传说盘古在昆仑山开天辟地之前世界是一团混沌的元气这种自然的元气叫做…

ASP.NET MVC5使用Area区域

转载:http://www.lanhusoft.com/Article/217.html 在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它们分离开来,比如:Admin,Customer&#xff0c…

html5 最小化,当前界面最小化快捷键 窗口最小化和全屏化的快捷键是什么?

怎样用快捷键显示最小化的窗口在键盘上同时按下WinD 键,可以最小化所有窗口。在键盘上再次同时按下WinD 键,可以还原步骤1最小化的所有窗口。在键盘上同时按下WindowsM键,可以最小化所有窗口。在键盘上同时按下WindowsShiftM键。电脑窗口最小…

华为鸿蒙用户体验计划怎样关闭,华为用户要注意,手机关闭这3个“默认选项”,还能流畅再用2年...

华为用户要注意,手机关闭这3个“默认选项”,还能流畅再用2年众所周知,我们在使用手机的时候,经常会有这样的感触,就是手机明明才刚买没多久,使用起来却相当的卡顿,这还是为什么?手机…

html 像素跟百分比,html – 将百分比宽度与边距(以像素为单位)组合起来

我有一个包含多个项目的页面,其宽度为33.33%,以填充页面的整个宽度.但是,我想在项目之间添加20px的边距(垂直和水平,但垂直是这里的问题),但只是在连续的每个第1和第2项的右边添加20px边距,销毁整个页面. (从小提琴中删除已注释掉的CSS,看看我的意思).现在,问题是&a…

GCC命令

一. 常用编译命令选项 源程序test.c 1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 2. 选项 -o用法:#gcc test.c -o test作用:将tes…

html5手机端三级联动城市选择代码,省市县三级联动(jQuery手机端收货地址选择地区代码)...

【实例简介】【实例截图】【核心代码】jQuery手机端收货地址选择代码 - 站长素材默认调用所在地区:设置默认值所在地区:/*** 默认调用*/!function () {var $target $(#J_Address);$target.citySelect();$target.on(click, function (event) {event.stop…

内连接、左外连接、右外连接、交叉连接区别

在之前,我对MSSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本,现在的思路应该是很清楚了,现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。(发这么…

winform数据传递到html,C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和JS调用winform函数的…

xcode开发html5工具,5个Xcode开发调试技巧

1.Enable NSZombie Objects(开启僵尸对象)Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧。这个技巧非常非常容易追踪到重复释放的问题。该技巧会以非常简洁的方式打印指出重复释放的类和该类的内存地址。怎么开启僵尸对象呢?首先打开“Edit Sc…

求1-n之内的素数

#include<stdio.h>#include<math.h>int main(){ int n,i,j,k; scanf("%d",&n); //输入范围n for(i2;i<n;i) { ksqrt(i); for(j2;j<sqrt(i);j) { if(i%j0){ //如果i…

计算机基础和操作系统基础知识测试,计算机基础知识和操作系统.doc

全国计算机等级考试精讲精解精练——二级C第1章 计算机基础知识与操作系统 PAGE 2 PAGE 33技术资料共享知识第1章计算机基础知识与操作系统大纲要求了解计算机的有关概念及软硬件系统的组成&#xff1b;了解数据基本单位&#xff0c;掌握计算机常用数制的转换方法&#xff1b;具…

Unity 协程深入解析与原理

先来直接放一段代码 1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;4 5 public class CoroutineTest : MonoBehaviour6 {7 8 void Start()9 { 10 Debug.Log("Start Begin"); 11 12 CustomCoroutine …

计算机操作员初级 第1单元0202微型计算机基本操作 教学大纲,计算机操作员教学大纲...

计算机操作员培训教学大纲一、课程的地位、目的与任务计算机应用基础课程是计算机操作员必修课。通过学习&#xff0c;测试学员的计算机基础知识&#xff0c;基本操作和使用计算机的能力&#xff1b;它是学员学习计算机的入门课程&#xff0c;提高学员的综合学习的能力。二、教…

晓庄学院计算机科学分数,南京晓庄学院计算机单招分数

技校网专门为您推荐的类似问题答案问题1&#xff1a;南京晓庄学院的计算机专业晓庄排名太低计算机实力也弱 你的分这么高 上了浪费 建议上南京林业大学或其它符合等级的外省一流学校问题2&#xff1a;有南京晓庄学院 行知学院 计算机专业的学生吗, 这个学校如何你好啊&#xff…

NAT协议详解

NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;是将IP数据报头中的IP地址转换为另一个IP地址的过程。在实际应用中&#xff0c;NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式&#x…

[Design-Pattern]工厂模式

Java版本 1 package interfaces;2 3 interface Service {4 void method1();5 void method2();6 } 7 8 interface ServiceFactory { 9 Service getService(); 10 } 11 12 class Implementation1 implements Service { 13 Implementation1() {} 14 public void method1…