微信退款接口

支付开发填坑记之微信支付

二次信任 提交于 2020-03-21 21:56:38
微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付。其中,APP和网站上最常用的就是APP支付和公众号支付。前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付)。 微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付。其中,APP和网站上最常用的就是APP支付和公众号支付。前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付)。 同样的,微信的APP支付和支付宝的APP支付也是很简单: APP支付 商户系统和微信支付系统主要交互说明: 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。 步骤2:商户后台收到用户支付单,调用微信 支付统一 下单接口。参见 【统一下单API】 。 步骤3:统一下单接口返回正常的 prepay_id ,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为 appId , partnerId , prepayId , nonceStr , timeStamp , package 。 注意:package的值格式为Sign=WXPay 步骤4:商户APP调起微信支付。 步骤5:商户后台接收支付通知。 步骤6:商户后台查询支付结果。 这里主要的还是后台干活(获取

调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

家住魔仙堡 提交于 2020-02-03 00:46:08
from: https://www.cnblogs.com/ithome8/p/5189926.html 我总结了一下出现证书无法加载的原因有以下三个 1.证书密码不正确,微信证书密码就是商户号 解决办法:请检查证书密码是不是和商户号一致 2.IIS设置错误,未加载用户配置文件 解决办法:找到网站使用的应用程序池-->右击-->高级设置-->打开如下图-->在加载用户配置文件选择true 3.如果以上两个方案都不能解决问题,就有可能是加载证书时没有给定证书存储标识 解决方法:在加载证书方法时使用以下方法,请注意第三个参数 X509Certificate2 cer = new X509Certificate2(cerPath, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); req.ClientCertificates.Add(cer); 来源: https://www.cnblogs.com/94cool/p/11540408.html

互联网产品接入支付功能如何测试?

ε祈祈猫儿з 提交于 2020-01-24 05:32:30
互联网产品接入支付功能如何测试? 现在有不少 测试 朋友做的项目中,可能也会涉及到支付相关的功能。比如:做商城的,做游戏的以及其他在线交易的网站、APP等。如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话,发货前还有可能被发现。如果是虚拟商品话费、游戏币等就有可能造成损失。   所以,不管是实物也好,虚拟商品也好,涉及到支付功能时,大家在测试的过程中一定要重视,否则,会造成很大损失。之前可能大家也都看到过或者听过一个bug损失4.6亿美金的惨痛教训或者身边也有发生过其他因为支付功能的bug导致直接损失的案例。   给大家举个真实的案例:比如使用支付宝购买虚拟商品,往支付宝跳转时,篡改了小的金额,结果购买虚拟商品成功了。(原本10元的商品,0.01元就搞定了)。多么可怕的一个bug啊,当然这个问题可能对于一个做过支付有过经验的测试朋友来说,可能会想:哎呀,这个问题都发现不了,还做什么测试?是的,问题是很简单,对于一个刚入职场的测试朋友或者没有支付相关经验的测试朋友来说,很有可能会忽略。   那么,问题来了,对于支付模块的相关测试,我们应该如何进行呢?比如,针对游戏来说,使用第三方支付往游戏充值游戏币功能,看起来是不是很简单,大家主要思考下以下内容:   1、支付都是与第三方支付(支付宝、微信、财付通、QQ钱包、 短信 支付等)进行对接,那么

互联网产品接入支付功能如何测试?

谁都会走 提交于 2020-01-22 20:47:59
现在有不少测试朋友做的项目中,可能也会涉及到支付相关的功能。比如:做商城的,做游戏的以及其他在线交易的网站、APP等。如果支付出了问题,或者用户拿少的钱通过篡改请求数据购买大金额的商品,如果是实物的话,发货前还有可能被发现。如果是虚拟商品话费、游戏币等就有可能造成损失。 所以,不管是实物也好,虚拟商品也好,涉及到支付功能时,大家在测试的过程中一定要重视,否则,会造成很大损失。之前可能大家也都看到过或者听过一个bug损失4.6亿美金的惨痛教训或者身边也有发生过其他因为支付功能的bug导致直接损失的案例。 给大家举个真实的案例:比如使用支付宝购买虚拟商品,往支付宝跳转时,篡改了小的金额,结果购买虚拟商品成功了。(原本10元的商品,0.01元就搞定了)。多么可怕的一个bug啊,当然这个问题可能对于一个做过支付有过经验的测试朋友来说,可能会想:哎呀,这个问题都发现不了,还做什么测试?是的,问题是很简单,对于一个刚入职场的测试朋友或者没有支付相关经验的测试朋友来说,很有可能会忽略。 那么,问题来了,对于支付模块的相关测试,我们应该如何进行呢?比如,针对游戏来说,使用第三方支付往游戏充值游戏币功能,看起来是不是很简单,大家主要思考下以下内容: 支付都是与第三方支付(支付宝、微信、财付通、QQ钱包、短信支付等)进行对接,那么,是否了解了第三方接口有哪些?是否都能清楚我们的产品与第三方是如何交互的

浅析微信支付:下载对账单和资金账单

本秂侑毒 提交于 2020-01-18 00:33:19
本文是【浅析微信支付】系列文章的第九篇,主要讲解商户下载对账单接口和资金账单接口的实现和一些注意事项。 浅析微信支付系列已经更新九篇了哟~,没有看过的朋友们可以看一下哦。 浅析微信支付:申请退款、退款回调接口、查询退款 浅析微信支付:查询订单和关闭订单 浅析微信支付:支付结果通知 在商户平台中,商家也可以下载资金对账单,历史的交易清单,具体位置:商户平台 -> 交易中心 -> 账单管理。 如果要查看实时的流水记录,可以在微信APP中搜索小程序 微信支付商户助手 即可查看。 1、下载对账单 以下为微信官方的 下载对账单 文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6 根据接口下载历史的交易账单,数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。 此接口方便商家在自身系统中下载,不依赖于微信商户平台。 1.1. 应用场景 商户可以通过该接口下载历史交易清单。比如掉单、系统错误等导致商户侧和微信侧数据不一致,通过对账单核对后可校正支付状态。 注意: 1、微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致; 2、微信在次日9点启动生成前一天的对账单,建议商户10点后再获取; 3

微信支付退款(PHP后端)

二次信任 提交于 2020-01-07 01:11:52
https://www.cnblogs.com/niuben/p/9890011.html 应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 微信官方退款文档 其实微信退款呢,也就是你没做过,感觉挺难的,其实跟其他接口一样,都是调接口,只是请求的时候调用了证书 获取商户证书 (第3项) 按照一步步流程,很容易就生成证书了,最后放入项目中,供请求的时候使用 微信使用证书demo <?php //向外暴露的微信退款接口 public function refund() { $result = $this->weChatrefund(); return $result; /* * <xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> <appid><![CDATA[wx2421b1c4370ec43b]]></appid> <mch_id><![CDATA[10000100]]></mch_id> <nonce_str><![CDATA[NfsMFbUFpdbEhPXP]]></nonce_str> <sign><

互联网产品接入支付功能如何测试?__(支付功能网上搜集资料)

左心房为你撑大大i 提交于 2019-12-28 00:37:20
那么,问题来了,对于支付模块的相关测试,我们应该如何进行呢?比如,针对游戏来说,使用第三方支付往游戏充值游戏币功能,看起来是不是很简单,大家主要思考下以下内容:   1、支付都是与第三方支付(支付宝、微信、财付通、QQ钱包、 短信 支付等)进行对接,那么,是否了解了第三方接口有哪些?是否都能清楚我们的产品与第三方是如何交互的?是否能画出流程图?   2、异常场景有哪些?   3、有哪些风险,如何规避?   第三方支付的流程,与商户的对接方式基本相似,大同小异。(题外推荐:如下流程图使用的chrome插件:Gliffy,个人感觉比较好用。)   支付流程:   退款流程:   查询流程:   先看下流程图,是否对流程图有些了解,不仅仅是做支付功能相关测试才去搞清楚其中的流程,做其他的测试一样也要搞清楚流程,只有搞清楚流程,才能更好的评估其中的风险,才能有利于 测试用例 的设计。当然流程图中只是提到了商户与第三方是如何交互的,同样商户内部处理的流程也要有所了解及数据怎么存储的,涉及到哪些DB也要清楚。    流程清楚之后,我们再来看看其中会涉及到哪些接口?这个支付流程图里面就涉及到了第三方支付接口:   · 下单接口:商户提交下单请求到第三方支付接口,第三方支付收单成功后返回下单成功结果给到商户系统。(下单接口的最终处理结果分为下单成功和下单失败

微信退款

被刻印的时光 ゝ 提交于 2019-12-11 01:35:11
首先在controller里: public String refund( ) throws Exception { Map<String, String> data = new HashMap<String, String>(); System.err.println("进入微信退款申请"); Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");//可以方便地修改日期格式 String hehe = dateFormat.format(now); String out_refund_no = hehe + "wxrefund"; String transaction_id = "微信支付时生成的流水号"; String total_fee = "微信支付时支付的钱(单位为分)"; data.put("out_refund_no", out_refund_no); data.put("transaction_id", transaction_id); data.put("total_fee", total_fee); data.put("refund_fee", total_fee); String result = wxPayService

工程总结 --ms

时光毁灭记忆、已成空白 提交于 2019-12-03 09:02:09
ms项目 #1.简介 该app是一个问答交流平台,连接专业人士与普通人士。主要是普通人士(花钱)向专业人士提问,旁人还可以花钱偷听专业人士对该问题的回答。 #2.该项目主要构成模块/对应操作 1.普通用户 偷听回答问题、向老师提问、评论已回答问题、追问、收藏视频 2.老师 回答问题、休息、有无参加活动 3.视频 被点赞、被评论、被收藏、上架/下架 4.问题 被偷听、免费听、提问付款、提问审核、上架/下架 5.基础信息 地点、敏感词汇、老师类型、广告 6.系统信息 系统信息设置、管理员信息、意见返回、系统收支管理、系统结算管理 #3.后端框架 spring+springMVC+mybatis+redis+mysql+apache+tomcat 实现spring读写分离、mysql主从复制、redis缓存、apache+tomcat集群 #4.cms框架 spring+springMVC+mybatis+redis+mysql+tomcat+jQuery+jqgrid+bootstrap #5.数据库部分--将来分库/分表 基础表 地点信息、敏感词汇、导师类别、广告 系统相关 系统信息、系统用户信息、短信息、意见反馈、系统收入、系统支出、系统结算、系统结算系数 用户相关 用户表、用户提问、用户偷听、用户收入、用户支出、用户收藏、用户评价、用户分享、用户点赞、用户第三方信息 导师相关

springboot接入支付宝app支付

流过昼夜 提交于 2019-11-28 10:09:28
一:集成步骤 1.引入依赖: <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>3.7.110.ALL</version> </dependency> 2.支付宝app支付参数配置: #服务器域名地址 server.service-domain = http://127.0.0.1:8080 ##支付宝支付 pay.alipay.gatewayUrl="支付宝gatewayUrl" pay.alipay.appid="商户应用id" pay.alipay.app-private-key="应用RSA私钥,用于对商户请求报文加签" pay.alipay.alipay-public-key="支付宝RSA公钥,用于验签支付宝应答" #支付成功的异步通知回调接口 pay.alipay.notify-url=${server.service-domain}/api/alipay/notify 3.定义配置类: package com.annaru.upms.payment.config; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient;