微信支付sdk部署在服务器,android接入微信支付SDK

本文详细介绍了Android应用程序接入微信支付SDK的整个流程,包括在微信开放平台创建应用、获取AppID和商户号、设置API密钥、集成SDK、配置签名文件等。同时强调了在支付过程中需要注意的事项,如订单ID的唯一性、签名的正确性以及预支付ID的安全获取。此外,还提到了支付成功回调Activity的设置以及处理微信支付返回错误码的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要讲述一下 android 接入微信支付 SDK 的步骤以及需要注意的一些 Tips。

前期准备

接入微信支付 SDK 前期需要许多前期准备。

微信开放平台登录账号,进入管理中心,创建你的 App 应用,创建应用的包名与签名要与你实际的应用一致。

eb1b93a5e2492359c11eb645a3481b5c.png

3c8b13af1bad2302866c6be00c7e73e8.png

进入应用详情,获取AppID,以及申请开通微信支付能力。

2a6fa8567f1121b64cf7d64f32b96322.png

等待审核通过。

微信商户平台登录账号,在基本信息中获得微信支付商户号。

57736fcfdff3047f4112707375fefa01.png

安装操作证书,然后进入 API 安全设置秘钥,最好使用 UUID 自动生成的,记住这个秘钥。

bee11f53db1c7327186cbbcd34d66880.png

OK,前期准备做完,下面进行代码接入。

工程接入 SDK

新建应用工程

以 AS 为例,新建工程,注意包名与使用的签名要与微信开放平台申请应用时填写的一致。

82e8c2939bdf100679f9068bcab414fb.png

引入 libs

将libammsdk.jar放到 libs 文件夹下。

配置 debug、release 的签名文件1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

signingConfigs {

debug {

storeFile file("你的keystore路径")

storePassword "xxx"

keyAlias "xxx"

keyPassword "xxx"

}

release {

storeFile file("你的keystore路径")

storePassword "xxx"

keyAlias "xxx"

keyPassword "xxx"

}

}

这里 debug、realse 我采用的是一样的签名。不论是 debug,还是 release 都能对应上。

AndroidManifest.xml 中配置1

2

3

4

5

6

7

8

9

10

11

12

13

也别忘记加入网络权限。

获取 prepay_id

支付

获取到 prepay_id 之后,调用IWXAPI的sendReq方法即可完成支付。

添加支付成功回调 Activity

添加wxapi的包名,在这个包名下必须要有WXPayEntryActivity这个 Activity,支付成功后会显示此界面。

f70b4655098975cc73d94773bc222536.png

另外,声明此 Activity 需要添加如下属性:1

2

3

4

android:name=".wxapi.WXPayEntryActivity"

android:exported="true"

android:launchMode="singleTop" />

调用接口相关参数以及返回值参考开发者手册。

Tips

下面说一下接入过程中需要注意的点。

官网下的 demo,第一次支付时,能成功。之后就会一直支付失败。原因是:支付的时候商户唯一订单 ID 是唯一的,测试的时候请不断的更换订单 ID 参数支付。若要继续使用 demo 支付,可以微信清除数据、或者退出登录重新登录。

微信支付返回-1,一般是签名错误。这个签名有 2 种意思:1、Apk 签名文件,debug 与 release 最好使用同样的 keystore;2、参数 MD5 签名生成的 sign。要仔细检查是否正确。

签名、包名必须跟微信开放平台申请的一致.

获取 prepay_id 最好是在服务器完成,由服务器去跟微信服务器交互,客户端不需要参与,以免泄露重要信息。

与微信接口交互时,参数都需要签名。签名方法如下图:

7b9e5e61eae373f9875286db48827ff1.png

这里重点说一下。参数名 ASCII 码从小到大排序(字典序)

参数名区分大小写,包括 sign。

需要添加商户 key 值,这个 key 即是在前期准备中,我所说的微信商户的那个秘钥。

若接入过程中注意到这些 Tips,一步一步来,那么应该是能支付成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值