• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > C#开发微信门户及应用微信支付之企业付款封装操作

C#开发微信门户及应用微信支付之企业付款封装操作

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了C# 微信开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1、企业付款的介绍

所谓企业付款指的是,在功能开放后诸如保险行业的客户理赔、退保、商品退款、发放征集活动奖金、抽奖互动等操作都可以通过企业付款完成。而此前,微信支付只能提供客户向企业单向付款。

商户如果需要给用户付款,可以直接将钱打入用户的“微信零钱”中,微信支付将做零钱入账消息通知,零钱收支明细会展示相应记录。针对无零钱账户的历史客户端版本,资金将进入用户的红包账户,微信支付无消息通知用户,企业可选择自行触达用户。

通过认证的企业号可以开通微信支付功能。通过认证的企业号可以管理平台的“服务中心”的“微信支付”入口里进行微信支付功能申请。而开通微信支付功能后,企业号将拥有两项功能:收款和付款。如果是用户号对企业号付款,款项将会进入企业号所关联的商户号中。同时,企业号可以通过微信红包或微信转账的形式对用户号付款。

企业付款,提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。

涉及资金操作的功能,安全性要求较高,需要操作员安装证书(商户平台-账户设置-密码安全-操作证书);通过API或网页操作,付款至目标用户(企业可根据APPID+OpenID锁定目标用户)。针对已实名认证的用户,微信支付可提供校验真实姓名一致性的可选功能。

企业付款提示:

◆ 给同一个实名用户付款,单笔单日限额2W/2W

◆ 给同一个非实名用户付款,单笔单日限额2000/2000

◆ 一个商户同一日付款总额限额100W

◆仅支持商户号已绑定的APPID;

◆针对付款的目标用户,已微信支付实名认证的用户可提供校验真实姓名的功能,未实名认证的用户无法校验,企业可根据自身业务的安全级别选择验证类型;

◆付款金额必须小于或等于商户当前可用余额的金额;

◆ 已付款的记录,企业可通过企业付款查询查看相应数据。

C#开发微信门户及应用微信支付之企业付款封装操作

2、企业付款API

企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,针对部分有开发能力的商户,提供通过API完成企业付款的功能。
比如目前的保险行业向客户退保、给付、理赔。

企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。


接口地址


接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers


是否需要证书


请求需要双向证书。 详见证书使用

请求参数

C#开发微信门户及应用微信支付之企业付款封装操作

提交数据示例:

<xml>
<mch_appid>wxe062425f740c30d8</mch_appid>
<mchid>10000098</mchid>
<nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
<partner_trade_no>100000982014120919616</partner_trade_no>
<openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid>
<check_name>OPTION_CHECK</check_name>
<re_user_name>张三</re_user_name>
<amount>100</amount>
<desc>节日快乐!</desc>
<spbill_create_ip>10.2.3.10</spbill_create_ip>
<sign>C97BDBACF37622775366F38B629F45E3</sign>
</xml>

成功返回的数据示例:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[]]></return_msg>
<mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid>
<mchid><![CDATA[10013274]]></mchid>
<device_info><![CDATA[]]></device_info>
<nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str>
<result_code><![CDATA[SUCCESS]]></result_code>
<partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no>
<payment_no><![CDATA[1000018301201505190181489473]]></payment_no>
<payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time>
</xml>

根据上面的接口描述,以及输入,返回参数,我们可以构建对应的C#代码的接口

C#开发微信门户及应用微信支付之企业付款封装操作

根据上面的接口定义,我们可以定义接口信息如下所示

/// <summary>
    /// 微信支付接口
    /// </summary>
    public interface ITenPayApi
    {  

        /// <summary>
        /// 企业付款(请求需要双向证书)
        /// 企业付款业务是基于微信支付商户平台的资金管理能力,为了协助商户方便地实现企业向个人付款,
        /// 针对部分有开发能力的商户,提供通过API完成企业付款的功能。 比如目前的保险行业向客户退保、给付、理赔。
        /// 企业付款将使用商户的可用余额,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/ 
        /// 注意:与商户微信支付收款资金并非同一账户,需要单独充值。
        /// </summary>
        /// <param name="json">企业支付数据</param>
        /// <returns></returns>
        CorpPayResult CorpPay(CorpPayJson json);

        ..............

其中上面的CorpPayJson 和CorpPayResult 分别是传入参数和获取的结果内容,两者的对象信息根据参数进行定义即可。

C#开发微信门户及应用微信支付之企业付款封装操作

/// <summary>
    /// 企业付款的数据信息
    /// </summary>
    public class CorpPayJson
    {
        public CorpPayJson()
        {
            this.check_name = "FORCE_CHECK";
        }

        /// <summary>
        /// 微信支付分配的终端设备号
        /// </summary>
        public string device_info { get; set; }

        /// <summary>
        /// 用户openid
        /// </summary>
        public string openid { get; set; }

        /// <summary>
        /// 校验用户姓名选项,可以使用 PayCheckName枚举对象获取名称
        /// NO_CHECK:不校验真实姓名 
        /// FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账) 
        /// OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
        /// </summary>
        public string check_name { get; set; }

        /// <summary>
        /// 收款用户真实姓名。 
        /// 如果check_name设置为FORCE_CHECK或OPTION_CHECK,则必填用户真实姓名
        /// </summary>
        public string re_user_name { get; set; }

        /// <summary>
        /// 企业付款金额,单位为分
        /// </summary>
        public int amount { get; set; }

        /// <summary>
        /// 企业付款操作说明信息。必填。
        /// </summary>
        public string desc { get; set; }

        /// <summary>
        /// 调用接口的机器Ip地址
        /// </summary>
        public string spbill_create_ip { get; set; }
    }

/// <summary>
    /// 企业付款操作的返回结果
    /// </summary>
    public class CorpPayResult : PayResult
    {    
        /// <summary>
        /// 微信分配的公众账号ID(企业号corpid即为此appId)
        /// </summary>
        public string mch_appid { get; set; }

        /// <summary>
        /// 微信支付分配的终端设备号
        /// </summary>
        publi



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 用Asp.net MVC实现微信分享功能的过程详解
  • 微信支付开发全网发布
  • 概述微信开发
  • selenium设置窗口大小不准确,终于解决
  • ASP.NET实现微信抢红包代码实例
  • C#开发微信门户及应用-微信门户应用管理系统功能介绍
  • 微信开发之快递查询步骤详解
  • 微信开发百思不得姐实战教程
  • C#实现微信开发前奏
  • 微信公众号开发:通过accesstoken将长连接转换为短链接

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 写一份简洁明了的外包需求文档
    • 微信小程序开发制作麦克风动画 实现放大、淡出效果
    • 微信开发如何做本地调试
    • C#开发微信门户及应用(2)--微信消息的处理和应答
    • 微信公众平台开发教程(四) 实例入门:机器人
    • 微信开发学习路线
    • 微信企业号开发:开启回调模式/Python判断信息-回复指定内容示例代码
    • Mocha与chai的使用
    • 微信支付开发对账单介绍
    • 微信小程序 input输入框控件详解及实例(多种示例)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有