微信支付流程图

简书链接:http://www.jianshu.com/writer#/notebooks/4059411/notes/4121325

【微信开放平台:

资源中心是微信开放平台开发者所需所有相关资源的汇集地,包括:
1.移动应用开发
2.网站应用开发
3.公众帐号开发
4.公众号服务开发

微信开放平台

  主要面向App开发者 通常前提是拥有成熟的应用程序 之后通过开放平台 将内容分享至朋友圈 发送给某个微信好友.

微信公众平台

  强调信息流 既可以向微博一样主要推送内容 也可以像10086一样 根据用户发来的消息进行智能回复 后台可以实现某些功能.】

资料参考:

1:点击链接:https://pay.weixin.qq.com/wiki/doc/api/index.html  然后点击APP pay,看官网demo和官方文档

2:APP端开发步骤说明:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5


微信支付流程图_第1张图片

内容解析:

前提:wx7562ceaf88f412XX,在项目中添加url schemes; 客户端需要填写你申请的appid,将此填写到schemes里

同时需要写微信回调:

另外这个回调写没写

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];

}

流程解释:

1:2016-05-25 15:20:04.950 和服务器商定

2:<==返回数据:{


"p_a" = wx7562ceaf88f412XX;

"p_b" = 1295156501;

"p_c" = wx2016052515200565ab26e54701943XX;

"p_d" = cdf28f8b7d14ab02d12a2329d71e40XX;

"p_e" = 14641608XX;

"p_f" = "Sign=WXXXy";

"p_g" = c6339d989155ba10d4837156467ecXX;

}

3.1:

3.2:

//换成进入支付页面,后台返回获取---》微信注册APPID

[WXApiregisterApp:resultData[@"p_a"]];

if(![self.paymentChannelenvironmentSupportToPay])

{

return;

}

3.3:本地存储

3.4把信息发送到微信平台:sendreq:

参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay

4.1:[WXApihandleOpenURL:notifInfo[CMGE_TAG_URL]delegate:self];

sourceApplication = "com.tencent.xin";

4.2》:

url = "wx7562ceaf88f412XX://pay/?returnKey=(null)&ret=-2";

switch(resp.errCode)

{

caseWXSuccess:

{

"微信支付成功!";

}

break;

caseWXErrCodeCommon:

{

[@"微信支付异常!"];

}

break;

caseWXErrCodeUserCancel:

{

"用户取消微信支付!";

}

break;

caseWXErrCodeSentFail:

{

"微信支付发送失败!";

}

break;

caseWXErrCodeAuthDeny:

{

@"微信支付验证失败!"

}

break;

caseWXErrCodeUnsupport:

{

"不支持的微信支付类型!

}

break;

default:

"微信支付未知异常!";

break;

、、--------------案例交互时序图

以下是交互时序图,统一下单API、支付结果通知API和查询订单API等都涉及签名过程,调用都必须在商户服务器端完成。如图8.6所示。

微信支付流程图_第2张图片

商户系统和微信支付系统主要交互说明:
步骤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】

你可能感兴趣的:(Objective-C)