Android微信APP支付

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

今天刚刚完成微信APP支付,虽然客户端要做的事情很少,思路也很简单,但是在做的过程也遇到了一些问题,
想给大家分享一下,希望和大家一同探讨,一起学习,同时希望对后来者能有点滴帮助。
微信APP支付开发者文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
android微信APP支付SDK和微信APP支付Demo下载地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN
对于客户端来说,需要做的就只有这些:
1、注册APPID,调支付之前注册就可以

IWXAPI msgApi = WXAPIFactory.createWXAPI(context, null);
// 将该app注册到微信
msgApi.registerApp("00000");

2、调起支付。先从服务器获取支付需要的参数,然后调起支付, 调支付之前需要先注册

IWXAPI api;
PayReq request = new PayReq();
request.appId = "00000";
request.partnerId = "00000";
request.prepayId= "00000",;
request.packageValue = "Sign=WXPay";
request.nonceStr= "00000";
request.timeStamp= "00000";
request.sign= "00000";
api.sendReq(request);

3.支付结果回调,获取支付结果,必须在申请APPID的包名下创建wxapi包,在该包下创建WXPayEntryActivity类,
包名和类名固定(包名或类名不一致会造成无法回调)。
比如包名net.sourceforge.simcpux,则在net.sourceforge.simcpux下创建包wxapi,
在wxapi下创建WXPayEntryActivity类。

//判断用户是否安装微信,没有安装微信,则不能进行支付
if (!api.isWXAppInstalled()) {
        Toast.makeText(mContext, "您未安装微信,不能进行微信支付", Toast.LENGTH_SHORT).show();
        return;
 }

//判断用户微信的版本是否支持支付功能
 boolean isPaySupported = api.getWXAppSupportAPI() >= com.tencent.mm.sdk.constants.Build.PAY_SUPPORTED_SDK_INT;
 if (!isPaySupported) {
        Toast.makeText(mContext, "您当前微信版本过低,请更后进行支付", Toast.LENGTH_SHORT).show();
        return;
  }

public void onResp(BaseRespresp){
     switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                result = "支付成功";
                finish();
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                result = "用户取消";
                finish();
                break;
            case BaseResp.ErrCode.ERR_COMM:
                result = "签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等";
                break;
            default:
                result = "未知错误";
                break;
    }
} 

4、AndroidManifest.xml

PayActivity.class 调起微信支付的类:

<activity
        android:name=".PayActivity"
        android:exported="true"
        android:screenOrientation="portrait">

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            //自己应用申请的APPID
            <data android:scheme="00000" />
        </intent-filter>

  </activity>

WXPayEntryActivity.class,微信支付结果回调的类

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

这里写图片描述

当完成这些步骤以后,客户端需要做的事情也都已经做完了。但是我调微信的结果一直返回-1。于是就按照文档提示的错误逐个排查。
签名错误:
微信支付必须是正式包,即签名后的apk才可以进行支付;
申请APPID时的签名是否正确,好像区分大小写。下载微信提供的签名工具,下载地址:https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
直接复制签名工具生成的签名,这个签名绝对是正确的。使用此签名工具查看签名的apk也必须是正式包(签名后的apk)。
申请APPID已经成功,如果签名填写错误,直接修改就可以使用(亲测可以)。

未注册APPID
未注册APPID是绝对调不动微信支付

项目设置APPID不正确、注册的APPID与设置的不匹配
这样的问题很简单,只要没写错,基本上都不会有。

androidAPP 集成微信支付 最近项目里面需要支付功能,boss一致决定用微信支付,所以在网上查了很多资料,说的不全,完了就找以前的同事指教。算是成功集成上去了。在这里做个总结记录。 1、在APP上集成微信支付,首先当然是当官网上去注册并获取到支付功能。这些不涉及到开发,官网上说的很详细,这里就不多做文章。获取到这些能力了就为开发提供了条件了。开发中会用到的就是平台给的APPID、APPsercet、以及商户平台上设置的AP 阅读详情

相关推荐

Android App支付系列(一):微信支付接入详细指南(附官方支付demo)

一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统显然是不明智的,国内已经有多家成熟的移动支付提供商,腾讯就是其中之一。梳理了下微信支付的接入,今天给大家分享下腾讯旗下的微信支付SDK的接入流程

MichaelX的专栏 7万+

微信支付APP(php)

自己写的代码,经过线上测试的

uniapp [安卓苹果App端] - 实现微信支付功能+拉起微信付款支付后返回本app页面,详解uniApp如何唤起本机微信app并跳转到支付页面全流程及示例源码(uniapp实现微信支付,可打包)

uni-app项目在APP端使用微信支付功能,uniapp前端实现微信支付,uniapp开发安卓App对接微信支付,uniapp苹果ios唤起微信支付,uniapp调用微信支付uniapp开发app-调用微信支付,uniapp开发安卓苹果app如何接入微信支付,前后端应该怎么做,UniApp中实现微信支付功能,支付报错,调起失败没响应,uniapp苹果微信支付唤起实现,app唤起微信支付,拉起微信支付,uniapp中唤醒微信进行支付并返回app,uniApp调起微信支付失败报错,全网最详细的uniapp微信

🏆 前端领域优质创作者 1万+

【亲测免费】 轻松集成支付功能:Qt编写微信支付支付教程

轻松集成支付功能:Qt编写微信支付支付教程 【下载地址】Qt编写微信支付支付教程 Qt编写微信支付支付教程本文档旨在指导您如何在Qt项目中集成微信支付支付功能 项目地址: https://gitcode.com/Reso...

gitblog_06552的博客 960

【亲测免费】 Qt编写微信支付支付教程

Qt编写微信支付支付教程 【下载地址】Qt编写微信支付支付教程 Qt编写微信支付支付教程本文档旨在指导您如何在Qt项目中集成微信支付支付功能 项目地址: https://gitcode.com/Resource-Bund...

gitblog_06597的博客 1634

Android安卓原生接入微信app支付PHP服务端

Android安卓接入微信app支付PHP服务端 1.进入微信商户平台查看统一下单接口文档。 在查看完统一下单文档后,能够看到需要传递给微信“统一下单接口”地址的参数有哪些 统一下单文档地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1 2.查看完下单接口之后,我们知道要传递过去的参数有, Appid(在微信开放平台能够看到自己的appid); mch_id(微信商户平台的id); nonce_str(..

qq_37196621的博客 524

Android App整合微信支付

首先根据教程操作:微信APP支付接入商户服务中心 然后查看 微信 APP 支付 Android 开发文档

Errol's Blog 1653

Android6不兼容微信,uni-app微信支付不支持 安卓6系统吗

uni-app微信支付不支持安卓6吗我要两个平吧系统测试安卓6 测试出现-1和安卓8 结果安卓8可以调用微信支付正常运行 安卓6不行// 安卓调用微信支付uni.requestPayment({provider: "wxpay",timeStamp: JSON.stringify(result2.timestamp),nonceStr: result2.noncestr,package: r...

weixin_42398629的博客 775

微信app支付 java后台接Android

抽时间整理一下之前项目中的微信app支付,以备以后需要,如果对你可以有点帮助是最好不过的; 直接上代码: public class WeChatAppConfig { /** * 预支付请求地址 */ public static final String PrepayUrl = "https://api.mch.weixin.qq.com/pay/uni...

weixin_42594182的博客 1165

微信APP支付Android端实现与详解

微信APP支付已经成为现今市场上使用频率极高的移动支付方式之一。它的出现极大地促进了移动支付的发展,并为用户和商家提供了便利。在深入探讨微信APP支付的流程和技术细节前,本章将对微信APP支付的基本概念进行介绍。首先,微信APP支付是一种基于微信平台的移动支付服务,它允许用户通过微信钱包进行在线交易和线下支付。它依靠微信生态系统强大的用户基础和便捷的用户体验,快速成为了用户日常生活中不可或缺的一部分。接着,我们会了解到微信支付是如何通过整合腾讯的技术和资源优势,实现快速、安全的支付体验的。

weixin_34535286的博客 703

uniapp 安卓APP应用 进行微信支付支付支付

本文介绍了微信支付支付支付在uniapp中的实现方法。微信支付需要注意包名和应用签名一致,需构造包含appId、nonceStr等参数的orderInfo对象,并处理支付成功/失败的场景。支付支付相对简单,直接传入订单字符串参数即可。两者都实现了支付成功跳转回上级页面和失败提示的功能。微信支付还特别区分了iOS和Android平台,并处理了用户取消支付的场景。

m0_47559177的博客 563

Android app集成微信支付

鉴于微信支付的文档入口不太容易找到、以及文档中有些逻辑不通或者容易产生歧义或者缺失一些信息的情况,记录下此次接入的流程和需要关注的一些点。使用的是app支付->首先阅读介绍等,了解一些基础的概念和建立共识,大体的在脑中组织微信支付的框架。注册申请id等。支付后端程序员可参考:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay-1.shtml。

DaoDivDiFang的博客 2731

uni-app 安卓、iOS App拉起微信h5支付

uni-app 安卓、iOS App拉起微信h5支付,安卓、iOS、h5都用的一样参数,支付完成后回到App进行订单检测

donwei8的专栏 651

Android版-微信APP支付

首发地址: Android版-微信APP支付 欢迎留言、转发 微信极速开发系列文章(微信支付、授权获取用户信息等):点击这里 目录 1、注册账号、开发者认证 2、添加应用 3、申请微信支付 4、技术开发功能实现步骤介绍 5、代码实例 此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步 https://github.com/Javen205/IJPay http://git....

weixin_33727510的博客 1189

android app接入微信H5支付

android app接入微信h5支付的代码 public class ThirdPay{ private static ThirdPay payPtr; private static AppActivity _activity; private String orderInfo; private static FrameLayout m_layout...

auccy的博客 2035

php android 微信支付,Android_Android实现微信支付功能,开发Android APP微信支付功能, - phpStudy...

Android实现微信支付功能开发Android APP微信支付功能,需要完成三个步骤:第一步生成预支付订单、第二步生成微信支付参数、第三步调起微信APP支付。除了需要审核通过的APP应用外,还需要获得微信支付接口权限,然后获取对应的商户号、API密钥,这两者缺一不可,并且在APP微信支付中使用获得商户号、API密钥在微信开放平台中查看审核通过的APP应用,是否申请支付功能,若已申请,登录微信支付...

weixin_42512723的博客 233

PC网页端和uniapp小程序、安卓app、H5接入微信支付

需要注意的是小程序下单接口需要传入openid,所以我们需要在登录小程序时,先调用微信登录接口实现登录,同时获取用户openid并保存到数据库,在下单时获取openid,作为入参。由于Native下单接口需要传入微信公众平台服务号的appid,所以我们需要到微信公众平台注册服务号,微信认证完成后开通微信支付功能。传入商户号id,服务号appid,支付成功回调地址及订单号,支付金额,描述等参数到下单接口。小程序支付提供商户在自身微信小程序中使用微信支付收款的能力。,调起微信支付收银台中间页,完成微信支付

FinelyYang的专栏 1142
上一篇: Activity的数据交互
下一篇: xml常用样式实现
szy_
博客等级 码龄10年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值