Android接入微信支付完全解析,太全了~

Android--快速接入微信支付 前言最近实习的时候要求我做支付模块,主要是介入支付宝支付和微信支付的。支付宝支付接入相对来说比较好做,官网文档也比较容易懂。但是做微信支付的时候,官网文档就有点懵逼了,不过慢慢读还是能够开通的。与是抽时间记录一下微信支付接入的过程。 这里我不去说明AppID申请的过程,主要记录一下开发过程。微信支付首先一定要清楚微信支付业务流程,这样接下来就事半功倍了。 主要官方文档看这: - 业务流程 - A 阅读详情

今天来聊聊,android中接入微信支付的需求,肯定有人会说,这多简单呀,还在这里扯什么,赶快去洗洗睡吧~~

那我就不服了,要是说这简单的,你知道微信支付官网多少吗,要是你一百度,下面全是广告,哈哈,你一不小心就掉坑去了,在简单的事,只要你想把他做好,其实也是很复杂的~

简介

首先我们来到微信支付官网瞅瞅:

Paste_Image.png

可以看到这就是微信支付首页,下面有几种支付方式,而我们今天的主角就是APP支付,我们可以直接点进去,或者从左上角接入指引-APP支付,进去的文档式样的,这是这个文档的位置如下图所示:

Paste_Image.png

肯定有人说,你贴这么有毛用呀,还浪费我流量…

别急让我给你说说这图有什么用,首先从这图你能看出从注册开发平台账号到完成支付接入需要哪些步骤,哪些资料,这样你可以让相关的人员事先去准备这些资料,而不是填完一步资料,在去找下一步资料,记住时间就是金钱,另外你领导说来给我讲讲微信支付那准备哪些资料,你没看过这文档,那我就只能呵呵了O(∩_∩)O~。另外哪些说支付简单的,有几个知道这张图,又有谁认真看过~~

可以看到是要加300块的,还需要企业的一些资料。

另外微信支付有两个平台分别是开发者平台和商户平台

开发者平台:主要是针对开发者,比如:创建应用,获取appid
商户平台:主要是商户上面的一些管理,比如:可以查看流水,订单呀

创建应用

这里我只是演示怎么创建应用,最后不会用这个账号的,因为我这是个人账号,没法申请支付,只是给不会创建的朋友做一个演示,需要哪些资料而已,会的可略过~

首先我们来到开发者平台,没有账号的先注册,这个我想不用演示了,直接演示怎么创建应用,首先你的登录完账号,点击管理中心-移动应用:

Paste_Image.png

点击左上角的创建移动应用,到如下界面,因为这里是测试,所有资料都是随便填啦

Paste_Image.png

点击下一步就来到了

Paste_Image.png

这一步让你填写,需要的平台,以及平台信息,我这里只悬着android,填入包名和签名,另外这里他没有想微博那样可以填入多个签名,那么这里我建议你一开始填入debug的签名,等调试通过了在填写正式签名,签名的获取方法和接入第三方登录是一样的。最后提交审核,等审核完以后,我们点击到应用详情,应该是这样的效果

Paste_Image.png

个人账号创建的应用审核通过后只有,分享功能,如果还需要支付,可以点击申请,然后认证账号并上传一些资料,这又是一个漫长的过程,这里我们就不了那么多了,现在直接说怎么在代码实现吧

运行官方demo

记住这里的支付demo是在商户平台的帮助里面下载,地址在这里,而不是开发者平台下载的那个demo(以前是可以,现在这里下载的demo,里面剔除了支付),如下图,是这个页面:

Paste_Image.png

第一个是基础库,点击后会跳到开发者平台,第二个参数支付demo,当然里面也包含了分享等一些功能,可以说如果你既要做支付又要做分享,那么你只需要这个一个demo就行了,当然还得需要我这篇文章呀

下载完导入eclipse,替换debug.keystore然后运行,就可以看到如下界面,终于看到支付了,激动不已是不是

Paste_Image.png

然后我们就可以点击“跳转到支付界面”,看看什么效果呀,是骡子是马总的溜溜吧,看到这一面,感觉神清气爽,因为demo跑通了,呵呵~

Paste_Image.png

demo也看了,钱也付了,那我们现在就该开始接入支付了

正式接入支付

首先还是得上一张流程图呀,不然你知道怎么个逻辑?

这是这个文档的官方地址

,这是官方的解释

商户系统和微信支付系统主要交互说明:

步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。

步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay

步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】

步骤5:商户后台接收支付通知。api参见【支付结果通知API】

步骤6:商户后台查询支付结果。,api参见【查询订单API】

首要微信支付暴露给我的是两步,一步是生成预支付订单,然后那个预支付订单id再去调用微信支付,所以说这里就有两种实现方式了,一种是客户端处理这所有步骤,另外一种肯定是服务端创建与支付订单和签名,然后返回给我们,我们才拿着这些参数去调用微信支付。实际应用中,推荐使用服务那种,但是我这里讲的是本地怎么实现支付,如果你们是在服务端支付,那么你的告诉他你需要什么参数,他怎么创建预支付订单等服务端下单参考这里

配置

这是官方的app支付开发步骤,另外这里由于我没有可用的支付所以,写demo我用的包名和key都是微信demo的

配置权限

配置activity

<uses-permission android:name="android.permission.INTERNET"/>

配置回调activity

<activity
    android:name=".wxapi.WXPayEntryActivity"
    android:exported="true"
    android:launchMode="singleTop"/>

调用支付

public void testWxPay(View view) {
    new Thread(new Runnable() {
        @Override
        public void run() {
            String url = "http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=android";
            ToastUtil.shortToastInBackgroundThread(getActivity(), "获取订单中...");
            try {
                byte[] buf = Util.httpGet(url);
                if (buf != null && buf.length > 0) {
                    String content = new String(buf);
                    Log.e("get server pay params:", content);
                    JSONObject json = new JSONObject(content);
                    if (null != json && !json.has("retcode")) {
                        req = new PayReq();
                        //req.appId = "wxf8b4f85f3a794e77";  // 测试用appId
                        req.appId = json.getString("appid");
                        req.partnerId = json.getString("partnerid");
                        req.prepayId = json.getString("prepayid");
                        req.nonceStr = json.getString("noncestr");
                        req.timeStamp = json.getString("timestamp");
                        req.packageValue = json.getString("package");
                        req.sign = json.getString("sign");
                        req.extData = "app data"; // optional
                        ToastUtil.shortToastInBackgroundThread(getActivity(), "正常调起支付");
                        toPay();
                    } else {
                        Log.d("PAY_GET", "返回错误" + json.getString("retmsg"));
                        ToastUtil.shortToastInBackgroundThread(getActivity(), "返回错误" + json.getString("retmsg"));
                    }
                } else {
                    Log.d("PAY_GET", "服务器请求错误");
                    ToastUtil.shortToastInBackgroundThread(getActivity(), "服务器请求错误");
                }
            } catch (Exception e) {
                Log.e("PAY_GET", "异常:" + e.getMessage());
                ToastUtil.shortToastInBackgroundThread(getActivity(), "异常:" + e.getMessage());
            }
        }
    }).start();

}

private void toPay() {
    // 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
    api.sendReq(req);
}

到这里如果你按照我的配置的话,正常情况下试可用调起支付界面了,如果出现-1,请检查是不是替换了debug.keystore,如果替换了,还是这样记得清空微信缓存

以上测试代码都在github上,官方的下载的sdk包也在该仓库的docs目录下

如果我的文章对来带来的帮助,可加我微信,微博,QQ什么啥的交个朋友也是不错的,另外微信,微博都会不定期发一些优质的文章,感谢大家的支持~~,联系方式在我的个人介绍里啦

Android微信支付和支付宝支付快速接入 4、添加混淆规则(看个人)在应用工程的proguard-project.txt里添加以下相关规则:;;至此,开发包开发资源导入完成。支付调用:PayTask对象主要为商户提供订单支付、查询功能,及获取当前开发包版本号。获取PayTask支付对象调用支付(支付行为需要在独立的非ui线程中执行),代码示例:// 订单信息(必须来源于服务端)@Override// 必须异步调用参数名称 参数说明。 阅读详情

相关推荐

android移动支付——微信支付

3.把商品拿到收银台,收银人员处理商品信息4.告诉收银员支付方式5.选择支付方式进行支付6.处理支付结果(成功、失败、取消)程序中的支付流程中:1.浏览商品2.把要买的商品加入购物车3.把购物车中的商品信息和用户信息和支付方式等信息发送到自己服务器,服务器处理商品信息生成订单,并返回”支付串”给客户端4.客户端拿着“支付串”,调用第三方服务(支付宝、微信、银联、paypal等)完成支付5.处理支付结果(成功、失败、取消)l 同步返回:支付后通知我们的客户端。

erghtt的博客 721

Android开发知识(十二):30分钟快速接入微信支付SDK

目录 目录 一、申请应用 二、配置微信支付的SDK 三、微信支付流程 1、统一下单接口 2、APP调起支付接口 3、微信支付的回调 四、总结 一、申请应用 1、首先到 [ 微信开放平台官网] 申请注册帐号,这些流程就忽略了到官网一看自然就知道怎么走,感觉在这里没有必要说很多。 2、申请一个移动应用,填写完成你的应用信息。其他的没啥,最主要的是要填对你的签名和包名,...

lc_miao的专栏 2万+

微信支付点金计划跳转页面实战:从白屏到高转化的全链路解析

微信支付跳转页面不是简单的URL重定向,而是涉及可信路径授权、状态同步与终端适配的系统工程。其核心原理基于微信支付V3接口的notify_url与redirect_url双通道机制,结合点金计划特有的result_page_id模板化管控和sub_mchid子商户隔离设计,实现安全可控的用户流向引导。该技术方案显著提升支付后用户留存与二次转化,广泛应用于电商、教育SaaS、知识付费等小程序/H5场景。本文聚焦‘跳转白屏’‘紧急页面升级访问’等高频问题,深入拆解参数校验、iOS兼容处理、灰度路由策略及中间页桥

weixin_34327223的博客 409

Android支付——微信支付总结

1、准备工作在微信开放平台进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。 微信支付的开发方式和支付宝不同,微信支付在客户端不需要太多的操作,大多依赖于服务器端。2、导入jar包将libammsdk.jar包放入应用工程的libs目录下。3、修改AndroidManifest.xml文件在AndroidManifest.xml文件中添加如下代码:

一个简单的程序员 7980

Android实现微信支付功能详解

主要为大家详细介绍了Android实现微信支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

华为无线AP+AC(ensp)

VLAN 100--192.168.100.0/24为AP的管理IP地址VLAN10--192.168.10.0/24为无线用户获取的IP地址在DHCP Server(LSW3)上查看地址分配情况。

abcdlalal的博客 1万+

Android接入微信支付完全解析,太全了

Android接入微信支付完全解析,太全了

gfuugff的博客 407

Lumerical-定向耦合器1

概述:本文章使用FDE求解器对定向耦合器进行了数值仿真,讨论了耦合器的间距相关性,耦合长度相关性,波长相关性。讨论了脊形波导和条形波导两种情况。

m0_61776728的博客 4611

Android接入微信支付完全解析

Android接入微信支付完全解析,太全了~ 转载自 http://www.jianshu.com/p/1a17622c9f48 今天来聊聊,android中接入微信支付的需求,肯定有人会说,这多简单呀,还在这里扯什么,赶快去洗洗睡吧~~ 那我就不服了,要是说这简单的,你知道微信支付官网多少吗,要是你一百度,下面全是广告,哈哈,你一不小心就掉坑去了,在简单的事,只要你想把他做好,

IssaE的博客 544

PSIM+PIL+CCS三剑客:手把手教你搞定DSP28335的软硬件联合调试

本文详细介绍了如何利用PSIM、PIL与CCS三款工具,实现DSP28335的软硬件联合调试。通过搭建兼容环境、从PSIM仿真生成PIL代码,再到实战联合调试与问题诊断,手把手指导开发者构建从虚拟模型到实际硬件的完整验证闭环,有效提升电力电子与电机驱动等领域的开发效率与可靠性。

weixin_29183637的博客 185

【Unity】【2D】用连续图片生成动画Animation的简明步骤

本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。

O青草O的博客 Unity和游戏制作知识分享 714

Android开发 接入微信支付 案例

Android接入微信支付 2017-07-03 今天来聊聊,android中接入微信支付的需求,肯定有人会说,这多简单呀,还在这里扯什么,赶快去洗洗睡吧~~ 那我就不服了,要是说这简单的,你知道微信支付官网多少吗,要是你一百度,下面全是广告,哈哈,你一不小心就掉坑去了,在简单的事,只要你想把他做好,其实也是很复杂的~ 简介 首先我们来到微

一名屌丝程序员的秘密花园 1100

我的python学习之路

Python 是一门功能强大且易于学习的编程语言,广泛应用于数据分析、人工智能、Web 开发、自动化等领域。以下是一个 Python 学习路径的总结,帮助你系统地掌握 Python 编程。

数据知道的博客 3万+

Android端接入微信支付的坑

这篇文章纯属记录,在一个问题上的爬坑辛酸(>~<) 微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 微信支付开发步骤: 遇到问题: 步骤1、2、3都没问题,卡在了步骤四,App调起微信支付时,出错了,一直返回-1,一直返回-1,一直返回-1!!! 真的好气哦,用了一天来解决这个问题...

让学习编程变得生动有趣~ 575

2、微软 Power Automate 入门指南

本文是一篇关于微软 Power Automate 的入门指南,详细介绍了 Power Automate 的基本概念、相关术语、登录方式以及如何创建一个简单的自动化流。文章还探讨了 Power Automate 在业务流程中的应用场景和优势,并展望了其高级功能和未来发展。适合希望快速入门 Power Automate 并提升业务自动化效率的读者。

corn8的博客 440

TRON 主网节点搭建-2024最新详细版文档

TRON主网节点搭建以前,大概说明一下本次使用的服务器配置,本次从搭建部署到节点完成同步的时间大约为36小时。

J_Lee 4056

android微信支付问题总结

android微信支付问题总结

qq_43685172的博客 634

WinClaw安全实战 02|五层纵深防护体系全解析:从原理到实操,打造零风险AI智能体

2026年AI智能体爆发式普及,OpenClaw以27.3万GitHub星标成为现象级工具,但恶意Skill投毒、提示词注入、数据外泄等安全事故频发,国家互联网应急中心、工信部等多部门接连发布风险警示。威努特基于国家关键信息基础设施安全防护经验,打造WinClaw安全版AI智能体,其核心竞争力在于**五层纵深防护体系**。本文从安全痛点切入,通过真实事故案例揭示风险本质,全景解构五层防护的架构设计与技术原理,逐层拆解身份认证、安装审查、消息拦截、执行约束、监控审计的实现逻辑,搭配20+实操演示、对比表格

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 495

android微信支付错误码,Android接入微信支付之-1错误码踩坑之旅

一、引言微信支付文档写的真的棒啊!少林功夫真的好啊!永远猜不到-1错误码是啥问题。文档写的棒呀二、注意事项1.在开放平台绑定商户的应用签名不像别家SDK使用签名文件的sha1值,而是使用MD5值。并且要去掉中间所有的 " : " 冒号 ,最好英文字母改成小写。顺便介绍下签名文件:debug.keystore:在Android Stduio中系统默认内置了一个签名文件debug.keystore,用...

weixin_36248959的博客 606

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微信支付软件架构,这也太牛逼了!

点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2020 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络...

芋艿V 423

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

我走过最长的路是你的套路——Android端微信支付填坑之路

我走过最长的路是你的套路——Android端微信支付填坑之路

剑指苍穹xp的博客 663

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

2024年Android最新android移动支付——支付宝支付(1),2024年最新b站面试题目

好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。密钥的获取,参照支付宝开发包中的openssl目录下“生成命令.txt”生成,生成我们自己的公钥和私钥,把我们的公钥提交到支付宝,支付宝再给我们返回支付宝的公钥。

2401_84520332的博客 1126

Cocos Creator安卓游戏深度集成微信SDK:架构设计与实战避坑指南

在移动应用开发中,跨平台通信与第三方服务集成是构建完整用户体验的关键技术。其核心原理在于通过JNI(Java Native Interface)或反射机制,在原生层与脚本层之间建立可靠的数据桥梁,实现功能调用与数据交换。这项技术的价值在于能够高效利用各平台原生能力,提升应用功能丰富性与稳定性。在游戏开发领域,尤其是使用Cocos Creator等跨平台引擎时,深度集成微信SDK(涵盖登录、支付、分享等核心功能)已成为国内市场的标配需求。本文聚焦于Cocos Creator安卓项目,深入剖析如何稳健地进行微信

weixin_30614109的博客 393

浅析微信支付:如何使用沙箱环境测试

本文是【浅析微信支付】系列文章的第十篇,主要讲解如何使用沙箱环境来测试微信支付。 浅析微信支付系列已经更新十篇了哟~,没有看过的朋友们可以看一下。 浅析微信支付:下载对账单和资金账单 浅析微信支付:申请退款、退款回调接口、查询退款 浅析微信支付:查询订单和关闭订单 浅析微信支付:支付结果通知 在实际开发中,通常我们都是在开发环境中开发,...

weixin_34107739的博客 744
上一篇: 史上最详细Android集成QQ,微信,微博分享(不用第三方)持续更新中
下一篇: 初探Google推荐Android图片加载框架Glide
爱上学习啊
博客等级 码龄16年 99粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值