微支付商户提交表格
微信支付API文档120(受理)

1. 阅读对象本文阅读对象:商户系统(在线购物平台、人工收银系统、自动化智能收银系统或其他)集成微信支付涉及的技术架构师,研发工程师,测试工程师,系统运维工程师。
2. 术语1. 支付模式1) 被扫支付被扫支付是用户展示微信上“我的刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。
主要应用线下面对面收银的场景。
2) 扫码支付扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。
该模式适用于P C 网站支付、实体店单品或订单支付、媒体广告支付等场景。
3) 微信内网页支付微信内网页支付是用户在微信中打开商户的H5 页面,商户在H5 页面通过调用微信支付提供的JSAPI 接口调起微信支付模块完成支付。
应用场景有:•用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;•用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付•将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付4) APP 支付APP 支付又称移动端支付,是商户通过在移动端应用APP 中集成开放SDK 调起微信支付模块完成支付的模式。
5) 普通浏览器网页支付模式正在建设中,敬请期待。
2. 名词解释1) 微信公众平台微信公众平台是微信公众账号申请入口和管理后台。
商户可以在公众平台提交基本资料、业务资料、财务资料申请开通微信支付功能。
平台入口:。
2) 微信开放平台微信开放平台是商户APP 接入微信支付开放接口的申请入口,通过此平台可申请微信APP 支付。
平台入口:。
3) 微信商户平台微信商户平台是微信支付相关的商户功能集合,包括参数配置、支付数据查询与统计、在线退款、代金券或立减优惠运营等功能。
平台入口:。
4) 微信支付系统微信支付系统是指完成微信支付流程中涉及的API 接口、后台业务处理系统、账务系统、回调通知等系统的总称。
5) 商户收银系统商户收银系统即商户的POS 收银系统,是录入商品信息、生成订单、客户支付、打印小票等功能的系统。
微信支付所需填写信息

13 14 15
所需填写
公司司微信支付业务联系人 接收与微信支付管理相关的重要信息
短信验证码 商户平台登录帐号密码等重要信息 后续可通过商户平台修改。 在支付完成页面向消费者进行展示
经营类目 殊商品, 此处请重复上传营业执照。 营业执照经营范围内,且必须与所选类目对应一致。请勿直接照抄营业执 否则将会导致申请资料被驳回。 进行回拨确认,若无法接通将会导致资料驳回 , 机需填写区号,如有分机也请一并填写。 体不一致,请下载网站授权函填加盖公章在本页最下方补充材料处上传 码拍摄照片最多可上传5份文件,单个文件大小不超过2M,文件格式为bmp
商户名称,注册地址。 ,经营范围,营业期限执照。
件类型,证件影印件正面:若是【个体工商户】请填写“营业执照”上法 人信息。 件影印件反面 效期,证件号码。
号,结算账户不支持修改私人账户。
择法人账户。如没有法人的选项,请返回第一步【经营信息】, 正确,请返回上一步【商户信息】,将法人姓名修改正确即可。
4
售卖商品简述:简要描述售卖的商品或提供的服务,必须在营业执照经营范围内, 照中的经营范围,否则将会导致申请资料
5
客服电话:审核人员会对客服电话进行回拨确认,若无法接 填写有效手机号或座机,座机需填写区号,如有分
6
公司网站:非互联网公司可无需填写若备案主体与申请主体不一致,请下载网站
7 补充材料:上传其他补充申请材料清晰彩色原件扫描件或数码拍摄照片最多可上传
开户银行 所在城市,请选择所在地区或者上级城市
开户支行 人银行账号,企业类型帐号,结算账户不支持修改私人账户。
类目 序号
所需填写
1 2 联系信息 3
联系人姓名:公司司微信支付业务联 手机号码: 该号码将接收与微信支付管理相
普通商户配置教程

1、商户登陆收银台→在线支付设置→支付配置→配置信息填写以下信息,AppID(应用ID)和AppSecret(应用密钥)在微信公众平台→开发→基本设置获取;微支付商户号、API密钥和API证书(apiclient_cert.pem、apiclient_key.pem、rootca.pem)在微信支付商户平台→API 安全里面获取。
2、普通微信支付商户配置:在微信公众号平台→微信支付→开发配置→①公众支付支付授权目录填写:本站域名/pay/wxpay/ ②扫码支付支付回调URL填写http://本站域名
/pay/wxpay/wxsaomahandle.php
3、在微信公众号平台→开发→接口权限→网页账号(网页授权获取用户基本信息)修改填写:本站域名(如)
温馨提示,设置好后,需要1-10分钟内功能方可全部生效。
支付中小企业款项办法.doc

支付中小企业款项办法.doc支付中小企业款项办法第一章总则第一条本办法旨在规范支付中小企业款项的操作,促进中小企业的发展,保障其权益。
第二条中小企业是指按照国家有关政策和标准确定的小型微利企业和科技型企业。
第三条支付中小企业款项应当遵循公平、公正、公开、诚实信用的原则。
第四条支付中小企业款项的主体包括出资方、收款方、支付机构等。
第二章支付中小企业款项的申请与审批第五条完成支付中小企业款项,款项申请方应当向支付机构提交申请材料,包括但不限于以下内容:(一)支付申请表。
(二)发票、合同等相关票据材料。
(三)企业营业执照复印件。
(四)经营财务报表等相关财务材料。
第六条支付机构应当对支付申请材料进行审核,并在3个工作日内作出审批决定。
如有需要,支付机构可以要求补充材料。
第三章支付中小企业款项的操作流程第七条支付中小企业款项的操作流程如下:(一)收款方向支付机构提供准确的收款账户信息。
(二)出资方向支付机构提供支付款项的金额和时间。
(三)支付机构在规定的时间内将款项划拨至收款方账户。
(四)收款方收到款项后向支付机构确认。
第八条支付中小企业款项的操作流程中,支付机构应当加强风险管理,确保资金安全,并及时向出资方和收款方反馈款项流转情况。
第四章支付中小企业款项的监督与投诉第九条相关部门应当加强对支付中小企业款项的监督,确保相关政策措施的执行。
第十条支付中小企业款项的出资方和收款方,如对支付机构提供的服务不满意,可以向支付机构投诉,并有权要求支付机构进行调查并采取相应的整改措施。
第五章附件附件一:支付申请表格附件二:企业营业执照复印件样本附件三:经营财务报表格式注释:1.中小企业:根据国家有关政策和标准确定的小型微利企业和科技型企业。
2.支付申请表:用于中小企业向支付机构提交支付申请的表格,需包括申请人信息、支付款项金额、支付时间等内容。
3.发票、合同等相关票据材料:指与支付款项相关的发票、合同等证明支付合法性的相关票据。
支付宝微信商户类目对应资质、费率、结算周期

0.10%
T+1
停车缴费
0.60%
T+1
城市交通/高速收费
收费授权证明文件(如授权证明书或合同)
0.60%
T+1
事业单位
收费授权证明文件(如授权证明书或合同)
0.60%
T+1
其他生活缴费
收费资质
0.60%
T+1
金融
财经资讯
若有具体的荐股行为,需资质《证券投资咨询业务资格证书》(若不涉及直接上传《营业执照》)
0.60%
T+7
股票软件类
《证券投资咨询业务资格证书》
0.60%
T+7
保险业务
保险公司提供《经营保险业务许可证》《保险业务法人等级证书》,其他公司提供相关资质
0.60%
T+1
众筹
《营业执照》(仅限实物类、公益类众筹网站接入申请,暂不支持股权类众筹商户)
0.60%
T+3
信用还款
1、银行:银监会颁发的《金融许可证》
《电信业务经营许可证》
0.60%
T+1
宽带收费
《电信业务经营许可证》
0.60%
T+1
话费通讯
提供与运营商间的合作授权收费协议
0.60%
T+7
有线电视缴费
《广播电视节目传送业务经营许可证》
0.60%
T+1
物业管理费
物业管理企业资质等级评定证书(向建设部申请)
0.60%
T+1
水电煤缴费/交通罚款等生活缴费
0.60%
T+1
支付服务开通表 - 上海中小企业

第 1 页共2 页第 2 页 共 2 页本表格为贵司(您)与迅付信息科技有限公司签署的《支付服务协议》的附件,签署本表格即表示贵司(您)已充分知悉、理解本协议项下所有条款的含义,充分认知、认同相应的权利、义务与责任,并保证将支付服务用于正当合法的用途,否则愿承担一切法律责任。
商户盖章:日 期: 年 月 日 (请加盖骑缝章)盖章:迅付信息科技有限公司 日期: 年 月 日第 1 页 共 1 页人民币卡支付协议协议编号:( )甲方:迅付信息科技有限公司乙方: 鉴于:双方已签订了《支付服务协议》(以下简称“主协议”),约定由甲方向乙方提供在线支付结算服务,乙方选择甲方所提供的人民币卡支付服务方式。
人民币卡支付:是指个人消费者使用国内(中国大陆境内)银行发行的银行卡来进行在线支付的支付方式。
经双方友好协商,达成如下条款,以资共同遵守:第一条 服务资费标准见支付服务开通表。
第二条 服务条款。
甲方根据本协议为乙方提供下列服务:(一)安全加密和身份认证:为乙方使用甲方的在线支付功能提供高质量的网络传输加密通道。
(二)在线支付与结算:为乙方提供其商务网站进行交易所需要的在线支付与结算功能。
相关信息通过甲方的支付网关与甲方所连通的国内商业银行交换信息,并将银行的确认信息反馈给乙方。
(三)安全技术支持:为乙方提供订单信息传输的接口规范,配置安全传输协议,后台管理权限设定;为乙方客户的支付等重要信息提供高质量的网络传输加密通道。
(四)在线查询:即为乙方设立网上交易查询功能,提供商户信息管理和交易信息查询服务。
订单交易数据甲方将保留六个月。
乙方应及时下载交易数据并存档。
超过六个月以上的数据查询,经甲方同意后可与甲方客服人员联系查询。
(五)IPS 账户人民币收款功能。
第三条 开通流程(一)自本协议签订日起三个工作日内,甲方向乙方提供人民币卡支付系统软件及使用账号以供乙方试用。
(二)自本协议签订日起十个工作日内,乙方在乙方网站的支付页面(网上收银台)上,加入甲方LOGO 及甲方提供的甲方网站上的帮助页面的链接。
微信支付申请指引
微信支付申请指引微信公众号运营者:微信支付已正式开放申请。
已通过微信认证的服务号可登录微信公众平台,点击“服务”—“服务中心”—“商户功能”提交资料(详细指引请参考商户服务中心),申请公众号支付或App支付功能。
任何问题或意见请邮件联系“weixinpay@”。
微信商户服务中心1. 微信支付功能申请1.1 申请流程指引一、申请流程图:二、申请流程详细说明:(一)完成服务号认证:1、微信支付功能目前仅对完成微信认证的服务号开放申请(企业、媒体、政府及其他组织)。
若公众帐号符合开放申请要求,可直接进入第二步(微信公众平台提交资料);2、订阅号可先升级为服务号,升级方法:登录微信公众平台—设置—帐号信息—升级为服务号;3、未认证的服务号需先完成微信认证。
注:商户申请微信认证的主体与申请开通微信支付功能的主体需保持一致。
(二)完成申请资料审核:1、登录微信公众平台,进入:服务-服务中心-商户功能;2、提交商户基本资料请准确选择经营范围,并如实填写出售的商品/服务信息,此处填写的信息将作为日后运营监管的依据;3、提交业务审核资料商户提交的资料,主体需与微信认证主体保持一致,以保证运营主体即认证主体;4、提交财务审核资料商户提交的财务资料,主体需与业务审核资料主体一致,以保证结算主体即运营主体;商户提交的所有资料,需加盖公章。
5、资料审核:1)商户申请资料提交成功后,腾讯在7个工作日内反馈审核结果;2)审核结果将以电子邮件的形式告知商户。
商户也可登录微信公众平台,点击页面右上角小信封图标查看。
3)审核通过的通知邮件中,将包含非常重要的开发参数,请商户牢记申请时填写的“重要邮箱”地址,相关通知一经发送至“重要邮箱”地址,则视为腾讯已经向商户履行了通知义务。
重要邮箱”是商户在填写“业务审核资料”时设置的:(三)功能开发、合同签订:1、资料审核通过的商户可以进行功能开发工作:腾讯提供清晰的开发接口文档,帮助商户顺利完成功能开发工作。
(13条消息)微信小微商户特约商户进件V3版本对接
(13条消息)微信⼩微商户特约商户进件V3版本对接今天我们来讲⼀下微信⼩微商户进件V3版本的接⼝对接。
⾸先我们来看⼀下官⽅的⽂档:https:///wiki/doc/apiv3/wxpay/tool/applyment/chapter3_1.shtml根据⽂档提⽰,⼩微商户进件对接协议和特约商户是⼀样的,只是参数不⼀样。
我们这⾥以⼩微商户说明(主要是公司需要)。
⾸先引⼊JRE包,后⾯会⽤到。
这⾥使⽤的是maven。
1. <dependency>2. <groupId>com.github.wechatpay-apiv3</groupId>3. <artifactId>wechatpay-apache-httpclient</artifactId>4. <version>0.2.1</version>5. </dependency>进件需要我们先上传⾝份证照⽚,请参考微信⼩微商户进件(⼆):图⽚上传上代码ApplymentBo.java1. package com.pay.wechat.bo.small.v3;2.3. import java.io.ByteArrayInputStream;4. import java.security.cert.X509Certificate;5. import java.util.HashMap;6. import java.util.Map;7.8. import ponent;9.10. import com.util.OrderIDUtil;11. import com.pay.wechat.bo.small.v3.util.CertUtil;12. import com.pay.wechat.bo.small.v3.util.HttpUrlUtil;13. import com.pay.wechat.bo.small.v3.util.RsaEncryptUtil;14. import com.pay.contrib.apache.httpclient.util.PemUtil;15.16. import net.sf.json.JSONObject;17.18. /**19. * ⼩微商户进件V3版本<br>20. * ⽂档地址:https:///wiki/doc/apiv3/wxpay/tool/applyment/chapter3_1.shtml21. *22. * @author libaibai@23. * @version 1.0 2020年9⽉3⽇24. */25. @Component26. public class ApplymentBo {27.28. /**29. * 进件30. *31. * @param contactName 管理员姓名32. * @param contactIdNum 管理员⾝份证号码33. * @param contactMobile 管理员⼿机号码34. * @param contactMail 管理员邮箱35. * @param microName 门店名称36. * @param microAddressCode37. * 门店编码,参考:https:///wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml38. * @param microAddress 门店地址39. * @param idCardCopy ⾝份证正⾯照⽚40. * @param idCardNational ⾝份证反⾯照⽚41. * @param cardPeriodBegin ⾝份证有效期开始时间,格式:2011-06-2442. * @param cardPeriodEnd ⾝份证有效期结束时间,格式:2011-06-2443. * @param servicePhone 客户电话44. * @param accountBank 开户⾏银⾏名称45. * @param bankAddressCode 开户⾏编码46. * @param bankName 开户银⾏全称(含⽀⾏] <pre>47. * 1、“开户银⾏”为17家直连银⾏⽆需填写48. * 2、“开户银⾏”为其他银⾏,则开户银⾏全称(含⽀⾏)和开户银⾏联⾏号⼆选⼀ //49. * 3、需填写银⾏全称,如"深圳农村商业银⾏XXX⽀⾏",详细参见《开户银⾏全称(含⽀⾏)对照表》50. * ⽰例值:施秉县农村信⽤合作联社城关信⽤社51. * </pre>52. *53. * @param accountNumber 银⾏卡号54. * @throws Exception55. */56. public void exe(String contactName, String contactIdNum, String contactMobile, String contactMail, String microName, String microAddressCode,57. String microAddress, String idCardCopy, String idCardNational, String cardPeriodBegin, String cardPeriodEnd, String servicePhone,58. String accountBank, String bankAddressCode, String bankName, String accountNumber) throws Exception {59.60. // 获取微信平台证书并解析⽅法在后⾯61. String certString = CertUtil.getCertStr();62. ByteArrayInputStream stringStream = new ByteArrayInputStream(certString.getBytes());63. // 下⾯所有加密参数需要的对象64. X509Certificate certx = PemUtil.loadCertificate(stringStream);66. // 超级管理员信息67. Map<String, Object> contact_info = new HashMap<String, Object>();68. String contact_name = RsaEncryptUtil.rsaEncryptOAEP(contactName, certx); // 超级管理员姓名69. String contact_id_number = RsaEncryptUtil.rsaEncryptOAEP(contactIdNum, certx); // 超级管理员⾝份证件号码70. String mobile_phone = RsaEncryptUtil.rsaEncryptOAEP(contactMobile, certx);// 联系⼿机71. String contact_email = RsaEncryptUtil.rsaEncryptOAEP(contactMail, certx);// 联系邮箱72. contact_info.put("contact_name", contact_name);73. contact_info.put("contact_id_number", contact_id_number);74. contact_info.put("mobile_phone", mobile_phone);75. contact_info.put("contact_email", contact_email);76.77. // 主体资料78. String subject_type = "SUBJECT_TYPE_MICRO"; // 主体类型79. String micro_biz_type = "MICRO_TYPE_STORE"; // ⼩微经营类型80. String micro_name = microName; // 门店名称81. String micro_address_code = microAddressCode; // 门店省市编码82. String micro_address = microAddress; // 门店街道名称83.84. String store_entrance_pic = "oO5EoYZsdukezw2NXUxEkb9vTU7PgOu5GyMpNVdMVj5aJAwD85_8kNpakg-s4917roa97XFJf0GPdBNHEvkyf0XPzrOjeKjoBYmEL_eSk7I"; // 门店门⼝照⽚85. String micro_indoor_copy = "oO5EoYZsdukezw2NXUxEkb9vTU7PgOu5GyMpNVdMVj5aJAwD85_8kNpakg-s4917roa97XFJf0GPdBNHEvkyf0XPzrOjeKjoBYmEL_eSk7I"; // 店内环境照⽚86.87. // 证件类型,IDENTIFICATION_TYPE_IDCARD88. String id_doc_type = "IDENTIFICATION_TYPE_IDCARD";89.90. // String id_card_copy = idCardCopy; // ⾝份证⼈像⾯照⽚91. // String id_card_national = idCardNational; // ⾝份证国徽⾯照⽚92.93. String id_card_name = RsaEncryptUtil.rsaEncryptOAEP(contactName, certx); // ⾝份证姓名94. String id_card_number = RsaEncryptUtil.rsaEncryptOAEP(contactIdNum, certx); // ⾝份证号码95. // String card_period_begin = "2011-06-24"; // ⾝份证有效期开始时间⽰例值:2026-06-0696. // String card_period_end = "2021-06-24"; // ⾝份证有效期结束时间⽰例值:2026-06-0697.98. Map<String, Object> subject_info = new HashMap<String, Object>(); // 主体资料99. Map<String, Object> micro_biz_info = new HashMap<String, Object>(); // ⼩微商户辅助材料100. Map<String, Object> micro_store_info = new HashMap<String, Object>(); // 门店场所信息101. Map<String, Object> identity_info = new HashMap<String, Object>(); // 经营者⾝份证件102. Map<String, Object> id_card_info = new HashMap<String, Object>(); // ⾝份证信息103.104. micro_store_info.put("micro_name", micro_name);105. micro_store_info.put("micro_address_code", micro_address_code);106. micro_store_info.put("micro_address", micro_address);107. micro_store_info.put("store_entrance_pic", store_entrance_pic);108. micro_store_info.put("micro_indoor_copy", micro_indoor_copy);109.110. micro_biz_info.put("micro_biz_type", micro_biz_type);111. micro_biz_info.put("micro_store_info", micro_store_info);112.113. id_card_info.put("id_card_copy", idCardCopy);114. id_card_info.put("id_card_national", idCardNational);115. id_card_info.put("id_card_name", id_card_name);116. id_card_info.put("id_card_number", id_card_number);117. id_card_info.put("card_period_begin", cardPeriodBegin);118. id_card_info.put("card_period_end", cardPeriodEnd);119.120. identity_info.put("id_doc_type", id_doc_type);121. identity_info.put("id_card_info", id_card_info);122.123. subject_info.put("subject_type", subject_type);124. subject_info.put("micro_biz_info", micro_biz_info);125. subject_info.put("identity_info", identity_info);126.127. // 经营资料128. // String merchant_shortname = "张三停车场"; // 商户简称129. // String service_phone = "0755222222"; // 客服电话130. Map<String, Object> business_info = new HashMap<String, Object>();131. business_info.put("merchant_shortname", microName);132. business_info.put("service_phone", servicePhone);133.134. // 结算规则135. // ⼊驻结算规则ID;请选择结算规则ID,详细参见《费率结算规则对照表》⽰例值:⼩微商户:703136. String settlement_id = "703";//137. String qualification_type = "停车缴费"; // 所属⾏业;请填写所属⾏业名称,建议参见《费率结算规则对照表》⽰例值:餐饮138. Map<String, Object> settlement_info = new HashMap<String, Object>();139. settlement_info.put("settlement_id", settlement_id);140. settlement_info.put("qualification_type", qualification_type);141.142. // 收款银⾏卡143. // 账户类型若主体为⼩微,可填写:经营者个⼈银⾏卡枚举值:144. // BANK_ACCOUNT_TYPE_PERSONAL:经营者个⼈银⾏卡145. // ⽰例值:BANK_ACCOUNT_TYPE_CORPORATE146. String bank_account_type = "BANK_ACCOUNT_TYPE_PERSONAL";147.148. String account_name = RsaEncryptUtil.rsaEncryptOAEP(contactName, certx); // 开户名称(该字段需进⾏加密处理)149. // String account_bank = "建设银⾏"; // 开户银⾏开户银⾏,详细参见《开户银⾏对照表》⽰例值:⼯商银⾏150. // String bank_address_code = "440300"; // 开户银⾏省市编码⾄少精确到市,详细参见《省市区编号对照表》⽰例值:110000151.152. // 1、“开户银⾏”为17家直连银⾏⽆需填写153. // 2、“开户银⾏”为其他银⾏,则开户银⾏全称(含⽀⾏)和开户银⾏联⾏号⼆选⼀154. // 3、需填写银⾏全称,如"深圳农村商业银⾏XXX⽀⾏",详细参见《开户银⾏全称(含⽀⾏)对照表》155. // ⽰例值:施秉县农村信⽤合作联社城关信⽤社156. // String bank_name = ""; // 开户银⾏全称(含⽀⾏]157. String account_number = RsaEncryptUtil.rsaEncryptOAEP(accountNumber, certx); // 银⾏账号(该字段需进⾏加密处理)158. Map<String, Object> bank_account_info = new HashMap<String, Object>();159. bank_account_info.put("bank_account_type", bank_account_type);160. bank_account_info.put("account_name", account_name);161. bank_account_info.put("account_bank", accountBank);162. bank_account_info.put("bank_address_code", bankAddressCode);163. bank_account_info.put("bank_name", bankName);164. bank_account_info.put("account_number", account_number);165.166. String business_code = OrderIDUtil.getOrderID(null); // 申请单号167. Map<String, Object> map = new HashMap<String, Object>();168. map.put("business_code", business_code);169. map.put("contact_info", contact_info);170. map.put("subject_info", subject_info);171. map.put("business_info", business_info);172. map.put("settlement_info", settlement_info);173. map.put("bank_account_info", bank_account_info);174. try {175. String body = JSONObject.fromObject(map).toString();176. String str = HttpUrlUtil.sendPost(body);177. System.out.println(str);178. } catch (Exception e) {179. e.printStackTrace();180. }181. }182.183. public static void main(String[] args) {184. String contactName = "张**"; // 超级管理员姓名185. String contactIdNum = "520201************"; // ⾝份证号码186. String contactMobile = "139*********"; // ⼿机号码187. String contactMail = "3*******@"; // 联系邮箱188. String microName = "联运公司停车场"; // 门店名称(也⽤于简称)189.190. // 门店省市编码191. // 参考:https:///wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml192. String microAddressCode = "520200";193. String microAddress = "**************路52号"; // 门店地址194.195. String idCardCopy = "eYjXW9AMg-***********************************************-w508XSWniUlM"; // ⾝份证正⾯照196. String idCardNational = "eYjXW9AMg-************************************-RPk8-eZ7PJvD8XBtaTZ1a1YEIN1PSeuRnkM"; // ⾝份证反⾯照197.198. String cardPeriodBegin = "2007-08-10"; // ⾝份证有效期开始时间2011-06-24199. String cardPeriodEnd = "2027-08-10";// ⾝份证有效期结束时间2011-06-24200. String servicePhone = "139*********";// 客服电话;⽆特殊使⽤管理员⼿机号码201. String accountBank = "招商银⾏"; // 开户银⾏202. String bankAddressCode = "520200"; // 开户银⾏省市编码⾄少精确到市,详细参见《省市区编号对照表》⽰例值:110000;203.204. // 1、“开户银⾏”为17家直连银⾏⽆需填写205. // 2、“开户银⾏”为其他银⾏,则开户银⾏全称(含⽀⾏)和开户银⾏联⾏号⼆选⼀206. // 3、需填写银⾏全称,如"深圳农村商业银⾏XXX⽀⾏",详细参见《开户银⾏全称(含⽀⾏)对照表》207. // ⽰例值:施秉县农村信⽤合作联社城关信⽤社208. String bankName = ""; // 开户银⾏全称(含⽀⾏]209. String accountNumber = "************************"; // 银⾏账号210.211. ApplymentBo t = new ApplymentBo();212. try {213. t.exe(contactName, contactIdNum, contactMobile, contactMail, microName, microAddressCode, microAddress, idCardCopy, idCardNational, 214. cardPeriodBegin, cardPeriodEnd, servicePhone, accountBank, bankAddressCode, bankName, accountNumber);215. } catch (Exception e) {216. e.printStackTrace();217. }218. }219. }httpUrlUtil.java1. package com.pay.wechat.bo.small.v3.util;2.3. import java.security.PrivateKey;4. import java.security.Signature;5. import java.util.Base64;6.7. import javax.ws.rs.core.Response;8.9. import org.apache.cxf.jaxrs.client.WebClient;10.11. import com.util.Config;12. import com.util.UUIDUtil;13.14. import okhttp3.HttpUrl;15.16. /**17. * HttpUrl⼯具类18. *19. * @author libaibai20. * @version 1.0 2020年9⽉4⽇21. */22. public class HttpUrlUtil {23.24. public static String SCHEMA = "WECHATPAY2-SHA256-RSA2048";26.27. public static String POST = "POST";28. public static String GET = "GET";29.30. public static String host = "https://";31. public static String APPLY_PATH = "/v3/applyment4sub/applyment/"; // 申请单url32. public static String CERT_PATH = "/v3/certificates"; // 获取微信平台证书url33. public static String APPLY_QUERY_PATH = "/v3/applyment4sub/applyment/applyment_id/"; // 查询申请状态34.35. /**36. * POST请求37. */38. public static String sendPost(String body) {39. String url = host + APPLY_PATH;40. try {41. // 获取微信平台商户证书序列号42. String wxSerialNo = CertUtil.getCertSerialNo();43. String authorization = getToken(POST, url, body);44. WebClient client = WebClient.create(host);45. client.reset();46. client.header("Content-Type", "application/json; charset=UTF-8");47. client.header("Accept", "application/json");48. client.header("user-agent", "application/json");49. client.header("Wechatpay-Serial", wxSerialNo);50. client.header("Authorization", authorization);51. client.path(APPLY_PATH);52. Response r = client.post(body);53. return r.readEntity(String.class);54. } catch (Exception e) {55. return null;56. }57. }58.59. /**60. * get请求61. */62. public static String sendGet() {63. // 请求URL64. String url = host + CERT_PATH;65. try {66. String authorization = getToken(GET, url, "");67. WebClient client = WebClient.create(host);68. client.reset();69. client.header("Content-Type", "application/json; charset=UTF-8");70. client.header("Accept", "application/json");71. client.header("User-Agent", "application/json");72. client.header("Authorization", authorization);73. client.path(CERT_PATH);74. Response r = client.get();75. return r.readEntity(String.class);76. } catch (Exception e) {77. e.printStackTrace();78. return null;79. }80. }81.82. /**83. * get请求84. */85. public static String sendGet(String applymentId) {86. // 请求URL87. String url = host + APPLY_QUERY_PATH + applymentId;88. try {89. String authorization = getToken(GET, url, "");90. WebClient client = WebClient.create(host);91. client.reset();92. client.header("Content-Type", "application/json; charset=UTF-8");93. client.header("Accept", "application/json");94. client.header("User-Agent", "application/json");95. client.header("Authorization", authorization);96. client.path(APPLY_QUERY_PATH + applymentId);97. Response r = client.get();98. return r.readEntity(String.class);99. } catch (Exception e) {100. e.printStackTrace();101. return null;102. }103. }104.105. /**106. * 获取加密串107. *108. * @param method109. * @param url110. * @param body111. * @return112. */113. public static String getToken(String method, String url, String body) {114. String nonceStr = UUIDUtil.getUUID32();115. long timestamp = System.currentTimeMillis() / 1000;116. HttpUrl httpUrl = HttpUrl.parse(url);117. String message = buildMessage(method, httpUrl, timestamp, nonceStr, body);118. String signature = null;119. String certificateSerialNo = null;120. try {121. signature = sign(message.getBytes("utf-8"));122. certificateSerialNo = CertUtil.getSerialNo("");123. } catch (Exception e) {124. e.printStackTrace();125. }126.127. return SCHEMA + " mchid=\"" + merchantId + "\"," + "nonce_str=\"" + nonceStr + "\"," + "timestamp=\"" + timestamp + "\"," + "serial_no=\"" 128. + certificateSerialNo + "\"," + "signature=\"" + signature + "\"";129. }130.131. /**132. * 得到签名字符串133. */134. public static String sign(byte[] message) throws Exception {135. Signature sign = Signature.getInstance("SHA256withRSA");136. PrivateKey privateKey = CertUtil.getPrivateKey();137. sign.initSign(privateKey);138. sign.update(message);139. return Base64.getEncoder().encodeToString(sign.sign());140. }141.142. public static String buildMessage(String method, HttpUrl url, long timestamp, String nonceStr, String body) {143. String canonicalUrl = url.encodedPath();144. if (url.encodedQuery() != null) {145. canonicalUrl += "?" + url.encodedQuery();146. }147. return method + "\n" + canonicalUrl + "\n" + timestamp + "\n" + nonceStr + "\n" + body + "\n";148. }149. }CertUtil.java1. package com.pay.wechat.bo.small.v3.util;2.3. import java.io.BufferedInputStream;4. import java.io.FileInputStream;5. import java.io.IOException;6. import java.io.InputStream;7. import java.nio.charset.StandardCharsets;8. import java.nio.file.Files;9. import java.nio.file.Paths;10. import java.security.KeyFactory;11. import java.security.NoSuchAlgorithmException;12. import java.security.PrivateKey;13. import java.security.cert.CertificateException;14. import java.security.cert.CertificateExpiredException;15. import java.security.cert.CertificateFactory;16. import java.security.cert.CertificateNotYetValidException;17. import java.security.cert.X509Certificate;18. import java.security.spec.InvalidKeySpecException;19. import java.security.spec.PKCS8EncodedKeySpec;20.21. import mons.codec.binary.Base64;22.23. import net.sf.json.JSONArray;24. import net.sf.json.JSONObject;25.26. /**27. * 证书⼯具类28. *29. * @author libaibai30. * @version 1.0 2020年9⽉4⽇31. */32. public class CertUtil {33.34. // 微信证书私钥路径(从微信商户平台下载,保存在本地)35. public static String APICLIENT_KEY = "G:\\workspace\\dlysw\\src\\main\\resources\\conf\\cert\\apiclient_key.pem";36.37. // 微信商户证书路径(从微信商户平台下载,保存在本地)38. public static String APICLIENT_CERT = "G:\\workspace\\dlysw\\src\\main\\resources\\conf\\cert\\apiclient_cert.pem";39.40. /**41. * 获取私钥。
微信支付费率表
可证》《建筑工程开工许可证》《国有土地 0.60%
T+1
使用证》《商品房预售许可证》
实物 实物 实物 实物
房地产 通信 通信 金融
房屋中介 电信运营商 宽带收费 银行
包含房地产中介经营范围的《企业法人营业
0.60%
T+1
执照》
《电信业务经营许可证》
0.60%
T+1
《电信业务经营许可证》
0.60%
T+1
T+1
《经营保险代理业务许可证》
0.60%
T+1
《经营保险经纪业务许可证》
0.60%
T+1
《经营保险公估业务许可证》
0.60%
T+1
《保险兼业代理许可证》
0.60%
T+1
《法人登记证书》、《组织机构代码证》
0.00%
T+1
2.00%
T+7
虚拟
网络虚拟服务 视频/网络小说/在线图书/音乐
《互联网出版许可证》或《网络文化经营许
T+7
虚拟
其他
其他行业
相关资质证照
0.60%
T+7
是 是
是
是
是 是 否
否
是
否
是
是
是
是
不包括证券、基金销售类
是
是
是
是
是
是
是
是
是 是 是 是 是 是
首期对外开放类目 对内类目,即内部提交申请函申请
T+1
实物
其他生活缴费 有线电视缴费
《广播电视节目传送业务经营许可证》
货款支付单模板
货款支付单模板1. 背景货款支付单是指商业交易中,买方支付货款的单据。
买方在购买商品或接受服务后,需要支付相应的货款给卖方。
货款支付单记录了买方支付货款的细节,包括支付金额、支付方式、支付时间等重要信息。
2. 货款支付单结构货款支付单通常包含以下基本信息:- 付款方信息:包括付款方名称、地址、联系方式等;- 收款方信息:包括收款方名称、地址、联系方式等;- 支付金额:标明具体支付金额;- 支付方式:列出具体支付方式,如现金、银行转账、支付宝、微信支付等;- 支付时间:记录支付的具体日期和时间;- 支付单号:唯一标识该笔货款支付的编号;- 备注:可填写一些特殊说明或其他信息。
3. 货款支付单模板示例货款支付单付款方信息- 付款方名称:xxxx公司- 付款方地址:xxxx街道xx号收款方信息- 收款方名称:xxxx商店- 收款方地址:xxxx街道xx号支付金额- 支付金额:xxx元支付方式- 支付方式:现金支付时间- 支付时间:xxxx年xx月xx日 xx时xx分支付单号- 支付单号:xxxxxx-xxxxxxx备注- 备注:无4. 使用方法根据实际情况,填写相应的付款方信息、收款方信息、支付金额、支付方式、支付时间、支付单号和备注等内容。
确保填写准确、清晰,便于双方核对和记录。
5. 注意事项- 请确保货款支付单的准确性和完整性;- 保留好货款支付单的副本以便日后参考;- 如有问题或需要进一步核对,请及时与对方联系。
以上是货款支付单模板的基本内容和使用说明,希望能对您有所帮助。
使用此模板可以更便捷地记录和核对货款支付信息,提高交易的安全性和效率。
如有任何疑问,请随时与我们联系。