微信支付集成指南:支持 IOS、安卓和 WP 系统的交互细节解析

2024-05-31
来源:网络整理

原来的:

文档中心:

场景介绍

适用于在手机APP中集成微信支付功能的商户。

商户APP调用微信提供的SDK来调用微信支付模块,商户APP会跳转微信完成支付,支付完成后会跳转回商户APP,最后显示支付结果。

目前微信支付支持以下手机系统:IOS(苹果)、(安卓)、WP()。

交互细节如下:

步骤1:用户进入商户APP,选择商品下单,确认购买,进入支付阶段。商户服务后台生成支付订单,签字后将数据传输给APP。以微信提供的DEMO为例,见图8.1。

步骤2:用户点击发起支付操作,进入微信界面,开通微信支付,出现支付确认界面,如图8.2所示。

步骤3:用户确认收款人及金额,点击立即支付,出现输入密码界面,用户可以选择用零钱或银行卡支付(见图8.3)。

图8.1 商户APP界面示例

图8.2 跳转微信支付

图8.3 用户确认付款

步骤4:输入正确的密码后,支付完成,用户微信出现支付详情页面。参见图8.4。

步骤5:跳转回商户APP,商户APP根据支付结果展示订单处理结果。参见图8.5。

图8.4 支付成功提示页面

APP开发步骤

iOS开发关键点

以下项目开发环境以.0,运行环境为IOS7.0为例,说明其开发中所需的操作。

1. 项目设置

商户申请在微信开放平台开发APP应用后,微信开放平台会为该APP生成一个唯一ID。在微信中打开项目,在项目属性中将URL设置为您的。参见图8.7中红色位置。

图 8.7

2. 注册

在商户APP项目中引入微信lib库及头文件,调用API前需要先向微信注册,代码如下:

[ :@"" :@"演示 2.0"];

3. 开始付款

商户服务器生成支付订单,先调用【统一订单API】生成预付订单,然后签名并传参给APP发起支付,以下是调用微信支付的关键代码:

* = [[[ ] 初始化] ];

。 =@“”;

.= @"7";

. = @"符号=";

.= @"";

.= @"";

.符号=@“”;

[ : ];

注意:有关标志生成的字段名称列表,请参阅调用付款 API

4.支付结果回调

根据微信SDK,在类实现函数中,支付完成后微信APP会返回给商户APP并回调该函数。开发者需要在该函数中接收通知,判断返回的错误码,如果支付成功则在后台查询支付结果并向用户展示实际支付结果。注意一定不能以客户端返回的结果作为用户支付的结果,以服务端收到的支付通知或者查询API返回的结果为准。代码示例如下:

            -(void)onResp:(BaseResp*)resp{     if ([respisKindOfClass:[PayRespclass]]){         PayResp*response=(PayResp*)resp;         switch(response.errCode){             caseWXSuccess:                         //服务器端查询支付通知或查询API返回的结果再提示成功                         NSlog(@"支付成功");                       break;                       default:                       NSlog(@"支付失败,retcode=%d",resp.errCode);                       break;                  }                   }                }            

回调中的值列表:

名称 描述 解决方案

成功

显示成功页面

-1

微信支付开发者_微信app支付开发_微信支付开发票怎么开

错误

可能原因:签名错误、未注册、项目设置不正确、注册的与设置的不匹配、其他异常等。

-2

用户取消

无需任何操作。场景:用户不想支付,点击取消,返回APP。

发展要点

1. 背景设置

商户在微信开放平台申请开发应用后,微信开放平台会为APP生成唯一ID。由于需要保证支付安全,商户应用包名、应用签名需要与开放平台进行绑定,设置完成后才能正常发起支付。设置界面在【开放平台】中的【管理中心/修改应用/修改开发信息】一栏,如图8.8红框所示。

图 8.8

应用包名:是APP项目配置文件.xml中声明的值,如DEMO中为“net..”

应用签名:根据项目中使用的应用包名和编译,通过签名工具可以生成32位md5字符串。在调试的手机上安装签名工具后,运行即可生成应用签名字符串,如图8.9所示。绿色字符串即为应用签名。签名工具下载地址

图 8.9

2. 注册

将微信JAR包引入到商户APP项目中,调用API之前需要先注册微信账号,代码如下:

= .(,空);

// 将应用程序注册到微信

(“”);

3. 开始付款

商户服务器生成支付订单,先调用统一订单API(详见第7节)生成预付订单,然后签名并传参给APP发起支付,以下是调用微信支付的关键代码:

API;

=新的();

。 =“”;

。 =“”;

.= "7",;

. = "签名=";

.= "9";

.= “”;

.符号 = “”;

API。(要求);

注意:有关标志生成的字段名称列表,请参阅调用付款 API

4.支付结果回调

参照微信SDK,实现net…包路径下的类(包名或者类名不一致会导致回调失败),实现类中的函数,支付完成后微信APP会返回给商户APP并回调该函数,开发者需要在函数中收到通知,判断返回的错误码,若支付成功则去后端查询支付结果然后展示用户实际支付结果。注意一定不能以客户端返回作为用户支付的结果,而是以服务端收到的支付通知或者查询API返回的结果为准。代码示例如下:

(){

如果(resp.()==。){

Log.d(标签,,="+resp.);

.=.(这个);

.(R..);

回调中的值列表:

名称 描述 解决方案

成功

显示成功页面

-1

错误

可能原因:签名错误、未注册、项目设置不正确、注册的和设置的不匹配、其他异常等。

-2

用户取消

无需任何操作。场景:用户不想支付,点击取消,返回APP。

让我分享一下我老师的 AI 教程。不需要任何基础知识!简单易懂!风趣幽默!甚至还有黄段子!希望你能加入我们的 AI 团队!

分享