微信普通商户和服务商支付,已经开户的商户可以归属到服务商下面吗

客服电话:177- QQ:
产品与服务
开通微信支付商户 小程序商城如何收款
发布时间: 23:22
小程序账户申请且认证过后,您需要开通微信支付商户,所有交易的钱会直接打到您的微信支付商户。我们不涉及到您的资金管理。有两种方式:新开通微信支付商户和绑定已有微信支付商户号。
1 新开通微信支付商户
如果您从未开通过微信支付,您需要开通下微信支付商户
流程(预计耗时:1-5天)
填写申请信息
经过微信支付审核
查收开户邮件
验证打款金额
登录商户平台签署协议
A:登录小程序后台,点击左侧微信支付,选择开通
B:选择新申请
2 绑定已有微信支付商户号
如果您开通过微信支付商户,绑定即可。
流程(预计耗时:10分钟)
验证原有商户号帐密信息
判断是否符合绑定条件
绑定成功后即可进行微信支付开发
A:登录小程序后台,点击左侧微信支付,选择开通
B:选择绑定已有微信支付商户号
C:填写商户号和商户登录密码,提交即可
D:开通成功
本文标题:《开通微信支付商户 小程序商城如何收款》
本文网址:&&
手机网址:
扫描二维码访问:
联系微信小程序客服,了解更多详情:微信&QQ:
猜你喜欢:
SEO,搜索引擎口碑营销、网站建设、APP、小程序开发需求请咨询QQ:&、&
产品与服务
资讯栏目导航
版权所有 & Copyright
保留所有权利
微信公众号微信支付推买单:傻瓜式自助 1分钟开通收款
作者: 腾讯科技来源: 腾讯科技 14:00:48
微信支付今日正式推出“微信买单”功能,商户无需开发,一分钟即可上线收款。同时,“微信买单”也面向服务商全面开放,服务商可以借助免开发的“微信买单”,快速地拓展中小型商家,并享受微信支付给予的经费、物料、技术扶持。四步接入“微信买单”,1分钟完成接入商家接入“微信买单”的流程非常简单。已经申请了微信支付的商户,进入微信支付官网后,历经“一键申请——在线签约——设置店员——打印二维码”四步,1分钟即可开通。顾客使用微信支付完成付款后,店员可通过绑定的微信号实时接收到微信支付推送的收款通知,快速确认收款结果,保证每一笔资金实时到账。同时,店员也可以扫码查看流水,方便进行收款管理。此次“微信买单”功能上线,最大亮点即是实现了1分钟自助化申请开通。这1分钟的背后,则是微信支付团队对缺乏开发能力的商户的需求适配,将以往的开发流程标准化后提供给商家。未来,微信支付还将上线“实时结算”、“自动分账”及“细分账户”功能,帮助商户更好地使用微信支付“管账”。全面支持服务商接入“微信买单”还支持服务商模式,向广大服务商提供免开发的收款产品。拥有线下商户资源的团队,不需要开发能力,也可以快速拓展中小型商家。同时微信支付为服务商提供了各类激励机制,从经费、物料、技术等方面的进行全面支持。此前,对还没使用微信支付收款的商家,微信支付团队做了一项调查。对于未使用微信支付的原因,80%的商家给出了“自身技术开发能力不足”这个答案。随着接入门槛的再一次降低,开发能力不足的中小商户和服务商,将彻底甩掉技术包袱。可以预见的是,微信支付覆盖门店也将迎来又一轮的爆发性增长,“无现金”也将持续深入到各行各业的“毛细血管”中。“微信买单”发布的同时,微信支付针对“微信买单”的首批运营奖励也已经发布。现在就开通“微信买单”的商家,马上就有机会获得经费支持。9月12日至11月30日,微信支付为在指定门店消费的顾客,提供最高50元的随机立减优惠,每周12万个名额。
打开微信“扫一扫”,分享给朋友和朋友圈
移动电商频道
电商服务推荐
跨境电商ERP小程序绑定已有商户号开通微信支付
请您登录账户!
让我们为您提供更多贴心服务
小程序绑定已有商户号开通微信支付
“绑定已有商户号开通微信支付”是微信支付新推出的使appid快速获取微信支付能力的新方式,目前这种方式首先应用在小程序申请微信支付的流程中。1、满足条件的公众号(appid),点击微信支付“申请”按钮,进入选择开通方式页。如下图所示:开通方式说明1)新申请:同以往申请流程一样,通过“提交申请资料、审核、验证、签约”的开户方式,获得一个与公众号绑定的新商户号。2)绑定:即“绑定已有商户号开通微信支付”,已有商户号的开发者可通过该种方式快速开通微信支付。注:两种开通方式均不可逆,请根据自身业务情况选择。2、点击“绑定”按钮,进入绑定已有商户号流程。如下图所示:目前仅支持绑定主体一致且完成所有开户流程的新接口普通类型商户号,其他类型均不支持,详情如下:1)商户号与appid的认证主体不一致;2)商户号未走完所有开户流程,包括未验证身份、未签署协议等情况;3)商户号是老tenpay接口的商户号,未完成新接口升级;4)商户号是境外类型商户号;5)商户号是服务商类型商户号;6)商户号因违规处罚导致的限制;另外,选择该种方式请确认你的业务模式和经营范围是否与“绑定的商户号”一致。如不一致,请走新申请流程获取新的商户号。3、验证成功后,将会进入绑定成功页;你可通过该商户号进行微信支付的开发,通过该商户号进行收款。看到绑定成功提示后,你的微信支付功能已成功开通,请刷新公众平台的微信支付申请页获取最新状态。如下图所示:
小Q是腾讯客服专家,同时也是本帮助页面的作者。请在下方提供反馈,以帮助她优化内容。
以上信息是否解决了您的问题?
感谢您提供反馈
感谢您的反馈,我们将持续优化!
请选择未解决的原因
描述不清晰
对产品功能不满意
内容不正确
操作后未能解决问题
关注微信公众号
向腾讯客服提问
财付通、手Q钱包专线
微信支付、理财通专线微信支付——后台对接公众号支付模式下,统一下单接口必须要传用户的openid,业务后台获取openid的步骤如下:第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;通过code参数加上AppID和AppSecret等,通过API换取access_token;通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。为避免重造轮子,我们使用了公司基础平台组提供的, 采用静默授权方式获取用户openid。需要提前在基础平台配置应用的AppID及AppSecret,并需要他们分配全局唯一的app_name。 关于,大家可自行了解。返回参数返回结果有两个状态码return_code及result_code,需要理解其各自的含义。return_code表示通信是否成功,当其为SUCCESS时,才会有后续的返回字段,当其为FAIL时,return_msg会填充错误信息;而result_code表示业务操作是否成功,当其为SUCCESS时,才会返回后续的业务字段(如prepay_id等),当其为FAIL时,会填充err_code及err_code_des等字段。返参试例&xml&
&return_code&&![CDATA[SUCCESS]]&&/return_code&
&return_msg&&![CDATA[OK]]&&/return_msg&
&appid&&![CDATA[wx0ec43b]]&&/appid&
&mch_id&&![CDATA[]]&&/mch_id&
&nonce_str&&![CDATA[IITRi8Iabbblz1Jc]]&&/nonce_str&
&openid&&![CDATA[oUpF8uMuAJO_M2pxb1Q9zNjWeS6o]]&&/openid&
&sign&&![CDATA[EB8ED0CED72F]]&&/sign&
&result_code&&![CDATA[SUCCESS]]&&/result_code&
&prepay_id&&![CDATA[wx507cbf6ffd8b]]&&/prepay_id&
&trade_type&&![CDATA[JSAPI]]&&/trade_type&
2.2.2 支付结果通知支付成功后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功(因此商户端需要定时去check两边待支付单子的状态)。 (通知频率为15/15/30/180/00/,单位:秒)。回调通知接口对安全性要求极高,有如下注意点:
1. 接口幂等,同样的通知可能会多次发送给商户系统。商户系统必须保证回调接口是幂等的,能够正确处理重复的通知。
2. 并发控制,在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
3. 签名验证,商户系统对于支付结果通知的内容一定要做签名验证。
4. 金额校验,校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成资金损失。接口链接该链接由商户端提供,通过【统一下单API】中提交的参数notify_url设置,通知url必须为直接可访问的url,不能携带参数。示例:notify_url:“”入参信息入参信息是由微信平台整理发送的,商户后端需要接收并解析各字段,做必要的校验。入参例子&xml&
&appid&&![CDATA[wx0ec43b]]&&/appid&
&bank_type&&![CDATA[CFT]]&&/bank_type&
&mch_id&&![CDATA[]]&&/mch_id&
&nonce_str&&![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]&&/nonce_str&
&openid&&![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]&&/openid&
&out_trade_no&&![CDATA[]]&&/out_trade_no&
&result_code&&![CDATA[SUCCESS]]&&/result_code&
&return_code&&![CDATA[SUCCESS]]&&/return_code&
&sign&&![CDATA[B552ED6B3C5DD0D78AB241]]&&/sign&
&time_end&&![CDATA[40]]&&/time_end&
&total_fee&1&/total_fee&
&trade_type&&![CDATA[JSAPI]]&&/trade_type&
&transaction_id&&![CDATA[2168]]&&/transaction_id&
返回参数商户后台的返回参数必须是微信支付指定的格式,否则都被微信认为通知失败,会不断重试。返参例子&xml&
&return_code&&![CDATA[SUCCESS]]&&/return_code&
&return_msg&&![CDATA[OK]]&&/return_msg&
2.2.3 申请退款 /secapi/pay/refund退款有两种方式,商户可以登录微信商户平台,直接使用管理后台的退款功能;另一种则是接口对接,在商户的业务系统里发起退款。 退款时需要注意的是:
1. 交易时间超过一年的订单无法提交退款;
2. 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。
3. 每个支付订单的部分退款次数不能超过50次。入参信息入参例子&xml&
&appid&wx0ec43b&/appid&
&mch_id&&/mch_id&
&nonce_str&6cefdb308e1e2e8aabd48cf79e546a02&/nonce_str&
&out_refund_no&&/out_refund_no&
&out_trade_no&&/out_trade_no&
&refund_fee&1&/refund_fee&
&total_fee&1&/total_fee&
&transaction_id&&/transaction_id&
&sign&FE56DD4AA85C0EECA82C&/sign&
返回参数这里需要注意返回参数里return_code为SUCCESS且result_code也为SUCCESS时,只是说明退款申请成功了,并不代表钱已经成功退给用户。因此,业务端需要通过退款查询接口定时check退款单的状态,如果有异常需要报警出来,以便人工处理。退款状态16收藏分享举报文章被以下专栏收录Java后端的疑难杂症,分析过程,解决方案{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\u002Fpay.zhihu.com\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&isPending&:false,&contributes&:[{&sourceColumn&:{&lastUpdated&:,&description&:&记录自己在工作及学习中,遇到的值得挖掘的问题,好的场景设计,基础知识原理等topic点。总结自己的点滴的同时,希望能给读者一些启发。&,&permission&:&COLUMN_PUBLIC&,&memberId&:3585351,&contributePermission&:&COLUMN_PUBLIC&,&translatedCommentPermission&:&all&,&canManage&:true,&intro&:&Java后端的疑难杂症,分析过程,解决方案&,&urlToken&:&dongmingbin&,&id&:23465,&imagePath&:&v2-53d36bff04a0e73ffdf9a1d.jpg&,&slug&:&dongmingbin&,&applyReason&:&0&,&name&:&程序员的修炼之道&,&title&:&程序员的修炼之道&,&url&:&https:\u002F\u002Fzhuanlan.zhihu.com\u002Fdongmingbin&,&commentPermission&:&COLUMN_ALL_CAN_COMMENT&,&canPost&:true,&created&:,&state&:&COLUMN_NORMAL&,&followers&:98,&avatar&:{&id&:&v2-53d36bff04a0e73ffdf9a1d&,&template&:&https:\u002F\u002Fpic2.zhimg.com\u002F{id}_{size}.jpg&},&activateAuthorRequested&:false,&following&:false,&imageUrl&:&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-53d36bff04a0e73ffdf9a1d_l.jpg&,&articlesCount&:10},&state&:&accepted&,&targetPost&:{&titleImage&:&&,&lastUpdated&:,&imagePath&:&&,&permission&:&ARTICLE_PUBLIC&,&topics&:[],&summary&:&最近在做支付平台的项目,承接公司业务系统与第三方支付平台的对接任务,主要涉及微信支付、支付宝支付以及理房通支付等第三方平台。微信支付作为后起之秀,市场占有率大有赶超支付宝之势,其复杂多样的社交属性使支付场景丰富而深入。以下主要以业务后台对…&,&copyPermission&:&ARTICLE_COPYABLE&,&translatedCommentPermission&:&all&,&likes&:0,&origAuthorId&:0,&publishedTime&:&T19:39:10+08:00&,&sourceUrl&:&&,&urlToken&:,&id&:3372113,&withContent&:false,&slug&:,&bigTitleImage&:false,&title&:&微信支付——后台对接&,&url&:&\u002Fp\u002F&,&commentPermission&:&ARTICLE_ALL_CAN_COMMENT&,&snapshotUrl&:&&,&created&:,&comments&:0,&columnId&:23465,&content&:&&,&parentId&:0,&state&:&ARTICLE_PUBLISHED&,&imageUrl&:&&,&author&:{&bio&:&爱历史爱运动又比较闷的程序员,做事喜欢认真!&,&isFollowing&:false,&hash&:&740fed77f645feb6992f5&,&uid&:04,&isOrg&:false,&slug&:&dong-ming-bin&,&isFollowed&:false,&description&:&保持一棵上进心!&,&name&:&董明斌&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fdong-ming-bin&,&avatar&:{&id&:&v2-87fefb2ae642&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},&memberId&:3585351,&excerptTitle&:&&,&voteType&:&ARTICLE_VOTE_CLEAR&},&id&:725504}],&title&:&微信支付——后台对接&,&author&:&dong-ming-bin&,&content&:&\u003Cblockquote\u003E最近在做支付平台的项目,承接公司业务系统与第三方支付平台的对接任务,主要涉及微信支付、支付宝支付以及理房通支付等第三方平台。微信支付作为后起之秀,市场占有率大有赶超支付宝之势,其复杂多样的社交属性使支付场景丰富而深入。以下主要以业务后台对接的视角,对微信开发文档做了些总结,过滤出我们需要关注的点。\u003Ci\u003E(前端及App端对接请查官方资料)\u003C\u002Fi\u003E\u003C\u002Fblockquote\u003E\u003Ch2\u003E\u003Cb\u003E一、名词解释\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cblockquote\u003E\u003Cb\u003E商户号\u003C\u002Fb\u003E:微信支付分配的商户号。支付审核通过后,申请人邮箱会收到腾讯下发的开户邮件, 邮件中包含商户平台的账号、密码等重要信息。\u003Cbr\u003E\u003Cbr\u003E\u003Cb\u003Eappid:\u003C\u002Fb\u003E商户通过微信管理后台,申请服务号、订阅号、小程序或APP应用成功之后,微信会为每个应用分配一个唯一标识id。\u003Cbr\u003E\u003Cbr\u003E\u003Cb\u003Eopenid:\u003C\u002Fb\u003E用户在公众号内的身份标识,一旦确认,不会再变;同一用户在不同公众号拥有不同的openid。商户后台系统通过登录授权、支付通知、查询订单等API可获取到用户的openid。主要用途是判断同一个用户,对用户发送客服消息、模版消息等。\u003Cbr\u003E\u003Cbr\u003E\u003Cb\u003E微信管理后台:\u003C\u002Fb\u003E微信有很多管理平台,容易混淆,我们主要关注下面三个平台:\u003Cbr\u003E
1. \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fmp.weixin.qq.com\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E微信公众平台\u003C\u002Fa\u003E 微信公众账号申请入口和管理后台。商户可以在公众平台提交基本资料、业务资料、财务资料申请开通微信支付功能。帐号分类:服务号、订阅号、小程序、企业微信(也叫企业号,类似于企业OA)。\u003Cbr\u003E
2. \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fpay.weixin.qq.com\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E微信商户平台\u003C\u002Fa\u003E 微信支付相关的商户功能集合,包括参数配置、支付数据查询与统计、在线退款、代金券或立减优惠运营等功能。\u003Cbr\u003E
3. \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fopen.weixin.qq.com\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E微信开放平台\u003C\u002Fa\u003E 商户APP接入微信支付开放接口的申请入口,通过此平台可申请微信APP支付。\u003Cbr\u003E\u003Cbr\u003E\u003Cb\u003E签名:\u003C\u002Fb\u003E商户后台和微信支付后台根据相同的密钥和算法生成一个结果,用于校验双方身份合法性。\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fpay.weixin.qq.com\u002Fwiki\u002Fdoc\u002Fapi\u002Fjsapi.php%3Fchapter%3D4_3\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E签名的算法\u003C\u002Fa\u003E 由微信支付制定并公开,常用的签名方式有:MD5、SHA1、SHA256、HMAC等。\u003Cbr\u003E\u003Cbr\u003E\u003Cb\u003E密钥:\u003C\u002Fb\u003E作为签名算法中的盐,需要在微信平台及商户业务系统各存一份,要妥善保管。\nkey设置路径:微信商户平台(\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fpay.weixin.qq.com\& class=\& external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E\u003Cspan class=\&invisible\&\u003Ehttp:\u002F\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&visible\&\u003Epay.weixin.qq.com\u003C\u002Fspan\u003E\u003Cspan class=\&invisible\&\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E)--&账户设置--&API安全--&密钥设置。\u003C\u002Fblockquote\u003E\u003Ch2\u003E\u003Cb\u003E二、支付流程与场景\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cblockquote\u003E一个完整的支付流程如下:用户在业务系统下完单,进入收银台页面;选择微信支付,业务后台将业务单信息传给微信后台,完成预下单;拿到预下单结果后,收银台唤起微信交互页面,用户输密码确认支付;微信后台完成支付逻辑,并通知业务后台,完成业务端逻辑。目前微信支持多种支付场景,重点关注扫码支付与公众号支付。\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E1. 刷卡支付 \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fkf.qq.com\u002Ffaq\u002FiYvYZZZb.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E申请流程\u003C\u002Fa\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E用户展示微信钱包内的“刷卡条码\u002F二维码”给商户系统扫描后直接完成支付的模式。主要应用线下面对面收银的场景。大家比较感兴趣的是,收银员扫了一下我们的微信条形码,卡上的钱是怎么被扣掉的呢?\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E免密支付流程\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-77a629b0c0a2d78862ab6_b.jpg\& data-rawwidth=\&854\& data-rawheight=\&717\& class=\&origin_image zh-lightbox-thumb\& width=\&854\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-77a629b0c0a2d78862ab6_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='854'%20height='717'&&\u002Fsvg&\& data-rawwidth=\&854\& data-rawheight=\&717\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&854\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-77a629b0c0a2d78862ab6_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-77a629b0c0a2d78862ab6_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2. 扫码支付\u003C\u002Fb\u003E \u003Cb\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fkf.qq.com\u002Ffaq\u002F170116AziqYV1701162eyAzA.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E申请流程\u003C\u002Fa\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。按二维码的含义分为两个模式。(\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fcoolshell.cn\u002Farticles\u002F10590.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E二维码知识\u003C\u002Fa\u003E)\u003C\u002Fblockquote\u003E\u003Cul\u003E\u003Cli\u003E模式一,商户提前生成固定的商品二维码,用户扫码后发起下单并支付的过程。友宝售货机扫码下单就是使用这种模式。开发前,商户必须在公众平台设置支付回调URL。此URL主要实现的功能为:1-业务端下单;2-调用微信统一下单。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-dd476d4f38f9b6d133cd54f8be4982f5_b.jpg\& data-rawwidth=\&858\& data-rawheight=\&931\& class=\&origin_image zh-lightbox-thumb\& width=\&858\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-dd476d4f38f9b6d133cd54f8be4982f5_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='858'%20height='931'&&\u002Fsvg&\& data-rawwidth=\&858\& data-rawheight=\&931\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&858\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-dd476d4f38f9b6d133cd54f8be4982f5_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-dd476d4f38f9b6d133cd54f8be4982f5_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E模式二,该模式下,业务订单生成后,调用微信统一下单接口,获得微信返回的支付单二维码(注意该二维码是由微信生成的,且是支付单信息的二维码,会过期失效,与模式一中不变的商品二维码是有区别的),并展示到页面,用户微信扫码后会唤起密码验证流程。该模式主要应用于PC端先下单,再支付的场景。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-97a315d7cdbe355b16fa85c2f97116f4_b.jpg\& data-rawwidth=\&853\& data-rawheight=\&841\& class=\&origin_image zh-lightbox-thumb\& width=\&853\& data-original=\&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-97a315d7cdbe355b16fa85c2f97116f4_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='853'%20height='841'&&\u002Fsvg&\& data-rawwidth=\&853\& data-rawheight=\&841\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&853\& data-original=\&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-97a315d7cdbe355b16fa85c2f97116f4_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-97a315d7cdbe355b16fa85c2f97116f4_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E3. APP支付\u003C\u002Fb\u003E \u003Cb\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fkf.qq.com\u002Ffaq\u002F170116MvIveiAbUb.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E申请流程\u003C\u002Fa\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E又称移动端支付,是商户通过在移动端应用APP中集成开放SDK调起微信支付模块完成支付的模式。\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E4. 公众号支付\u003C\u002Fb\u003E \u003Cb\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fkf.qq.com\u002Ffaq\u002F170116ZFBRRf170116AVV3Er.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E申请流程\u003C\u002Fa\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:\u003C\u002Fblockquote\u003E\u003Cul\u003E\u003Cli\u003E用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付\u003C\u002Fli\u003E\u003Cli\u003E用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付\u003C\u002Fli\u003E\u003Cli\u003E将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cb\u003E业务流程\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-fb632dc892f_b.jpg\& data-rawwidth=\&893\& data-rawheight=\&1007\& class=\&origin_image zh-lightbox-thumb\& width=\&893\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-fb632dc892f_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='893'%20height='1007'&&\u002Fsvg&\& data-rawwidth=\&893\& data-rawheight=\&1007\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&893\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-fb632dc892f_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-fb632dc892f_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E注意项\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E必须设置支付目录,确保实际支付时的请求目录与后台配置的目录一致,否则将无法成功唤起微信支付;\u003C\u002Fli\u003E\u003Cli\u003E必须设置授权域名,统一下单接口要求公众号支付时必传用户的openid,而微信规定只有被设置过的授权域名才能获取到openid,其它的域名都将获取失败。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E\u003Cb\u003E5. H5支付\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003EH5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。\u003Cbr\u003E\u003Cb\u003E申请流程:使用注册微信支付时登记的邮箱,将公司名称+商户号+联系方式 以及对应H5支付应用场景说明发送到 \u003C\u002Fb\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E6. 小程序支付\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E用户在微信小程序中使用微信支付的场景,接口对接时与公众号支付很相似。\u003C\u002Fblockquote\u003E\u003Ch2\u003E\u003Cb\u003E三、接口对接\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cp\u003E\u003Cb\u003E1. 对接方式\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fpay.weixin.qq.com\u002Fwiki\u002Fdoc\u002Fapi\u002Findex.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E微信支付开发文档\u003C\u002Fa\u003E上将接口分为普通商户版和服务商版。所谓普通商户,是指有实际业务需求,要对接微信支付的广大商户;而服务商,是指那些有开发能力的第三方服务提供商,它们封装微信支付高级接口,为普通商户提供支付申请、技术开发、机具调试、活动营销等全生态链服务支持,以简化对接流程。因此,普通商户对接微信支付平台有两个选择:\u003Cb\u003E直接对接微信平台 或 对接服务商平台\u003C\u002Fb\u003E。\u003C\u002Fblockquote\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_b.jpg\& data-rawwidth=\&1748\& data-rawheight=\&586\& class=\&origin_image zh-lightbox-thumb\& width=\&1748\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1748'%20height='586'&&\u002Fsvg&\& data-rawwidth=\&1748\& data-rawheight=\&586\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1748\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E2. 接口文档\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E服务商对外提供的api,入参及出参和微信普通商户版api大体相同,只是返回参数里多了一些包装数据。所以我们关注普通商户版api即可,以下的规则及api均来自于微信官方普通商户版接口文档。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.1 接口规范\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-85303af14eadf9e20be9cc744f23cd47_b.jpg\& data-rawwidth=\&1128\& data-rawheight=\&508\& class=\&origin_image zh-lightbox-thumb\& width=\&1128\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-85303af14eadf9e20be9cc744f23cd47_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1128'%20height='508'&&\u002Fsvg&\& data-rawwidth=\&1128\& data-rawheight=\&508\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1128\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-85303af14eadf9e20be9cc744f23cd47_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-85303af14eadf9e20be9cc744f23cd47_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.2 API列表\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E下面列出了几个比较关键的API及其参数要求,入参及返参只列出了必传或需要注意的字段,完整参数请以官方文档为准。\u003C\u002Fb\u003E为安全起见,无论是商户后台请求微信平台,还是微信平台请求商户后台,也无论是API的入参,还是返参,都要遵守发起端加签名,接收端校验签名的规则。比如商户端请求微信平台时,会对入参信息加签名,微信平台接到请求,会先校验签名,校验通过并处理完,微信平台再将返回参数按同一算法加签名,商户端接收响应时也需要先校验签名,校验通过再做业务处理。 \u003Cb\u003E因此所有API中,无论是入参还是返回参数都包含如下通用字段。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-88b1dfae1a104_b.jpg\& data-rawwidth=\&1354\& data-rawheight=\&374\& class=\&origin_image zh-lightbox-thumb\& width=\&1354\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-88b1dfae1a104_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1354'%20height='374'&&\u002Fsvg&\& data-rawwidth=\&1354\& data-rawheight=\&374\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1354\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-88b1dfae1a104_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-88b1dfae1a104_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.2.1 统一下单 \u002Fpay\u002Funifiedorder\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E除了刷卡支付(刷卡支付有单独的支付接口,不调用统一下单接口),其它的支付方式都需要调用统一下单接口。商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E入参信息\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-e1ab2c112ef8e3531b67abee49f3d2e2_b.jpg\& data-rawwidth=\&1722\& data-rawheight=\&840\& class=\&origin_image zh-lightbox-thumb\& width=\&1722\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-e1ab2c112ef8e3531b67abee49f3d2e2_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1722'%20height='840'&&\u002Fsvg&\& data-rawwidth=\&1722\& data-rawheight=\&840\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1722\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-e1ab2c112ef8e3531b67abee49f3d2e2_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-e1ab2c112ef8e3531b67abee49f3d2e2_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E入参例子\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E&xml&\n
&appid&wx0ec43b&\u002Fappid&\n
&body&JSAPI支付测试&\u002Fbody&\n
&mch_id&&\u002Fmch_id&\n
&nonce_str&1add1a30ac87aa2db72f57a2375d8fec&\u002Fnonce_str&\n
&notify_url&http:\u002F\u002Fwxpay.wxutil.com\u002Fpub_v2\u002Fpay\u002Fnotify.v2.php&\u002Fnotify_url&\n
&openid&oUpF8uMuAJO_M2pxb1Q9zNjWeS6o&\u002Fopenid&\n
&out_trade_no&&\u002Fout_trade_no&\n
&spbill_create_ip&14.23.150.211&\u002Fspbill_create_ip&\n
&total_fee&1&\u002Ftotal_fee&\n
&trade_type&JSAPI&\u002Ftrade_type&\n
&sign&0CBEFBCA001&\u002Fsign&\n&\u002Fxml&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fopen.weixin.qq.com\u002Fcgi-bin\u002Fshowdocument%3Faction%3Ddir_list%26t%3Dresource\u002Fres_list%26verify%3D1%26id%3Dopen%26token%3D%26lang%3Dzh_CN\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E获取openid\u003C\u002Fa\u003E\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E公众号支付模式下,统一下单接口必须要传用户的openid,业务后台获取openid的步骤如下:\u003C\u002Fblockquote\u003E\u003Col\u003E\u003Cli\u003E第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;\u003C\u002Fli\u003E\u003Cli\u003E通过code参数加上AppID和AppSecret等,通过API换取access_token;\u003C\u002Fli\u003E\u003Cli\u003E通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。\u003C\u002Fli\u003E\u003C\u002Fol\u003E\u003Cp\u003E为避免重造轮子,我们使用了公司基础平台组提供的\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwiki.lianjia.com\u002Fpages\u002Fviewpage.action%3FpageId%3D\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E微信接入平台——第三方OAuth转接接口\u003C\u002Fa\u003E, 采用静默授权方式获取用户openid。需要提前在基础平台配置应用的AppID及AppSecret,并需要他们分配全局唯一的app_name。 关于\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fblog.csdn.net\u002Fseccloud\u002Farticle\u002Fdetails\u002F8192707\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003EOAuth 2.0 授权协议\u003C\u002Fa\u003E,大家可自行了解。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E返回参数\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-127b76625abd075f10ae849e05ec00d4_b.jpg\& data-rawwidth=\&1736\& data-rawheight=\&742\& class=\&origin_image zh-lightbox-thumb\& width=\&1736\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-127b76625abd075f10ae849e05ec00d4_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1736'%20height='742'&&\u002Fsvg&\& data-rawwidth=\&1736\& data-rawheight=\&742\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1736\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-127b76625abd075f10ae849e05ec00d4_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-127b76625abd075f10ae849e05ec00d4_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cblockquote\u003E返回结果有两个状态码return_code及result_code,需要理解其各自的含义。return_code表示通信是否成功,当其为SUCCESS时,才会有后续的返回字段,当其为FAIL时,return_msg会填充错误信息;而result_code表示业务操作是否成功,当其为SUCCESS时,才会返回后续的业务字段(如prepay_id等),当其为FAIL时,会填充err_code及err_code_des等字段。\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E返参试例\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E&xml&\n
&return_code&&![CDATA[SUCCESS]]&&\u002Freturn_code&\n
&return_msg&&![CDATA[OK]]&&\u002Freturn_msg&\n
&appid&&![CDATA[wx0ec43b]]&&\u002Fappid&\n
&mch_id&&![CDATA[]]&&\u002Fmch_id&\n
&nonce_str&&![CDATA[IITRi8Iabbblz1Jc]]&&\u002Fnonce_str&\n
&openid&&![CDATA[oUpF8uMuAJO_M2pxb1Q9zNjWeS6o]]&&\u002Fopenid&\n
&sign&&![CDATA[EB8ED0CED72F]]&&\u002Fsign&\n
&result_code&&![CDATA[SUCCESS]]&&\u002Fresult_code&\n
&prepay_id&&![CDATA[wx507cbf6ffd8b]]&&\u002Fprepay_id&\n
&trade_type&&![CDATA[JSAPI]]&&\u002Ftrade_type&\n&\u002Fxml&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E2.2.2 支付结果通知\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E支付成功后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功(因此商户端需要定时去check两边待支付单子的状态)。 (通知频率为15\u002F15\u002F30\u002F180\u002F00\u002F00\u002F3600,单位:秒)。\u003Cbr\u003E\u003Cb\u003E回调通知接口对安全性要求极高,有如下注意点:\u003Cbr\u003E\u003C\u002Fb\u003E \n1. 接口幂等,同样的通知可能会多次发送给商户系统。商户系统必须保证回调接口是幂等的,能够正确处理重复的通知。 \n\u003Cbr\u003E2. 并发控制,在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。\n\u003Cbr\u003E3. 签名验证,商户系统对于支付结果通知的内容一定要做签名验证。\n\u003Cbr\u003E4. 金额校验,校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成资金损失。\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E接口链接\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E该链接由商户端提供,通过【统一下单API】中提交的参数notify_url设置,通知url必须为直接可访问的url,不能携带参数。示例:notify_url:“\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fpay.weixin.qq.com\u002Fwxpay\u002Fpay.action\& class=\& external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E\u003Cspan class=\&invisible\&\u003Ehttps:\u002F\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&visible\&\u003Epay.weixin.qq.com\u002Fwxpay\u003C\u002Fspan\u003E\u003Cspan class=\&invisible\&\u003E\u002Fpay.action\u003C\u002Fspan\u003E\u003Cspan class=\&ellipsis\&\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E”\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E入参信息\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E入参信息是由微信平台整理发送的,商户后端需要接收并解析各字段,做必要的校验。\u003C\u002Fblockquote\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-78afd29c1d3531bef566af1_b.jpg\& data-rawwidth=\&1750\& data-rawheight=\&1274\& class=\&origin_image zh-lightbox-thumb\& width=\&1750\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-78afd29c1d3531bef566af1_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1750'%20height='1274'&&\u002Fsvg&\& data-rawwidth=\&1750\& data-rawheight=\&1274\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1750\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-78afd29c1d3531bef566af1_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-78afd29c1d3531bef566af1_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E入参例子\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E&xml&\n
&appid&&![CDATA[wx0ec43b]]&&\u002Fappid&\n
&bank_type&&![CDATA[CFT]]&&\u002Fbank_type&\n
&mch_id&&![CDATA[]]&&\u002Fmch_id&\n
&nonce_str&&![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]&&\u002Fnonce_str&\n
&openid&&![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]&&\u002Fopenid&\n
&out_trade_no&&![CDATA[]]&&\u002Fout_trade_no&\n
&result_code&&![CDATA[SUCCESS]]&&\u002Fresult_code&\n
&return_code&&![CDATA[SUCCESS]]&&\u002Freturn_code&\n
&sign&&![CDATA[B552ED6B3C5DD0D78AB241]]&&\u002Fsign&\n
&time_end&&![CDATA[40]]&&\u002Ftime_end&\n
&total_fee&1&\u002Ftotal_fee&\n
&trade_type&&![CDATA[JSAPI]]&&\u002Ftrade_type&\n
&transaction_id&&![CDATA[2168]]&&\u002Ftransaction_id&\n&\u002Fxml&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E返回参数\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E商户后台的返回参数必须是微信支付指定的格式,否则都被微信认为通知失败,会不断重试。\u003C\u002Fblockquote\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-620a3a7f7a4bde9a773b4ae88a81074d_b.jpg\& data-rawwidth=\&1730\& data-rawheight=\&274\& class=\&origin_image zh-lightbox-thumb\& width=\&1730\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-620a3a7f7a4bde9a773b4ae88a81074d_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1730'%20height='274'&&\u002Fsvg&\& data-rawwidth=\&1730\& data-rawheight=\&274\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1730\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-620a3a7f7a4bde9a773b4ae88a81074d_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-620a3a7f7a4bde9a773b4ae88a81074d_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E返参例子\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E&xml&\n
&return_code&&![CDATA[SUCCESS]]&&\u002Freturn_code&\n
&return_msg&&![CDATA[OK]]&&\u002Freturn_msg&\n&\u002Fxml&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E2.2.3 申请退款 \u002Fsecapi\u002Fpay\u002Frefund\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cblockquote\u003E退款有两种方式,商户可以登录微信商户平台,直接使用管理后台的退款功能;另一种则是接口对接,在商户的业务系统里发起退款。 退款时需要注意的是:\n\u003Cbr\u003E1. 交易时间超过一年的订单无法提交退款;\n\u003Cbr\u003E2. 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。\n\u003Cbr\u003E3. 每个支付订单的部分退款次数不能超过50次。\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E入参信息\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-d36cd5db18a2_b.jpg\& data-rawwidth=\&1280\& data-rawheight=\&434\& class=\&origin_image zh-lightbox-thumb\& width=\&1280\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-d36cd5db18a2_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1280'%20height='434'&&\u002Fsvg&\& data-rawwidth=\&1280\& data-rawheight=\&434\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1280\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-d36cd5db18a2_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-d36cd5db18a2_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E入参例子\u003C\u002Fb\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E&xml&\n
&appid&wx0ec43b&\u002Fappid&\n
&mch_id&&\u002Fmch_id&\n
&nonce_str&6cefdb308e1e2e8aabd48cf79e546a02&\u002Fnonce_str& \n
&out_refund_no&&\u002Fout_refund_no&\n
&out_trade_no&&\u002Fout_trade_no&\n
&refund_fee&1&\u002Frefund_fee&\n
&total_fee&1&\u002Ftotal_fee&\n
&transaction_id&&\u002Ftransaction_id&\n
&sign&FE56DD4AA85C0EECA82C&\u002Fsign&\n&\u002Fxml&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E\u003Cb\u003E返回参数\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-3c2dabbf77d2bc0b340d_b.jpg\& data-rawwidth=\&1756\& data-rawheight=\&1144\& class=\&origin_image zh-lightbox-thumb\& width=\&1756\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-3c2dabbf77d2bc0b340d_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1756'%20height='1144'&&\u002Fsvg&\& data-rawwidth=\&1756\& data-rawheight=\&1144\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1756\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-3c2dabbf77d2bc0b340d_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-3c2dabbf77d2bc0b340d_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cblockquote\u003E\u003Cb\u003E这里需要注意返回参数里return_code为SUCCESS且result_code也为SUCCESS时,只是说明退款申请成功了,并不代表钱已经成功退给用户。因此,业务端需要通过退款查询接口定时check退款单的状态,如果有异常需要报警出来,以便人工处理。\u003C\u002Fb\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E\u003Cb\u003E退款状态\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-07c77f7a898ef5a839de5_b.jpg\& data-rawwidth=\&1752\& data-rawheight=\&412\& class=\&origin_image zh-lightbox-thumb\& width=\&1752\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-07c77f7a898ef5a839de5_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1752'%20height='412'&&\u002Fsvg&\& data-rawwidth=\&1752\& data-rawheight=\&412\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1752\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-07c77f7a898ef5a839de5_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-07c77f7a898ef5a839de5_b.jpg\&\u003E\u003C\u002Ffigure\u003E&,&updated&:new Date(&T11:39:10.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:12,&collapsedCount&:0,&likeCount&:16,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&reviewers&:[],&topics&:[{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&第三方支付&},{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&微信支付&}],&adminClosedComment&:false,&titleImageSize&:{&width&:0,&height&:0},&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&column&:{&slug&:&dongmingbin&,&name&:&程序员的修炼之道&},&tipjarState&:&inactivated&,&annotationAction&:[],&sourceUrl&:&&,&pageCommentsCount&:12,&hasPublishingDraft&:false,&snapshotUrl&:&&,&publishedTime&:&T19:39:10+08:00&,&url&:&\u002Fp\u002F&,&lastestLikers&:[{&bio&:&法 人&,&isFollowing&:false,&hash&:&0b102d02c4e1e8c3e7fc5&,&uid&:188300,&isOrg&:false,&slug&:&jin-ding-wan-yu-le&,&isFollowed&:false,&description&:&&,&name&:&金鼎卍娱乐&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fjin-ding-wan-yu-le&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&&,&isFollowing&:false,&hash&:&b0df016d5a3fb4b649f957642dafb3c2&,&uid&:76,&isOrg&:false,&slug&:&xu-duo-8-69&,&isFollowed&:false,&description&:&道生一,一生二,二生三,三生万物&,&name&:&西西萤&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fxu-duo-8-69&,&avatar&:{&id&:&50d48c9cbb5af3c8c6f0063&,&template&:&https:\u002F\u002Fpic1.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:null,&isFollowing&:false,&hash&:&f0b1bae948ae54e018ca80ae48d130b5&,&uid&:746600,&isOrg&:false,&slug&:&cui-yang-yang-64-28&,&isFollowed&:false,&description&:&&,&name&:&洋洋&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fcui-yang-yang-64-28&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&最后一棵向阳花,一路向南,我的太阳,你在哪里?&,&isFollowing&:false,&hash&:&d8d08bcabcfb8f071f6d8d&,&uid&:12,&isOrg&:false,&slug&:&tang-san-shy&,&isFollowed&:false,&description&:&&,&name&:&伊森&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Ftang-san-shy&,&avatar&:{&id&:&b&,&template&:&https:\u002F\u002Fpic1.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&跨境业务&,&isFollowing&:false,&hash&:&2ea78f3eacd677b397b1e3d63e9499a9&,&uid&:52,&isOrg&:false,&slug&:&feng-lei-37&,&isFollowed&:false,&description&:&&,&name&:&风雷&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Ffeng-lei-37&,&avatar&:{&id&:&979e13f91&,&template&:&https:\u002F\u002Fpic3.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false}],&summary&:&\u003Cimg src=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_200x112.jpg\& data-rawwidth=\&1748\& data-rawheight=\&586\& class=\&origin_image inline-img zh-lightbox-thumb\& data-original=\&https:\u002F\u002Fpic4.zhimg.com\u002Fv2-0dcc16e9c4abcf_r.jpg\&\u003E最近在做支付平台的项目,承接公司业务系统与第三方支付平台的对接任务,主要涉及微信支付、支付宝支付以及理房通支付等第三方平台。微信支付作为后起之秀,市场占有率大有赶超支付宝之势,其复杂多样的社交属性使支付场景丰富而深入。以下主要以业务后台对…&,&reviewingCommentsCount&:0,&meta&:{&previous&:{&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&topics&:[{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&Markdown语法&}],&adminClosedComment&:false,&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&author&:{&bio&:&爱历史爱运动又比较闷的程序员,做事喜欢认真!&,&isFollowing&:false,&hash&:&740fed77f645feb6992f5&,&uid&:04,&isOrg&:false,&slug&:&dong-ming-bin&,&isFollowed&:false,&description&:&保持一棵上进心!&,&name&:&董明斌&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fdong-ming-bin&,&avatar&:{&id&:&v2-87fefb2ae642&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},&column&:{&slug&:&dongmingbin&,&name&:&程序员的修炼之道&},&content&:&\u003Cblockquote\u003E\u003Cp\u003E2015年才开始接触MD,当时看着一小兄弟使用Mou行云流水般的写着接口文档,我愣了半天。后来,我也尝试使用之,渐渐地,离不开了,会议纪要、笔记、文档都必用MD。MD实在是太简洁,几乎无学习成本,能大幅提升写作效率。但目前仍有一些网站未作好适配,实在可惜,比如知乎专栏、wiki、微信公众号等tffu。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Ch2\u003EMD 简介\u003C\u002Fh2\u003E\u003Cul\u003E\u003Cli\u003EMarkdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002FMarkdown\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E维基百科\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E由\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F%25E7%25B4%%25BF%25B0%25C2%25B7%25E6%25A0%25BC%25E9%25AD%25AF%25E4%25BC%25AF\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E约翰·格鲁伯\u003C\u002Fa\u003E 及\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fzh.wikipedia.org\u002Fwiki\u002F%25E4%25BA%259A%25E4%25BC%25A6%25C2%25B7%25E6%2596%25AF%25E6%25B2%%258C%25A8\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E亚伦·斯沃茨\u003C\u002Fa\u003E 于2004年发明,制定了标准语法\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003EMarkdown 的特点\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E易读、直观、极简\u003C\u002Fli\u003E\u003Cli\u003E专注内容而非排版样式\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E轻松的导出 HTML、PDF 和本身的 .md 文件\u003C\u002Fp\u003E\u003Cp\u003E由于这些优点,md已被作家、博客爱好者、程序员等各类人群广泛使用及推广。\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E工具及应用\u003Cul\u003E\u003Cli\u003EMou for mac、sublime text、 MarkdownPad for win\u003C\u002Fli\u003E\u003Cli\u003Egithub 、 \u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwww.jianshu.com\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E简书\u003C\u002Fa\u003E\u003C\u002Fli\u003E\u003Cli\u003E拓展\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Ch2\u003EMD 语法的简要规则\u003C\u002Fh2\u003E\u003Col\u003E\u003Cli\u003E\u003Ch3\u003E标题(#)\u003C\u002Fh3\u003E\u003Cul\u003E\u003Cli\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
# 一级标题\n
## 二级标题\n
### 三级标题\n
#### 四级标题\n
##### 五级标题\n
###### 六级标题\n
###### 七级标题\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003Cli\u003E效果\u003Cul\u003E\u003Cli\u003E\u003Ch1\u003E一级标题\u003C\u002Fh1\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch2\u003E二级标题\u003C\u002Fh2\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E\u003Cb\u003E三级标题\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E四级标题\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E五级标题\u003C\u002Fli\u003E\u003Cli\u003E六级标题\u003C\u002Fli\u003E\u003Cli\u003E七级标题\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E列表\u003C\u002Fh3\u003E\u003Cul\u003E\u003Cli\u003E\u003Ch4\u003E无序列表(*、-或+ )\u003C\u002Fh4\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
* 第一行\n
* 第二行\n
* 第三行\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E第一行\u003C\u002Fli\u003E\u003Cli\u003E第二行\u003C\u002Fli\u003E\u003Cli\u003E第三行\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch4\u003E有序列表 (行如1. 2. 3. )\u003C\u002Fh4\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
1. 第一行\n
2. 第二行\n
3. 第三行\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Col\u003E\u003Cli\u003E第一行\u003C\u002Fli\u003E\u003Cli\u003E第二行\u003C\u002Fli\u003E\u003Cli\u003E第三行\u003C\u002Fli\u003E\u003C\u002Fol\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E区块引用(& )\u003C\u002Fh3\u003E\u003Cul\u003E\u003Cli\u003E引用\u003Cblockquote\u003E\u003Cp\u003E引用只需要在被引用的内容段落开头加上右尖括号('&')即可。你可以选择只在开头加一个。也可以在每行前面都加一个,效果是一样的。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E嵌套引用\u003C\u002Fp\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
markdown真好用,好自为知\n
&& 二级引用\n
&&& 三级引用
&& 知难而退(前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的'&'可以有可以没有)\n
& 退一步,海阔天空\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003Emarkdown真好用,好自为知\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E二级引用\u003C\u002Fp\u003E\u003Cblockquote\u003E\u003Cp\u003E三级引用\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E知难而退 (前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的'&'可以有可以没有)\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E退一步,海阔天空\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E分割线\u003C\u002Fh3\u003E\u003Cblockquote\u003E\u003Cp\u003E分割线可以由* - _(星号,减号,底线)这3个符号的至少3个符号表示,注意至少要3个,不需要连续\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E华丽的分割线\u003Cem\u003E*\u003C\u002Fem\u003E\u003C\u002Fp\u003E\u003Cp\u003E华丽的分割线---\u003C\u002Fp\u003E\u003Cp\u003E华丽的分割线\u003Cem\u003E_\u003C\u002Fem\u003E\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E链接及图片\u003C\u002Fh3\u003E\u003Cblockquote\u003E\u003Cp\u003E支持两种链接方式:行内式和参数式,不管是哪一种,链接文字都是用 [方括号] 来标记。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cul\u003E\u003Cli\u003E\u003Cp\u003E行内式\u003C\u002Fp\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E* [百度](www.baidu.com)是个什么网站\n* 图片 ![photo](http:\u002F\u002Fwww.ccarting.com\u002Fimg\u002Fopus\u002Fphotograph\u002Fh000\u002Fh41\u002Fimg520.jpg \&Optional title\&)\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwww.baidu.com\u002F\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E百度\u003C\u002Fa\u003E是个什么网站\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E图片\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic2.zhimg.com\u002Fv2-3eddaa226af06d_b.png\& data-rawwidth=\&1510\& data-rawheight=\&1000\& class=\&origin_image zh-lightbox-thumb\& width=\&1510\& data-original=\&http:\u002F\u002Fpic2.zhimg.com\u002Fv2-3eddaa226af06d_r.png\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003Cbr\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E参数式\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
* [百度] [1] 是个什么网站\n
* 图片 ![photo] [2]
* [1]: http:\u002F\u002Fwww.baidu.com
http:\u002F\u002Fwww.ccarting.com\u002Fimg\u002Fopus\u002Fphotograph\u002Fh000\u002Fh41\u002Fimg520.jpg
\&Optional title\&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果同行内式\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E代码框\u003C\u002Fh3\u003E\u003Cul\u003E\u003Cli\u003E\u003Cp\u003E如果代码量比较少,只有单行的话,可以用单反引号包起来``\u003C\u002Fp\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
` public static void main(String args[]){}`\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Cp\u003Epublic static void main(String args[]){}\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Cp\u003E多行可以用两个 ``` 包夹\u003C\u002Fp\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
import java.lang.S\n
public class Fuck(){\n
public static void main(String args[]){\n
System.out.println(\&xxxxxxx\&)\n
```\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E
import java.lang.S\n\n
public class Fuck(){\n
public static void main(String args[]){\n
System.out.println(\&xxxxxxx\&)\n
}\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E强调突出\u003C\u002Fh3\u003E\u003Cblockquote\u003E\u003Cp\u003EMarkdown 使用星号(\u003Cem\u003E)和底线(_)作为标记强调字词的符号,被 \u003C\u002Fem\u003E或 \u003Cem\u003E包围的字词会被转成用 \\\u003Cem\u003E 标签包围,用两个 * 或 \u003C\u002Fem\u003E包起来的话,则会被转成 \\。\u003Cbr\u003E另外md兼容HTML语言,因此颜色、字体、大小都可用\\&font\u002F& 标签来控制\u003C\u002Fem\u003E\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E &font color=red size=3 face=\&黑体\&&\n - 斜体 —— *是不是斜了*
_是不是斜了_\n - 加粗 —— **是不是粗了**
__是不是粗了__\n - 删除线 —— ~~求删除~~\n &\u002Ffont&\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic4.zhimg.com\u002Fv2-710ead010ed7ff57119b67_b.png\& data-rawwidth=\&576\& data-rawheight=\&180\& class=\&origin_image zh-lightbox-thumb\& width=\&576\& data-original=\&http:\u002F\u002Fpic4.zhimg.com\u002Fv2-710ead010ed7ff57119b67_r.png\&\u003E\u003C\u002Ffigure\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E换行\u003C\u002Fh3\u003E\u003Cblockquote\u003E\u003Cp\u003E在文本中输入的换行会从最终生成的结果中删除,浏览器会根据可用空间自动换行。如果想强迫换行,可以在行尾插入至少两个空格。\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003C\u002Fli\u003E\u003Cli\u003E\u003Ch3\u003E表格\u003C\u002Fh3\u003E\u003Cblockquote\u003E\u003Cp\u003E有多种表达方式,下面是我最常用的一种,很简练\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E代码\u003C\u002Fp\u003E\u003Cdiv class=\&highlight\&\u003E\u003Cpre\u003E\u003Ccode class=\&language-text\&\u003E\u003Cspan\u003E\u003C\u002Fspan\u003E 姓名|年龄|性别\n -|-|-\n 张三|4|男\n 李四|5|女\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003C\u002Fdiv\u003E\u003Cp\u003E效果\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic1.zhimg.com\u002Fv2-ee9d458a7c123b5b43aa9ae9bc56d310_b.png\& data-rawwidth=\&378\& data-rawheight=\&242\& class=\&content_image\& width=\&378\&\u003E\u003C\u002Ffigure\u003E\u003C\u002Fp\u003E\u003C\u002Fli\u003E\u003C\u002Fol\u003E&,&state&:&published&,&sourceUrl&:&&,&pageCommentsCount&:0,&canComment&:false,&snapshotUrl&:&&,&slug&:,&publishedTime&:&T19:52:11+08:00&,&url&:&\u002Fp\u002F&,&title&:&markdown——文档神器&,&summary&:&2015年才开始接触MD,当时看着一小兄弟使用Mou行云流水般的写着接口文档,我愣了半天。后来,我也尝试使用之,渐渐地,离不开了,会议纪要、笔记、文档都必用MD。MD实在是太简洁,几乎无学习成本,能大幅提升写作效率。但目前仍有一些网站未作好适配,实在…&,&reviewingCommentsCount&:0,&meta&:{&previous&:null,&next&:null},&commentPermission&:&anyone&,&commentsCount&:0,&likesCount&:2},&next&:{&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&topics&:[{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&HTTP&},{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&HTTP\u002F2&}],&adminClosedComment&:false,&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&author&:{&bio&:&爱历史爱运动又比较闷的程序员,做事喜欢认真!&,&isFollowing&:false,&hash&:&740fed77f645feb6992f5&,&uid&:04,&isOrg&:false,&slug&:&dong-ming-bin&,&isFollowed&:false,&description&:&保持一棵上进心!&,&name&:&董明斌&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fdong-ming-bin&,&avatar&:{&id&:&v2-87fefb2ae642&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},&column&:{&slug&:&dongmingbin&,&name&:&程序员的修炼之道&},&content&:&\u003Cp\u003ECreated by dongmingbin on 17\u002F8\u002F25\u003C\u002Fp\u003E\u003Cp\u003E一、 HTTP\u003C\u002Fp\u003E\u003Cp\u003E1.1. 请求响应流程与相关协议\u003C\u002Fp\u003E\u003Cp\u003E1.2. 协议版本\u003C\u002Fp\u003E\u003Cp\u003E1.3. 协议内容\u003C\u002Fp\u003E\u003Cp\u003E1.3.1 报文\u003C\u002Fp\u003E\u003Cp\u003E1.3.2 HTTP首部\u003C\u002Fp\u003E\u003Cp\u003E1.3.3 HTTP缓存原理\u003C\u002Fp\u003E\u003Cp\u003E1.3.4 Cookie工作机制\u003C\u002Fp\u003E\u003Cp\u003E二、 参考\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Ch2\u003E\u003Cb\u003EHTTP协议\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cblockquote\u003EHTTP是基于 TCP\u002FIP 协议的应用层协议,它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。接触web的人,都会有耳闻;而作为一名程序员,如果不甚了解HTTP,会很尴尬。之前我对HTTP协议的理解就很碎片化,有同学问我这方面的知识时,答得很吃力,于是很尴尬地捡起了书本,系统地去补充基础知识,罗列出我理解的重点。\u003C\u002Fblockquote\u003E\u003Ch2\u003E\u003Cb\u003E一、 HTTP\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Ch2\u003E\u003Cb\u003E1.1. 请求响应流程与相关协议\u003C\u002Fb\u003E\u003C\u002Fh2\u003E\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic2.zhimg.com\u002Fv2-b2bfbc36e82c0fd74791_b.jpg\& data-rawwidth=\&417\& data-rawheight=\&133\& class=\&content_image\& width=\&417\&\u003E\u003C\u002Ffigure\u003E\u003Cblockquote\u003EHTTP是基于请求响应模型,客户端向服务器发送一个请求,请求报文经过HTTP、DNS、TCP\u002FIP等协议共同协作最终到达WEB服务器端,WEB服务器处理后,回复响应报文。我们在chrome上输入\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwww.baidu.com\& class=\& external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E\u003Cspan class=\&invisible\&\u003Ehttp:\u002F\u002Fwww.\u003C\u002Fspan\u003E\u003Cspan class=\&visible\&\u003Ebaidu.com\u003C\u002Fspan\u003E\u003Cspan class=\&invisible\&\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E,chrome上会展示百度的搜索框,其交互步骤如下:\u003C\u002Fblockquote\u003E\u003Col\u003E\u003Cli\u003Echrome分析链接URL,并向DNS服务器获取\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwww.baidu.com\& class=\& external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E\u003Cspan class=\&invisible\&\u003Ehttp:\u002F\u002Fwww.\u003C\u002Fspan\u003E\u003Cspan class=\&visible\&\u003Ebaidu.com\u003C\u002Fspan\u003E\u003Cspan class=\&invisible\&\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E域名对应的ip地址;\u003C\u002Fli\u003E\u003Cli\u003E有了ip后,chrome与百度服务器建立TCP连接;\u003C\u002Fli\u003E\u003Cli\u003Echrome发出取文件命令:GET \u002F HTTP\u002F1.1;\u003C\u002Fli\u003E\u003Cli\u003E服务器返回响应报文: HTTP\u002F1.1 200 OK ,响应体中有一串html文本;\u003C\u002Fli\u003E\u003Cli\u003E释放TCP连接;\u003C\u002Fli\u003E\u003Cli\u003Echrome在页面渲染响应体中的html,展示搜索框;\u003C\u002Fli\u003E\u003C\u002Fol\u003E\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic1.zhimg.com\u002Fv2-b3dcc3c83befa29e_b.jpg\& data-rawwidth=\&700\& data-rawheight=\&1022\& class=\&origin_image zh-lightbox-thumb\& width=\&700\& data-original=\&http:\u002F\u002Fpic1.zhimg.com\u002Fv2-b3dcc3c83befa29e_r.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003EHTTP是建立在TCP\u002FIP协议簇之上的,并根据DNS解析域名地址,它们之间的协作见上图。\u003C\u002Fp\u003E\u003Cul\u003E\u003Cli\u003E\u003Cb\u003EDNS\u003C\u002Fb\u003E (Domain Name System): 提供域名到IP地址之间的解析服务。DNS也是应用层协议,提供通过域名查询IP地址或逆向从IP地址反查域名的服务。\u003C\u002Fli\u003E\u003Cli\u003E\u003Cb\u003ETCP\u003C\u002Fb\u003E (Transmissin Control Protocol):位于传输层,提供可靠的字节流服务。将大块数据分割成以报文段为基本单位的数据包进行管理,并通过差错、流量及拥塞等控制机制保证数据准确可靠地传给对方。端口号封装在TCP报文头内。\u003C\u002Fli\u003E\u003Cli\u003E\u003Cb\u003EIP\u003C\u002Fb\u003E (Internet Protocol):网际协议位于网络层。通过网络逻辑地址获取目标的MAC地址,确定目标机器的具体位置,最终确定一条可达路径,解决了子网间的通讯问题。目标与源的IP地址封装在IP首部内,而MAC地址则封装在链路层的以太网首部内。\u003C\u002Fli\u003E\u003C\u002Ful\u003E\u003Cfigure\u003E\u003Cimg src=\&http:\u002F\u002Fpic2.zhimg.com\u002Fv2-c3b46e9ecbb745cf4c879_b.jpg\& data-rawwidth=\&700\& data-rawheight=\&637\& class=\&origin_image zh-lightbox-thumb\& width=\&700\& data-original=\&http:\u002F\u002Fpic2.zhimg.com\u002Fv2-c3b46e9ecbb745cf4c879_r.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E发送端在传输数据时,每经过一层都会打上该层所属的首部信息;反之,接收端在每经过一层时会把对应的首部消去,这种做法称为封装。关于网络协议分层及通信过程,阮一峰在\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=http%3A\u002F\u002Fwww.ruanyifeng.com\u002Fblog\u002F\u002Finternet_protocol_suite_part_i.html\& class=\& wrap external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E互联网协议入门(一)\u003C\u002Fa\u003E及}

我要回帖

更多关于 微信支付服务商子商户 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信