项目GitHub地址:https://github.com/helei112g/payment

微信支付个人觉得在帐号设置上有些麻烦,帐号太多啦,支付宝目前就是一个应用基本涵盖了所有的接口开发。

可能是由于微信支付的后端是财付通,反正咱们写代码的,也别管那么多。理清楚各配置的关系,然后写出高质量的代码就好。

关于如何申请微信支付,只讲两个问题,服务号支付能力的申请在公众号后后台申请,app应用的支付能力申请在开发者中心申请。其他细节请自行查询。


登陆微信商户平台:https://pay.weixin.qq.com

拿到微信给的商户号后,登陆商户平台,点击【账户中心】进入【API安全】 
会看到下面的截图:

微信支付发起请求的数据需要进行签名,签名的密钥就是在这里设置,设置时候请记录一下。等会配置中会需要。

下载微信的安全证书,相关说明看这里

配置文件

return [
'app_id' => '应用ID',
'mch_id' => '商户id',
'md5_key' => '刚刚设置的密钥',
'app_cert_pem' => 'apiclient_cert.pem',
'app_key_pem' => 'apiclient_key.pem',
'sign_type' => 'MD5',// MD5 HMAC-SHA256
'limit_pay' => [
//'no_credit',
],
'fee_type' => 'CNY',// 货币类型 当前仅支持该字段
'notify_url' => 'https://helei112g.github.io/',
'redirect_url' => 'https://helei112g.github.io/',
'return_raw' => false,
];

下面表格中 是否必须 列如果标记为  ,则该项必须设置,否则sdk将无法得到结果。

参数 类型 是否必须 说明
app_id string 应用id,下面会详细解释
mch_id string 微信支付分配的商户号
md5_key string 用户在商户中心设置的api密钥
sign_type string 签名类型,默认为MD5,支持HMAC-SHA256和MD5。
app_cert_pem string 证书pem格式
app_key_pem string 证书密钥pem格式
limit_pay array 上传此参数no_credit–可限制用户不能使用信用卡支付
fee_type string 默认人民币:CNY
notify_url string 异步通知的地址
redirect_url string 回调页面地址
return_raw boolean 是否返回微信原始数据

app_id: 对于公众号支付,是微信支付分配的公众账号ID,如果是app支付则是微信开放平台审核通过的应用APPID

微信支付接口中,一定要注意区分不同的帐号类别 
- 公众号支付,需要对应服务号在公众号后台申请,该帐号无法用来进行app支付 
- app支付,微信开放平台审核通过的应用APPID,无法用来进行公众号支付 
- 小程序支付也是一个独立的帐号,微信分配的小程序ID 
- 扫码支付,可以使用app支付的帐号,也可使用公众支付的帐号 
- 刷卡支付,两个帐号也可以使用

由于我没有小程序的帐号,没办法测它是否可以用于扫码支付与刷卡支付,有测过的朋友请告诉我一下(微信号:helei543345

mch_id: 商户号,申请商户号成功后,腾讯给你发的邮件里边有

md5_key: 在商户中心自己设置的api密钥,主要用来签名支付数据

sign_type: 签名方式,当前微信支持HMAC-SHA256和MD5,默认使用 MD5

app_cert_pem: 从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制

app_key_pem: 从apiclient_key.pem中导出密钥部分的文件,为pem格式

关于 app_cert_pem 与 app_key_pem 的详情请看这里 : https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_3

limit_pay: no_credit–指定不能使用信用卡支付 ,当前微信仅这一个参数,设置了,支付时,用户无法使用信用卡

fee_type: 货币类型,默认是人民币,其他可选值看这里:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_2

notify_url: 异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。

redirect_url: 只有在使用h5支付时,才需要设置,也可以选择不设置。用来控制在h5中支付成功后,跳转的页面。

return_raw: 是否返回微信的原始数据,默认为false,建议设置为true

  • 该参数如果设置为 false,sdk内部会映射一些key,并且把微信的金额处理为元
  • 如果参数值为 true ,则只对异步数据进行签名检查,检查通过,返回一个数据类型的数据(微信原始为xml),其中包含的key是微信本身的,并且金额相关的单位都是分

微信的配置文件相对来说比较简单,只是它的帐号体系有点多,大家在使用时,根据自己使用不同支付,读取不同配置,来完成相互间的切换。

另外,如果还需要转账或者发红包,请设置以下图中的信息。 

原址:https://blog.csdn.net/hel12he/article/details/67660917

Payment:微信支付配置文件设置说明的更多相关文章

  1. PHP对接微信支付采坑

    第一次做PHP商城项目对接微信支付接口,踩了N次坑,这也不对,那也不对,搞了很久,查了一些资料,终于实现了支付功能,小小总结一下,万一下次遇到就不用到处找资料了. 微信扫码支付 前期准备: 1.微信公 ...

  2. iOS应用之微信支付集成-直接前端集成

    所有信息的生成都在前端完成,包括对订单进行sign签名以及MD5签名加密(此方法相对来说有些复杂,没有官方给的方法简单).注:官方给的是v3&v4支付流程,签名和加密都是在服务器端进行,由于没 ...

  3. iOS: 实现微信支付

    一.介绍: 现在的消费越来越方便,直接带个手机用各种三方的支付平台进行支付就行,例如微信.支付宝.现在正好我所做的项目中用到了微信支付,今天就来整理一下. 二.准备: 1.去微信官方开发者平台注册开发 ...

  4. 微信支付配置参数:支付授权目录、回调支付URL

    一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...

  5. 微信支付v2开发(10) 全网发布

    关键字:微信公众平台 微信支付 全网发布 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/wxpay-publish.html 在这篇微信公众平台开发教程中, ...

  6. 微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结

    前言 很久以来,一直想写一篇微信支付有关的总结文档:一方面是总结自己的一些心得,另一方面也可以帮助别人,但是因种种原因未能完全理解透彻微信支付的几大支付方式,今天有幸做一些总结上的文章,也趁此机会,将 ...

  7. 微信支付(20140923更新)商户支付密钥key的生成与设置

    微信支付(0923更新)商户支付密钥key的生成与设置 说明:新版微信支付,用户必须授权登录才能支付.需要商家自己设置商户号支付密钥. 设置商户号支付密钥方法如下: 1. 申请通过审核后,打开微信发来 ...

  8. ecshop微信支付(0923更新)商户支付密钥key的生成与设置

    ECSHOP 微信支付(0923更新)商户支付密钥key的生成与设置 说明:新版微信支付,用户必须授权登录才能支付.需要商家自己设置商户号支付密钥. 申请微信支付手机版部分时需要填写的配置接口地址: ...

  9. 微信支付(0923更新)商户支付密钥key的生成与设置

    微信支付(0923更新)商户支付密钥key的生成与设置 说明:新版微信支付,用户必须授权登录才能支付.需要商家自己设置商户号支付密钥. 设置商户号支付密钥方法如下: 1. 申请通过审核后,打开微信发来 ...

随机推荐

  1. Java多线程学习之线程的取消与中断机制

    任务和线程的启动很容易.在大多数情况下我们都会让他们运行直到结束,或是让他们自行停止.但是,有时我们希望提前结束任务或是线程,可能是因为用户请求取消,或是线程在规定时间内没有结束,或是出现了一些问题迫 ...

  2. Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

  3. xamarin.Android ImageView 异步加载网络图片

    /// <summary> /// 异步获取文件流 /// </summary> /// <param name="url"></para ...

  4. 网络 私有IP和子网掩码设置

    私有IP不需要花钱 节约使用公网IP有两个方法,一个方法是动态IP(关机回收IP),一个方法是私有IP,尤其是私有IP作用巨大. 私有IP不具有唯一性,不能直接访问公网.比如,我以私有IP192.16 ...

  5. mybatis 一对多 id标签作用

    一对多 MyBatis的resultMap只用于配置结果如何映射,id的唯一作用就是在嵌套的映射配置时判断数据是否相同,当配置id标签时,MyBatis只需要逐条比较所有数据中id标签字段值是否相同即 ...

  6. Hive命令 参数

    1.hive -h     显示帮助 2.hive -h hiveserverhost -p port     连接远程hive服务器 3.hive --define a=1 --hivevar b= ...

  7. 外业数据采集平台(GPS+Android Studio+Arcgis for android 100.2.1)

    外业数据采集平台 1. 综述 在室外,通过平板或者手机接收GPS坐标,实时绘制点.线.面数据,以便为后续进行海域监测.土地确权.地图绘图提供有效数据和依据. 2. 技术路线 Android studi ...

  8. ES6-fetch

    fetch 事实标准,并不存在与ES6规范中,基于Promise实现. 目前项目中对Promise的兼容性尚存在问题,如果在项目中应用fetch,需要引入es6-promise和fetch. fis3 ...

  9. Web程序中打开QQ、邮箱、阿里旺旺等

    在网页中使用链接打开QQ的聊天窗口有两种方式: uin的值为qq号 <a target="_blank" href="@Url.Content("tenc ...

  10. 使用ServiceBroker自动激活模拟"秒杀"场景

    1.简介 SQL Server Service Broker 是SQL server 里面比较独特的一个功能.它可帮助开发人员构建异步的松散耦合应用程序 ServiceBroker入门文章:http: ...