1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android移动支付——微信支付 android开发者模式调试程序

android移动支付——微信支付 android开发者模式调试程序

时间:2021-02-06 05:37:05

相关推荐

android移动支付——微信支付 android开发者模式调试程序

https://pay./wiki/doc/api/app/app.php?chapter=2_1

商户账号获取方式:

/faq/140225MveaUz140926ni2ERR.html

结算规则、费率、周期:

/faq/140225MveaUz1504092YFjeM.html

微信开发工具包和范例代码demo:

https://open./cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN

开发步骤

1.App微信商户申请(申请步骤)

重点是:申请审核服务费300/次才可以使用微信支付功能,获得AppID

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

开发者平台:主要是针对开发者,比如:创建应用,获取appid

商户平台:主要是商户上面的一些管理,比如:可以查看流水,订单呀

2.创建应用:

需要的平台,以及平台的信息,填入包名,签名,最后提交审核,等待审核完后,大概就可以看到这样的基本信息界面

个人账号创建的应用审核通过后只有分享功能,如果还需要支付功能,可以点击申请,然后认证账号并上传一些资料,等待审核成功

3.上面有列出微信的一些工具等东西,下载好demo,导入demo并且运行:

Demo可以完全支付了说明现在的Demo就已经完全配置好了微信的开发环境了,我们只需要参照这个Demo去配置我们自己的项目即可。

注:测试的Demo只支持调起一次微信支付,如需第二次可在系统设置中清除微信缓存数据即可

4.后台设置

商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。设置界面在【开放平台】中的栏目【管理中心 / 修改应用 / 修改开发信息】里面

应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值,例如DEMO中的package=“net.sourceforge.simcpux”。

应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名串,如图8.9所示,绿色串即应用签名。签名工具下载地址https://open./zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk

5. 配置微信开发环境:

a)把微信Demo中的“libammsdk.jar”复制到我们的项目libs文件夹中

b)把微信Demo中的清单文件AndroidManifest中的权限复制到我们的项目中

c)把微信Demo中的清单文件AndroidManifest中声明的支付相关的Activity声明复制到我们的项目中。注意,微信支付需要的Activity比较特殊,只需要一个(WXPayEntryActivity),这个Activity用于接收微信支付结果,这个Activity不是在jar包中的,是在Demo源码中的,我们需要把Demo中的这个Activity复制到我们的项目中,而且包名要保持不变,直接打开WXPayEntryActivity.java文件,Ctrl + A复制所有源码,然后在我们的项目src下直接粘贴,这样会自动创建和原来一样的包名。

在这个类中需要注意的地方有两个:

(1)、这个类中的布局是可以自定义的,如果你不需要展示什么布局,而是要跳转页面,把这段代码删除即可

(2)、回调结果的处理,下面是官方的处理方式,直接给了一个dialog,很多人会摸不着头脑,如果你不需要这个dialog,直接删除就好了

这里可以直接toast一下,如果你需要支付成功后跳转,那么直接在这里startActivity即可,别忘记最后要将这个页面finish()

6. 注册APPID

商户APP工程中引入微信JAR包,调用API前,需要先向微信注册您的APPID,代码如下:

final IWXAPImsgApi = WXAPIFactory.createWXAPI(context, null);

// 将该app注册到微信

msgApi.registerApp(“wxd930ea5d5a258f4f”);

7. 调起支付

商户服务器生成支付订单,先调用统一下单API生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。以下是调起微信支付的关键代码

注意:该sign生成字段名列表见调起支付API

8.支付结果回调,接收微信的请求及返回值

参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类(包名或类名不一致会造成无法回调),在WXPayEntryActivity类中实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准,详情请看5.—>c) —> (2)

(1)还要在manifest文件里面加上exported属性,设置为true,例如:

<activity

android:name=".wxapi.WXPayEntryActivity"

android:exported=“true”

android:launchMode=“singleTop”/>

(2)实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

(3)在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

回调中errCode值列表:

9.里面还有很多api可以调用,详情看开发者文档

10.微信支付接入不成功常见的问题

/qa/index.php?qa=app_pay

11. 如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。