流程

  1. 申请APP的微信支付
  2. 申请成功之后得到APPID 商户号 以及自己设置商户号的支付密码
  3. 这时就可以开发接口了

微信APP支付API:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

微信APP开发SDK:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

接口开发

  1、就说三个接口吧主要这三个接口是必须用的(如图),使用的方法SDK里面应该有(因为之前先开发的jsapi支付,所以我直接使用的是jsapi的dome方法)

      

2、调用统一下单。

  照着参数列表把必须传的参数赋值就可以了(非必传的看你自己的业务需要了),然后发送给微信,得到返回的结果是xml,如果你用的是微信的dome,那么下单的方法是给你返回的 WxPayData 类型

      

  注意:下单的时候会有一个参数 notify_url 这个参数是用来微信支付成功之后用来通知你的支付结果,用来你处理自己的逻辑,微信给的说明只是说能直接访问、不带参数就可以了,

     但是没说他结果是post回来的,如果你用的是mvc的话千万不能把回调页面写成httpget的,这样你会收不到微信的通知的

3、调起支付接口

  需要的是7个参数,如下

    应用ID(appid)、商户号(partnerid)、预支付交易会话ID(prepayid)、扩展字段(package)、随机字符串(noncestr)、时间戳(timestamp)、签名(sign)

  其中 应用ID(appid)、商户号(partnerid)、扩展字段(package)这三个值是可以让APP写死的就不用传值了,但扩展字段(package)参数微信只是暂填写固定值Sign=WXPay,

  所以以后他要变得话,还得重新让APP打包,尤其iOS还得审核,特别麻烦,所以建议由参数方式传值获取,prepayid就是上边统一下单接口返回的结果(当然上边的接口得调用无误),

  需要注意的是:签名(sign)并不是统一下单接口返回的那个签名,而是需要用同样的签名方式把前六个参数在签名一边,获取到的签名才是APP需要的那个签名。得到这些参数就可以传给APP开发了。

  如果不知道是不是签名正确可以用微信提供的签名在线验证方法:https://pay.weixin.qq.com/wiki/tools/signverify/。看看同样的参数你生成的签名和微信的一样不,一样说明对了,不一样就错了。

4、支付结果通知

  用的就是统一下单接口发送给微信的那个回调URL(notify_url),处理自己的逻辑业务

  

.net 微信APP支付接口的开发流程以及坑的更多相关文章

  1. php开发微信APP支付接口

    之前在开发APP中用到了微信支付,因为是第一次用,所以中途也遇到了好多问题,通过查看文档和搜集资料,终于完成了该功能的实现.在这里简单分享一下后台php接口的开发实例. 原文地址:代码汇个人博客 ht ...

  2. 微信APP支付服务端开发Java版(一)

    一.准备工作 去微信开发者中心下载(扫码支付,里面的大部分代码是可以用的) https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11 ...

  3. 微信app支付android客户端以及.net服务端实现

    由于公司运营需要,需要在客户端(android/ios)增加微信以及支付宝支付,在调用微信app支付时遇到一些问题,也算是一些踩过的坑,记录下来 ,希望能对.net开发者服务端网站更快的集成微信app ...

  4. 微信支付-微信公众号支付,微信H5支付,微信APP支付,微信扫码支付

    在支付前,如果使用第三方MVC框架,则使用重写模式,服务器也需要配置该项 if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$ last; ...

  5. 微信APP支付整体流程记录备忘

      支付整体流程见文档:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3   商户系统和微信支付系统主要交互说明:     步骤1: ...

  6. 微信App支付接入步骤&支付中前后端交互流程

    最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时商户App.商户Server.微信App.微信支付Server的交互流程进行了简单了解.这篇文章应该算是学习笔记,分 ...

  7. 微信app支付,完整流程,完整代码 (转)

    微信app支付流程 需要的配置参数 private function wechat($body,$indent_id,$cou,$user_id,$total_fee,$ip,$domain,$non ...

  8. H5使用codovar插件实现微信支付(微信APP支付模式,前端)

    H5打包的app实现微信支付及支付宝支付,本章主要详解微信支付,支付宝支付请查看另一篇“H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)” ps:本文只试用H5开发的,微信 AP ...

  9. Android版-微信APP支付

    首发地址: Android版-微信APP支付 欢迎留言.转发 微信极速开发系列文章(微信支付.授权获取用户信息等):点击这里 目录 1.注册账号.开发者认证 2.添加应用 3.申请微信支付 4.技术开 ...

随机推荐

  1. 迁移到gitbook

    现在要迁移到gitbook啦, 一些note类分享就只在gitbook发了, 其他一些比较长的分享会第一时间发到gitbook,但也会在这边同步 我的gitbook

  2. Linux 内核无线子系统

    Linux 内核无线子系统 浅谈 Linux 内核无线子系统 Table of Contents 1. 全局概览 2. 模块间接口 3. 数据路径与管理路径 4. 数据包是如何被发送? 5. 谈谈管理 ...

  3. php正则表达式图谱

    php 正则表达式分类图:

  4. Cppcheck软件使用

    一款开源源码检测工具.简单易用. 官网网址:http://cppcheck.sourceforge.net/ 软件可直接官网下载. [plain] view plaincopy Features Ou ...

  5. 从麦肯锡到小黑裙-Project Gravitas |华丽志

    从麦肯锡到小黑裙-Project Gravitas |华丽志 从麦肯锡到小黑裙-Project Gravitas

  6. var 与function的权重浅析

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. javaScript 工作必知(二) null 和undefined

    null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined u ...

  8. Ninject简介(转)

    1.为什么要用Ninject? Ninject是一个IOC容器用来解决程序中组件的耦合问题,它的目的在于做到最少配置.其他的的IOC工具过于依赖配置文件,需要使用assembly-qualified名 ...

  9. c#操作word文档之简历导出

    前言 1.写这个功能之前,我得说说微软的这个类库,用着真苦逼!是他让我有程序猿,攻城尸的感觉了.首先这个类库,从没接触过,方法与属性都不懂,还没有提示.神啊,我做这功能真是一步一卡,很潇洒啊. 2.这 ...

  10. VS2010 打包问题汇总

    问题1:打包时:应将msadox28.tlb排除 ,受到windows系统文件保护 解决方案:文件选项上,选择排除即可. 问题2:路径有文件,生成报错,提示找不到文件或文件被锁定. 解决方案:文件被锁 ...