北京市第一中级人民法院
民 事 判 决 书
（2017）京01民终364号
上诉人（原审被告）：北京中微信通网络科技有限公司，住所地北京市昌平区东小口镇中东路5号院5号3层306。
法定�表人：李永良，总经理。
委托诉讼代理人：赵江涛，北京中微信通网络科技有限公司职员。
被上诉人（原审原告）：李淑萍，女，1981年11月1日出生。
上诉人北京中微信通网络科技有限公司（以下简称中微信通公司）因与被上诉人李淑萍合同纠纷一案，不服北京市昌平区人民法院（2016）京0114民初14887号民事判决，向本院提起上诉。本院于2017年1月4日立案后，依法组成合议庭，开庭进行了审理。上诉人中微信通公司法定代表人李永良、委托诉讼代理人赵江涛、被上诉人李淑萍到庭参加诉讼，本案现已审理终结。
中微信通公司上诉请求：撤销一审判决，改判驳回李淑萍一审的全部诉讼请求；本案一、二审诉讼费由李淑萍承担。事实和理由：1.一审法院未对合同约定详查，未对中微信通公司已实际履行完毕项目这一事实进行认定，在事实不清的情况下确认合同已解除，属于事实不清、法律适用错误。首先，在中微信通公司完成合同约定的情况下，因李淑萍原因导致交付逾期。第二，李淑萍违约在先，其没有按约定付款，没有在合同约定的时间内提供微信服务号和微信支付账号，但中微信通公司没有停止开发项目，李淑萍未能在合同约定的时间内提供软件必须的微信服务号，直至2016年10月13日才将自己公司的服务号提供给中微信通公司，中微信通公司第二天就完成了开发系统与李淑萍服务号的对接绑定，并完成上线支付测试运行，李淑萍表示没有异议。双方的争议只是在付款金额及条件上，并没有合同目的无法实现的情况。2.一审法院认定中微信通公司承担违约责任是错误的。2016年9月20日后，李淑萍与中微信通公司有新的约定，即后台测试没有问题后付二期款，部署到服务器对接、测试没有�题后付三期款。因李淑萍的微信服务号没有申请下来，未及时提供，导致项目收尾逾期，并不是中微信通公司违约。
李淑萍辩称，一审法院认定事实清楚，适用法律正确，审理程序不违反法律规定，中微信通公司的上诉理由不符合客观事实，亦无法律依据，不能成立。请法院驳回中微信通公司的上诉请求，维持一审判决。具体事实和理由是：1.中微信通公司没有向李淑萍提供合同约定的微信错题银行系统。合同约定开发的是微信错题银行系统，中微信通公司提供的仅是一个链接到第三方服务器的外挂程序，不能通过微信服务器运行系统，这会对公众账号的安全造成隐患。微信公众平台服务器一直未开启。2.合同并未约定李淑萍应该提前申请并提供微信公众账号和域名，微信公众号和域名与程序开发没有任何关系，双方约定的项目开发，只是限于开发出具有合同附件规定的所有功能的系统。3.在履行合同义务方面，合同中明确系统应具有反馈功能，该功能是核心功能，属于前端的内容，缺少该功能前端不可能通过验收。而中微信通公司在11月3日才完成该功能的开发，所以李淑萍才一直未付款。4.与中微信通公司的通话中李淑萍确实说了让对方继续做，但是不代表变更原合同，也不是原合同的补充。原合同应继续有效。对方设计的系统在一审开庭前相关功能仍未完成。
李淑萍向一审法院起诉请求：1.终止与中微信通公司关于错题银行系统开发合同；2.判决中微信通公司退还李淑萍已支付的服务费用12400元；3.判决中微信通公司因无法提供合同所规定的服务，对项目下一步进展造成的损失5万元；4.判决中微信通公司因项目延期，支付违约金合计11100元；5.判决中微信通公司履行合同第四款第七条规定，并提供源代�。
一审法院认定事实：2016年6月27日，李淑萍（甲方）与中微信通公司（乙方）签订《企业/个人微信网站业务服务协议》（以下简称《服务协议》），约定：一.服务产品：微信错题银行系统开发，服务内容见附件；二.合同有效期：自2016年6月27日起至2016年8月11日止；三.付款结算方式：1.支付方式：银行转账（转账记录为凭证），现金结算（收据为凭证）；2.合同金额：人民币31000元整；3.本次协议签订后3日内甲方将上述款项以有效方式汇至乙方指定公司账户。乙方收到款项后给甲方开具相应收据。费用结算分为三期：1.签订合同后支付项目40％的定金，共计12
400元，此阶段乙方10工作日完成网站的原型图效果图设计交付给甲方验收；2.前端完成，并且甲方验收完成后，甲方支付乙方项目30％的费用共计9300元，此阶段乙方约定15工作日完成网站的前端；3.后台完成，并且甲方验收后，甲方支付乙方项目30％的费用，共计9300元，此阶段乙方20工作日完成网站的后台，并提供服务器做上线测试；4.此项目完成后，乙方完整交付网站源代码及所有开发文档给甲方，并为甲方做一年的系统漏洞维护；四.甲、乙双方的责、权、利：……7.项目版权属于甲方，乙方不得擅自将甲方的项目信息透露给第三方或出让。在合同期限内乙方可在网站上加入技术支持，如果甲方系统出现问题24小时内乙方未响应甲方有权取消；8.项目如延期每天扣除项目的1％……。在合同附件中，双方对于项目的具体要求进行了约定。
2016年6月29日，李淑萍支付中微信通公司此项目的40％费用，即12400元。
后，中微信通公司就项目进行开发，但在合同有效期内，未能完其应履行的义务；合同有效期满后，双方就合同的履行进行了多次沟通。截至该院开庭的2016年11月1日，中微信通公司仍未能就项目取得李淑萍的验收。
2016年11月1日，李淑萍在庭审中明确提出第一项诉讼请求为解除合同。
一审法院认为，李淑萍与中微信通公司签订的《服务协议》系双方真实意思表示，且未违法法律及行政法规的强制性规定，应予认定合法有效，双方均应按照协议约定履行各自的义务。本案争议的焦点为合同应否解除及违约责任的承担：
一、关于合同应否解除：在合同有效期内，中微信通公司未能按协议约定取得李淑萍的分步验收系违约，在合同有效期满后双方虽多次接洽，但中微信通公司仍未能就项目取得李淑萍的验收，结合该项目的具体情况，中微信通公司逾期履行致使李淑萍签订合同的目的无法实现，故对于李淑萍要求解除合同的诉讼请求，该院予以支持；2016年11月1日，李淑萍�庭审中明确提出解除合同，此解除行为有效，该院确认双方的合同于2016年11月1日解除；
二、关于违约责任的承担：合同解除后，中微信通公司应当将收取的款项12400元予以返还，并支付李淑萍违约金，虽然双方在合同有限期满后一直就具体问题进行接洽，但李淑萍并未表示放弃要求中微信通公司承担违约责任，故违约金应按照合同约定计算，自有效期满的2016年8月12日起计算至该院确认的合同解除日止，按约定的日1％，以合同金额31000元为基数计算，李淑萍要求的11100元未超过该范围，该院予以支持；李淑萍要求对项目下一步进展造成的损失50
000元没有依据，该院不予支持；在协议解除后，李淑萍要求提供源代码，没有依据，该院不予支持。判决：1.确认李淑萍解除合同的行为有效，李淑萍与中微信通公司签订的《服务协议》已于2016年11月1日�除；2.在判决生效之日起七日内，中微信通公司返还李淑萍12400元；3.在判决生效之日起七日内，中微信通公司支付李淑萍违约金11100元；4.驳回李淑萍的其他诉讼请求。
本院二审期间，当事人围绕上诉请求提交了新的证据。中微信通公司提交了以下证据：证据1.短信记录9页。证明中微信通公司已经按时完成项目。证明：（第八页）2016年11月14日李淑萍称“之前测试时也没有绑定域名所有功能不是都可以用吗”代表其已经测试和验收了系统。（第一页）2016年11月10日、（第五页）2016年11月14日李淑萍还向中微信通公司所要系统源代码，如果系统不符合合同约定，那李淑萍没必要向中微信通公司索要源代码。证据2.李淑萍的微信公众号的认证通过时间和功能介绍。证明李淑萍的微信公众号是2016年10月12日完成认证的。证据3.李淑萍公司的企业信息。证明经过认证�服务号必须使用企业资质，而李淑萍用来认证公众号的公司是在2016年9月6日才成立的。证据4.微信公众号相关说明，从微信公众号官方网址下载打印。证明经过认证的服务号必须具有企业主体。从微信公众号认证申请条件说明可知，只有认证后的公众号才有接口权限，否则不能开发。从“微信支付开发的配置”说明可以看出，必须填写支付授权域名，把API安全证书、密钥下载后安装到开发的系统代码才能实现支付功能，否则不能完成全部系统开发。从“公众号设置”的说明来看，功能设置3个地方都必须填写开发系统的域名网址的域名，同时把安全验证文件MP下载安装到开发项目系统服务器，才能实现功能完整、确保安全。证据5.中微信通公司与李淑萍（网名：山丁子）建立的QQ项目组沟通记录（部分）。证明李淑萍在合同有效期内没有提供相关账号。证据6.催款通知。证明中微信通公司向李淑萍催要款项。证据7.电话沟通录音记录。证明：前端和原型已经完成，但李淑萍拒不付款。过了合同期双方再次对继续开发进行了约定。证据8.承诺书。证明中微信通公司的产品是没有问题的。证据9.中微信通公司资质证明，证明中微信通公司具有微信官方开发者认证资质及微信支付服务商微信资质。证据10.李淑萍与中微信通公司工作人员包×的微信沟通记录，证明李淑萍让中微信通公司开发技术人员为其部署系统，说明李淑萍已经验收系统了。
李淑萍提交了以下证据：证据1.错题银行公众号截屏。证明开发内容与合同不符，截屏中显示服务器配置未启用。证据2.腾讯客服技术开发文档说明书。证明：未启用服务器会给平台带来安全风险。从获取微信服务器IP地址的说明可知，因为微信服务器没有IP地址可能会给公众号造成安全隐患�也说明URLToken是微信服务器的基本配置，而中微信通公司一直未开启相关配置，所以中微信通公司提交的产品与合同要求不符。证据3.腾讯客服公众号设置问题截屏，证明没有域名部分仅会弹出安全提示，不会影响公众号相关系统的正常使用。证据4.李淑萍2016年9月20日给赵江涛发的邮件，证明2016年7月5日李淑萍已经与中微信通公司的技术人员确认过最终的原型。当时确认的原型包括反馈功能。中微信通公司一直未在系统中添加反馈功能，开发系统不符合合同约定。
本院组织当事人进行了证据交换和质证，对于中微信通公司提交的证据，李淑萍发表如下质证意见：对证据1真实性认可，是李淑萍与李永良的短信记录，但对证明目的不认可。李淑萍只是说中微信通公司做的系统能用，但不符合合同约定。且李淑萍与中微信通公司沟通时在一审诉讼之后，向其索要源代码是因为一审诉讼之后中微信通公司在系统里添加了反馈功能。9月末去中微信通公司测试只是看系统的功能，当时功能还不完善，但是可以用，李淑萍一直没有确认所有功能都是完善的。对证据2、3的真实性认可，但对两份证据的证明目的不认可。虽然李淑萍的公司确实是在2016年10月12日才完成认证，但是不影响中微信通公司按照合同开发系统。合同中没有约定需要李淑萍提供认证的平台服务号，中微信通公司对此知情，但从未说过没有公众号就不能开发。对证据4的真实性认可，对于只有企业才能申请公众服务号的事实及只有认证后公众号才有接口权限的事实均没有异议，但这些要求对于项目开发均无影响，中微信通公司在录音中也提到，李淑萍提供公众号后就会将系统绑定在公众号上，从未说过没有公众号系统就开发不了了。证据4也可以证明中微信通公司没有按照李淑萍提出的要求开启服务器。对证据5的真实性认可，确实是李淑萍与中微信通公司的沟通记录。中微信通公司向李淑萍索要过公众号，但是功能开发不需要公众号。没有公众号也可以进行测试，中微信通公司一直在拖延测试时间。对证据6真实性认可，李淑萍10月17日收到中微信通公司催款通知，因为系统功能一直没有开发完，李淑萍有正当理由拒绝付款。对证据7真实性认可，是李淑萍与赵江涛的对话。双方所说的开发系统有好几个版本，8月31日前中微信通公司没有按照李淑萍最终确定的7月5日版本进行开发，该版本是李淑萍9月20日才将最终确定并通过邮件发给赵江涛，也就是说中微信通公司的技术人员和UI开发人员之间的工作协调没有做好，所以录音中的对话不能代表李淑萍认可系统经过验收，李淑萍说的只是确认7月5日的原型。过了合同期双方确实再次进行协商开发，协商的目的只是确认中微信通公司是否愿意继续开发，如果中微信通公司能够在合理期间内开发完成并经验收合格，李淑萍可以按照合同付款，但是到一审诉讼，中微信通公司也未开发出完善的系统。对证据8的真实性认可，但该承诺书写于一审判决之后，中微信通公司不执行一审判决，李淑萍写陈诺书是向让双方损失降到最低，但双方没有就此达成协议，承诺书的内容不能证明中微信通公司的产品符合合同要求。对证据9真实性认可，但不认可关联性，中微信通公司是否有资质与系统开发无关，有资质也不能证明中微信通公司能够完成合同约定的开发任务，事实上中微信通公司并未完成开发任务。对证据10的真实性认可，但对证明目的不认可，李淑萍之所以让中微信通公司的工作人员为其部署系统，是基于中微信通公司向李淑萍提供了一份证明产品功能和业务逻辑都没有问题的测试报告，该报告一审已经提交，但后来已经证明系统仍功能不全。中微信通公司对李淑萍提交的证据发表如下质证意见：对证据1的真实性认可，但服务器配置情况跟中微信通公司是否完成系统开发没有关系。对证据2真实性认可，但不认可证明目的，URL是工信部提供的网址，Token是一个令牌，由中微信通公司开发的系统生成，URL需要李淑萍提供，如果提供不了，中微信通公司无法提供Token。对证据3真实性认可，李淑萍提供的证据只能证明在不填写业务域名的情况下，可以实现微信支付功能，但会跳出安全提示，而中微信通公司要说明的是开发过程3处必须要填写域名。对证据4的真实性认可，但不认可证明目的。合同中约定的系统确实需要反馈功能，但李淑萍违约在先，所以中微信通公司没有添加该功能。本院经审查认为，双方均对对方提�证据的真实性予以确认，本院亦不持异议。对于中微信通公司提交的证据，本院经审查认为：证据4.微信公众服务号说明，从其内容上看，是对设立公众号、公众号接口权限及使用公众平台的微信支付等功能需要进行相应设置的说明，而本案双方当事人均确认开发原型图、设计前端不需要公众号、域名，争议焦点在于涉案系统的前端开发是否完成，故该证据与本案争议焦点缺乏关联性，本院不予确认。也基于此，对证据2、3亦不予确认。证据6为中微信通公司单方出具，其是否催款与诉争焦点无关，本院不予确认。证据8为李淑萍单方出具，并非与中微信通公司形成的合意，所表述的内容亦不能证明中微信通公司所主张的证明目的，本院不予确认。证据9与本案争议焦点缺乏关联，本院不予确认。对于李淑萍提交的证据，本院经审查认为：证据1不能全面体现中微信通公司开发的系统是否与合同相符，故与本案争议焦点缺乏关联性，本院不予采信。证据2、3仅涉及微信公众号使用过程中，设置业务域名的相关问题，上述证据反映的均是系统对接后使用公众平台、公众号过程中的问题，基于对中微信通公司证据4的认定意见，本院对证据2、3亦不确认。对于双方当事人提交的其他证据的证明力，即中微信通公司提交的证据1、5、7、10、李淑萍提交的证据4，本院将在确认证据真实性基础上综合案情进行认定。
本院二审期间依法补充查明以下事实：
2016年8月3日，中微信通公司与李淑萍就涉案系统开发进行沟通，中微信通公司称：“没有问题的话把你的服务号提供以下”。8月6日，中微信通公司称：“服务号请尽快提供，我们要对接测试用”并要求李淑萍付款，李淑萍称：“我也没说不给呀。”8月22日，中微信通公司要�李淑萍提供微信公众号平台账号、密码、微信支付账号信息、短信包账号信息，李淑萍称：“把完整的产品链接发给我，如果只是后台就没必要看了”，中微信通公司称“你的微信公众平台账号我们都没有怎么对接”……“你这个项目我们已经做完了”，李淑萍称：“我还没看到呢”。
2016年8月31日，赵江涛与李淑萍通话，赵江涛称：“就是之前我们做的前端和原型你已经都确认了是吧”，李淑萍称：“对最终的那个我已经确认了，对”……“但是是哪个你找你们的人去问去”，赵江涛称“我们只有一版，那我就认为是那一版”，李淑萍称“那我不管，你给我要那个最终的”赵江涛称“那你得核对呀，确认呀，哪有BUG，给你修复就完了，就这么简单”，李淑萍称：“这可不是BUG，这是逻辑问题”……“我合同上都有呀，都有要求呀，评分的规则我都有呀”。
2016年9月20日，中微信通公司工作人员与李淑萍电话沟通，中微信通公司工作人员称：“你抽时间来公司，来公司你可以不付款，我们现按照你的要求，花半天的时间把这个功能给你调完之后，你确认没有问题之后，你付我们前端费用，然后前端费用付完之后，你在线上测试，我们这边把这个东西，你给我服务号，我们然后给部属过去，然后绑定上系统，你给我们付尾款”，李淑萍称：“那为什么你们技术就不能出来呢”，中微信通公司工作人员表示技术不能出去，李淑萍称：“行，那就算是你们的技术不能出来，你们有产品经理吧”。当日，李淑萍向中微信通公司发送邮件，要求按照2016年7月5日全部效果图开发系统。
2016年10月15日，李淑萍与中微信通公司工作人员通过微信进行沟通，李淑萍称：“那你现在就弄吧，我都跟你说了好几天了”……“那你明天就加班，我付完就立马布置”……“你们都等我一个个问题找到才解决……根本就不测试”，中微信通公司工作人员称先给钱再布置。
2016年11月10日，11月14日，李淑萍与中微信通公司通过短信进行沟通，李淑萍称“你是选择给我代码，还是给我钱，这个结果是你自己的选择”……“我已经说了，只要代码，不要钱”……“之前测试时也没绑定域名所有功能不是都可以用吗，你们先布置就是了，我弄好后再绑定域名”。
另查明，双方《服务协议》附件中，对开发项目通过表格方式予以明确，载明项目分以下部分：微信前端、微信后端、测试、部署，其中微信前端包含登陆、身份认证、功能等三项，在“功能”一栏，又划分有“老师端”、“学生”、“积分”子项目，“老师端”、“学生”项目中，均包含“反馈”项目。
诉讼中，双方当事人共同确认合同中所约定的验收，第一步是验收原型及效果图；第二步验收前端，验收合格付二期款；第三步验收后台，也就是合同中约定的微信后端，验收微信后端时要做测试，此时需要李淑萍提供公众号、微信支付账号和域名，后台验收合格付第三期款；第四步为交付源代码。在开发原型图、效果图和设计前端期间，不需要提供公众号等。对于验收的形式，没有固定形式，口头或在微信项目组、电话都可以。中微信通公司称，截至2016年11月1日一审庭审，其所开发的涉案系统确实没有“反馈”功能。
诉讼中，双方确认原型图、效果图即UI已于2016年7月25日完成验收。双方当事人对于前端验收存在争议，中微信通公司认为项目已于7月25日完成验收，有8月31日的电话为证。李淑萍称，7月25日仅完成了UI认证。对此，在一审提交的2016年7月29日中�信通公司与李淑萍QQ项目组沟通记录中，李淑萍称“进不进行你们自己看着办，UI我已经确定了”，中微信通公司称其主张7月25日已完整原型图、效果图的验收，最早就是从这份7月29日的记录中体现。
诉讼中，双方确认涉案系统在一审前曾经对接使用过，并于11月26日后不再使用，对此李淑萍称，虽然中微信通公司开发的系统不符合合同约定，但其同意在不向中微信通公司支付后期款的前提下接受这个系统，但中微信通公司不同意，于是将系统撤下。
本院二审期间查明的其他事实与一审法院查明的事实一致。
本院认为，双方所签订的《服务协议》及合同附件是双方真实意思表示，内容未违反国家法律、法规强制性规定，应属有效。通观本案，双方均确认在开发原型图、效果图和设计前端期间，不需要提供公众号，二审争议焦点是中微信通公司为李淑萍开发的系统，是否通过了前端验收。
对此本院认为，中微信通公司未通过前端验收，理由如下：首先，从双方合同约定来看，合同附件已对系统前端进行了约定，完成系统前端开发，应首先使系统具备合同约定的前端的相应功能。合同附件中，已将“反馈”功能作为前端功能明确进行了约定，而中微信通公司截至一审开庭之时亦未能使系统具备该项功能，其主张具备已完成前端开发并通过验收缺乏合同依据。第二，双方均对通过验收的形式没有异议，即李淑萍口头、电话、或在QQ项目组中的对话，如表达明确，均可作为项目前端通过验收的依据，而中微信通公司提交的证据中，均未能反映李淑萍完整明确地表达通过项目前端的验收，反观对项目原型图、效果图即UI的确认，却是清晰而明确的，中微信通公司主张前端已经通过李淑萍验收，缺�证据支持。综上，在系统前端开发未完成之际，李淑萍尚无必要向中微信通公司提供公众号、域名等信息材料，亦无须向中微信通公司支付第二期合同款，故中微信通公司主张因李淑萍未提供公众号等导致中微信通公司未能按期部署，李淑萍违约在先等意见，本院不予支持。
中微信通公司主张，李淑萍已经接受系统，双方已形成新的合意，争议在于李淑萍未付款。对此本院认为，李淑萍为与中微信通公司达成调解而提出在中微信通公司不收取剩余合同款的前提下接受中微信通公司开发的系统，并不代表李淑萍已对中微信通公司开发的系统完成验收，中微信通公司亦未同意李淑萍提出的降价条件，双方并未就李淑萍接受中微信通公司已开发的系统达成新的合意，故中微信通公司该项上诉意见本院不予支持。
关于中微信通公司开发的系统未通过前�验收应承担的法律责任，本院认为，虽双方约定了合同期限，但一审诉讼中，双方均在合同期满后对合同履行进行了多次沟通，故合同约定的有效期已被双方新的合意所覆盖，但对新的履行期限约定不明。《中华人民共和国合同法》第六十二条第一款第（四）项规定，“履行期限不明确的，债务人可以随时履行，债权人也可以随时要求履行，但应当给对方必要的准备时间”，故中微信通公司应在合理期限将符合合同约定的系统开发完毕，而截至11月1日，中微信通公司开发的系统仍缺失前端基本功能、未获得李淑萍的验收，构成违约，李淑萍具有单方解除合同的权利。《中华人民共和国合同法》第九十七条规定，“合同解除后，尚未履行的，终止履行；已经履行的，根据履行情况和合同性质，当事人可以要求恢复原状、采取其他补救措施，并有权要求赔偿损失。”�方在《服务协议》中约定了延期开发的违约责任，赔偿损失的期间应自合同解除之日开始计算，一审法院对损失计算起始时间认定有误，本院予以纠正，综合本案案情，本院酌定中微信通公司应向李淑萍赔偿的全部损失为11100元。
综上所述，中微信通公司的上诉请求不能成立，应予驳回；一审判决认定事实错误的表述，本院予以纠正，但处理结果并无不当，本院予以维持。依照《中华人民共和国民事诉讼法》第一百七十条第一款第一项规定，判决如下：
驳回上诉，维持原判。
二审案件受理费388元，由北京中微信通网络科技有限公司负担。
本判决为终审判决。
审 判 长 黄占山
审 判 员 刘海云
代理审判员
刘婷
二〇一七年三月二十八日
法官 助理 孙 鑫
书 记 员 陈剑书