通过微信二维码收款付款人后,收款方如何获取付款方的微信号?

收款二维码变付款?微信支付宝二维码隐藏的危险
收款二维码变付款?微信支付宝二维码隐藏的危险
现在支付微信二维码已经成为不少年轻用户的首选付款方式,不过一些诈骗份子也从中发现了牟利手段,那就是利用微信的扫一扫功能识别微信智付二维码,进而骗取钱财。微信例子:骗子以“微信当日转账支付金额超限”为由,骗取微信付款的二维码。支付宝:重庆渝北区的艾先生在一家装修设计公司工作,负责公司的淘宝网店。12月16日,有位客户打算在艾先生公司的网店购买七千多元的货物,并希望通过支付宝扫码付款。艾先生将付款码拍照发送给对方后,不仅没收到付款,自己支付宝反而被扣了钱。艾先生把那个照片发给他之后,十秒钟左右短信就收到他的支付宝支出了1000元。发现不对后,艾先生立马拨打了客户的电话,但客户却称,手机刚刚借给别人用了一下,艾先生所说的情况并不知情,艾先生赶紧报了警。民警解释说,因为二维码上面还有个条形码,如果个人支付宝扫描的话,自己就是收款方,但是如果是以商家的形式扫描条形码,自己就是付款方。支付宝微信付款码原本是为了让支付更便捷,当人们买单时,只要在支付宝微信钱包中点击“付款”,就会出现一个条形码+一个二维码,商家只要扫描二维码,就可以完成快捷支付。它是每分钟自动更新,一分钟更新完失效。你把这个二维码给别人,别人一扫描,自然钱也跑到别人兜里去了。在此我们也提醒大家,一定要注意保管好自己的支付宝微信信息,避免因泄露导致财产损失。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
百家号 最近更新:
简介: 关注科技与创新前沿的综合资讯自媒体
作者最新文章教你如何设置微信收款二维码?
我的图书馆
教你如何设置微信收款二维码?
微信6.2以后版本上线了一个新功能,即可以自行设置制作用于收款的二维码,如何制作微信二维码收款,一起来学习操作一下吧!1.确认你的软件是否为6.2以上版本(以下版本无此功能),如果不是,请依次操作:“我”-“设置”-“关于微信”-“检查新版本”,如果不是会提醒升级。2.微信主界面点右上角'+'号.在点'收付款'.3.我们选择'收'4.点'设置金额'5.输入所要收款金额.点'添加收款说明'6.填写收款说明文字.7.点'确定'.8.截图这个付款图面保存到手机.9.把这个收款码发给微信好友,对方打开图片识别图中二维码就可以付款.收到款后在微信上有一条消息.如下图.10我们打开这条消息就可以看到收到款了.简单吧.我是微商传媒吴建平,微营销导师,更多文章请加微信公众号wjp98989或者搜索吴建平
馆藏&21820
TA的最新馆藏[转]&[转]&[转]&
喜欢该文的人也喜欢登录后你可以:
首次使用?
每日更新实用有用的科技IT资讯,作品出自微信公众号:易企传
视频地址复制
Flash地址复制
Html地址复制
离线看更方便
用或其他应用扫描二维码
微信收款和支付宝收款二维码如何合并为一个?
广播电视节目制作经营许可证:(沪)字第1248号
| 网络文化经营许可证:沪网文[6号 | 信息网络传播视听节目许可证:0910417 | 互联网ICP备案:沪ICP备号-3 沪ICP证:沪B2- | 违法不良信息举报邮箱: | 违法不良信息举报电话:转3深圳市优锐宜网络科技有限公司
服务热线:
销售电话:
联系地址:深圳市龙华新区民治街道绿景公馆1866北区
当前位置是:
怎么把微信收款二维码和支付宝收款二维码两个二维码合二为一
发布时间:&&来源:微信会员卡&&查看次数:128 views
做为商家的销售人员,经常在收款的过程中,要问客户是使用微信支付?还是使用支付宝支付?这样是不是显得有些麻烦?如果有方法能够把二个二维码合二为一,是不是省事很多呢?今天就给大家介绍一款免费会员营销系统,通过这个系统轻松实现微信支付、支付宝支付并且支持信用卡付款。
首先开通软件账户
联系我们的客服人员,提供你商家名称/店铺名称、联系人和手机号,就可以快速开通会员营销系统账户,开通后直接通过手机登录软件。
然后实名认证
登录软件后,软件中显示未认证,因为没有绑定你自己的银行卡号,暂不能收款,需要你点认证,根据提示填写相关资料,绑定你的银行卡,等待审核。
最后开始收款和营销
软件中审核一般不会超过2个工作日,就会审核通过,我时我们点击上面的收款,就会弹出扫码支付,这个码就是我们的收款码了,可以保存后自行打印张贴。这个扫描支付的码可以微信扫描,也可以用支付宝扫描,顾客扫描后,自己输入对应金额支付,支付成功后,下面还会提示:您还有一账户会员卡尚未领取,我们点击免费领卡,就会注册成为会员,这张会员卡自动保存到微信的卡包中。这就是我们平时所说的自助买单,消费即会员。
有了会员,就可以进行会员制营销,软件内置有新人礼、充值返额、消费返红包、满减、随机减、消费积分抵现、消费送优惠券等等多种会员营销工具,这些都是进行商家进行会员制营销的利器,了解更多会员营销内容,请继续关注:
Copyright (C)
深圳市优锐宜网络科技有限公司 All rights reserved. 版权所有
联系电话: 联系QQ:
锐宜软件官网
工作日:9:00-22:00
周 六:9:00-22:00公众号支付是手机端的微信公众号H5页面支付,这种支付方式必须是在微信内置浏览器发起。
扫码支付分为模式一和模式二,模式一主要为线下服务,该模式是先扫码,再生成订单,商户先为自己的商品生成二维码连接,然后用户扫码之后决定是否购买,二维码无过期时间,比如自动售卖机大多采用这种模式;模式二主要为线上电商服务,用户选择商品后生成订单,根据订单生成二维码,然后支付,该二维码为临时二维码。
一、授权目录
官方文档说必须是精确目录,其实是二级或三级目录就可以了,太精确的可能还会出现不识别的情况。如果是扫码支付模式一还需要设置扫码支付回调URL
二.统一下单
注意传入参数不要为null,尽量不要是空字符串,如果在没有抛出Exception的情况下支付失败,十有八九是参数导致的签名有问题,微信支付的签名规定的特别严格,必须按照微信给的规则来,建议第一次先用demo提供的签名方法,以后可以再修改。这里的appid就是支付所在的公众号的appid,openId是用户对应当前公众号的openId。
1、扫码支付模式二
扫码支付比较简单,可以直接通过url发起,传入统一下单参数,生成扫码支付的url。扫码支付的trade_type为NATIVE。
public void getCodeUrl(@PathVariable(value=&tradeNo&)String tradeNo, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//根据订单号获取订单详情
OrderProduceBean order = reservationCarService.getTradebyNo(tradeNo);
// 附加数据 原样返回
String attach = &attach&;
// 总金额以分为单位,不带小数点
String totalFee = TenpayUtil.getMoney(order.getTotalFee().toString());
// 订单生成的机器 IP
String spbill_create_ip = IpUtil.getIpAddr(request);
// 这里notify_url是 支付完成后微信发给该链接信息,可以判断会员是否支付成功,改变订单状态等。
String notify_url = TenPayConfig.notifyU
String trade_type = &NATIVE&;
String mch_id = TenPayConfig.
// 随机字符串
String nonce_str = TenpayUtil.getNonceStr();
// 商品描述根据情况修改
String body = order.getBody();
// 商户订单号
String out_trade_no = order.getOutTradeNo();
SortedMap&String, String& packageParams = new TreeMap&String, String&();
packageParams.put(&appid&, TenPayConfig.appid);
packageParams.put(&mch_id&, mch_id);
packageParams.put(&nonce_str&, nonce_str);
packageParams.put(&body&, body);
packageParams.put(&attach&, attach);
packageParams.put(&out_trade_no&, out_trade_no);
packageParams.put(&total_fee&, totalFee);
packageParams.put(&spbill_create_ip&, spbill_create_ip);
packageParams.put(&notify_url&, notify_url);
packageParams.put(&trade_type&, trade_type);
RequestHandler reqHandler = new RequestHandler(null, null);
reqHandler.init(TenPayConfig.appid, TenPayConfig.appsecret,
TenPayConfig.partnerkey);
String sign = reqHandler.createSign(packageParams);
String xml = &&xml&& + &&appid&& + TenPayConfig.appid + &&/appid&&
+ &&mch_id&& + mch_id + &&/mch_id&& + &&nonce_str&& + nonce_str
+ &&/nonce_str&& + &&sign&& + sign + &&/sign&&
+ &&body&&![CDATA[& + body + &]]&&/body&& + &&out_trade_no&&
+ out_trade_no + &&/out_trade_no&& + &&attach&& + attach
+ &&/attach&& + &&total_fee&& + totalFee + &&/total_fee&&
+ &&spbill_create_ip&& + spbill_create_ip
+ &&/spbill_create_ip&& + &&notify_url&& + notify_url
+ &&/notify_url&& + &&trade_type&& + trade_type
+ &&/trade_type&& + &&/xml&&;
System.out.println(xml);
String code_url = &&;
String createOrderURL = &https://api.mch./pay/unifiedorder&;
code_url = new TenPayCore().getCodeUrl(createOrderURL, xml);//调用统一下单接口
if (code_url == null || code_url.equalsIgnoreCase(&&)) {
logger.debug(&****************************trade has closed or no this trade in tencentPay&);
response.sendError(404);
GenerateQrCodeUtil.encodeQrcode(code_url, response);
2.公众号支付
公众号支付首先通过H5调起支付api,微信生成订单,然后开发者获取预支付id,最后由用户确认支付。
①H5调起JSAPI。
调起有两种方式,一种是WeixinJSBridge.invoke(),另一种是最新的微信JSAPI,两种方式均可,官方文档用的第一种,使用第一种方式首先要引入http://res./open/js/jweixin-1.0.0.js。
function toPay(){
url : URL,
type : &GET&,
dataType : 'json',
success : function(data) {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
&appId& : data.appId, //公众号名称,由商户传入
&timeStamp& : data.timeStamp, //时间戳,自1970年以来的秒数
&nonceStr& : data.nonceStr, //随机串
&package& : data.package,
&signType& : data.signType, //微信签名方式:
&paySign& : data.paySign
//微信签名
}, function(res) {
if (res.err_msg == &get_brand_wcpay_request:ok&) {
} // 使用以上方式判断前端返回:res.err_msg将在用户支付成功后返回
ok,但并不保证它绝对可靠。
//res.err_
②获取预支付id
这个api和扫码支付的api差不多,就是trade为JSAPI不一样。
public void
TencentPayController(@RequestParam(&orderno&)String orderno,HttpServletRequest request,
HttpServletResponse response) throws IOException {
//根据订单号查询订单
OrderProduceBean order=reservationCarService.getTradebyNo(orderno);
String appid = TenPayConfig.
String openId =order.getOpenId();
String orderId = order.getOutTradeNo();
// 附加数据 原样返回
String attach = &attach&;
// 总金额以分为单位,不带小数点
String totalFee = TenpayUtil.getMoney(order.getTotalFee().toString());
// 订单生成的机器 IP
String spbill_create_ip = IpUtil.getIpAddr(request);;
// 这里notify_url是 支付完成后微信发给该链接信息,可以判断会员是否支付成功,改变订单状态等。
String notify_url = TenPayConfig.notifyU
String trade_type = &JSAPI&;
// ---必须参数
String mch_id = TenPayConfig.
// 随机字符串
String nonce_str = TenpayUtil.getNonceStr();
// 商品描述根据情况修改
String body = order.getBody();
// 商户订单号
String out_trade_no = orderId;
SortedMap&String, String& packageParams = new TreeMap&String, String&();
packageParams.put(&appid&, appid);
packageParams.put(&mch_id&, mch_id);
packageParams.put(&nonce_str&, nonce_str);
packageParams.put(&body&, body);
packageParams.put(&attach&, attach);
packageParams.put(&out_trade_no&, out_trade_no);
packageParams.put(&total_fee&, totalFee);
packageParams.put(&spbill_create_ip&, spbill_create_ip);
packageParams.put(&notify_url&, notify_url);
packageParams.put(&trade_type&, trade_type);
packageParams.put(&openid&, openId);
RequestHandler reqHandler = new RequestHandler(null, null);
reqHandler.init(appid, TenPayConfig.appsecret,TenPayConfig.partnerkey);
String sign = reqHandler.createSign(packageParams);
String xml = &&xml&& + &&appid&& + appid + &&/appid&& + &&mch_id&&
+ mch_id + &&/mch_id&& + &&nonce_str&& + nonce_str
+ &&/nonce_str&& + &&sign&& + sign + &&/sign&&
+ &&body&&![CDATA[& + body + &]]&&/body&&
+ &&out_trade_no&& + out_trade_no
+ &&/out_trade_no&& + &&attach&& + attach + &&/attach&&
+ &&total_fee&& + totalFee + &&/total_fee&&
+ &&spbill_create_ip&& + spbill_create_ip
+ &&/spbill_create_ip&& + &&notify_url&& + notify_url
+ &&/notify_url&& + &&trade_type&& + trade_type
+ &&/trade_type&& + &&openid&& + openId + &&/openid&&
+ &&/xml&&;
String prepay_id = &&;
String createOrderURL = &https://api.mch./pay/unifiedorder&;
prepay_id = new TenPayCore().getPayNo(createOrderURL, xml);
logger.debug(&********************************************&);
logger.debug(&prepay_id :& + prepay_id);
//获取prepay_id后,拼接最后请求支付所需要的package
SortedMap&String, String& finalpackage = new TreeMap&String, String&();
String timestamp = Sha1Util.getTimeStamp();
String packages = &prepay_id=&+prepay_
finalpackage.put(&appId&, appid);
finalpackage.put(&timeStamp&, timestamp);
finalpackage.put(&nonceStr&, nonce_str);
finalpackage.put(&package&, packages);
finalpackage.put(&signType&, &MD5&);
String finalsign = reqHandler.createSign(finalpackage);
finalpackage.put(&paySign&, finalsign);
String finaPackage = &\&appId\&:\&& + appid + &\&,\&timeStamp\&:\&& + timestamp
+ &\&,\&nonceStr\&:\&& + nonce_str + &\&,\&package\&:\&&
+ packages + &\&,\&signType\& : \&MD5& + &\&,\&paySign\&:\&&
+ finalsign + &\&&;
logger.debug(&********************************************&);
logger.debug(&V3 jsApi package:& + finaPackage);
if(prepay_id.length()&0){
this.callBack(response, request,this.gson.toJson(finalpackage));
this.callBack(response, request,&{\&error\&:\&prepay_id is null\&}&);
3.支付回调
该回调方法的路径就是获取预支付id中的参数notify_url,用来处理支付完成后的业务逻辑,注意一定要检查return_code和result_code是否都为success,另外一定要给微信返回success信息.
public void notifyPay(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// 示例报文
String inputL
String notityXml = &&;
String resXml = &&;
while ((inputLine = request.getReader().readLine()) != null) {
notityXml += inputL
request.getReader().close();
} catch (Exception e) {
e.printStackTrace();
Map&String, String& m = TenpayUtil.parseXmlToList(notityXml);
OrderTenPayBean orderTen = new OrderTenPayBean();
orderTen.setAppid(m.get(&appid&).toString());
orderTen.setBankType(m.get(&bank_type&).toString());
orderTen.setCashFee(m.get(&cash_fee&).toString());
orderTen.setFeeType(m.get(&fee_type&).toString());
orderTen.setIsSubscribe(m.get(&is_subscribe&).toString());
orderTen.setMchId(m.get(&mch_id&).toString());
orderTen.setNonceStr(m.get(&nonce_str&).toString());
orderTen.setOpenid(m.get(&openid&).toString());
orderTen.setOutTradeNo(m.get(&out_trade_no&).toString());
orderTen.setResultCode(m.get(&result_code&).toString());
orderTen.setReturnCode(m.get(&return_code&).toString());
orderTen.setSign(m.get(&sign&).toString());
orderTen.setTimeEnd(m.get(&time_end&).toString());
orderTen.setTotalFee(m.get(&total_fee&).toString());
orderTen.setTradeType(m.get(&trade_type&).toString());
orderTen.setTransactionId(m.get(&transaction_id&).toString());
if (&SUCCESS&.equals(orderTen.getResultCode()) && &SUCCESS&.equals(orderTen.getReturnCode())&span style=&font-family: Arial, Helvetica, sans-&&) { //必须判断&/span&
信息入库,修改订单状态
// 支付成功,必须给微信返回此信息,否则微信会一直调用此回调方法
resXml = &&xml&& + &&return_code&&![CDATA[SUCCESS]]&&/return_code&&
+ &&return_msg&&![CDATA[OK]]&&/return_msg&& + &&/xml& &;
resXml = &&xml&& + &&return_code&&![CDATA[FAIL]]&&/return_code&&
+ &&return_msg&&![CDATA[报文为空]]&&/return_msg&& + &&/xml& &;
this.callBack(response, request, resXml);
退款需要把商户证书apiclient_cert.p12放到指定目录下,因为有证书的情况下退款不需要密码,一定要注意业务请求的权限问题
public void refusePay(HttpServletResponse response,HttpServletRequest request,@PathVariable(value=&outTradeNo&)String outTradeNo) throws Exception {
OrderProduceBean tradebyNo = reservationCarService.getTradebyNo(outTradeNo);
SortedMap&String, String& parameters = new TreeMap&String, String&();
parameters.put(&appid&, TenPayConfig.appid);
parameters.put(&mch_id&, TenPayConfig.partner);
parameters.put(&nonce_str&, TenpayUtil.getNonceStr());
parameters.put(&out_trade_no&, tradebyNo.getOutTradeNo());
parameters.put(&out_refund_no&, tradebyNo.getOutTradeNo()); // 我们自己设定的退款申请号,约束为UK
parameters.put(&total_fee&, TenpayUtil.getMoney(tradebyNo.getTotalFee().toString())); // 单位为分
parameters.put(&refund_fee&, TenpayUtil.getMoney(tradebyNo.getTotalFee().toString())); // 单位为分
parameters.put(&op_user_id&, TenPayConfig.partner);
RequestHandler reqHandler = new RequestHandler(null, null);
reqHandler.init(TenPayConfig.appid, TenPayConfig.appsecret,
TenPayConfig.partnerkey);
String sign = reqHandler.createSign(parameters);
parameters.put(&sign&, sign);
String reuqestXml = TenpayUtil.getRequestXml(parameters);
KeyStore keyStore
= KeyStore.getInstance(&PKCS12&);
FileInputStream instream = new FileInputStream(new File(Resources.getString(&cert_url&)));
keyStore.load(instream, TenPayConfig.partner.toCharArray());
} finally {
instream.close();
// Trust own CA and all self-signed certs
SSLContext sslcontext = SSLContexts.custom()
.loadKeyMaterial(keyStore, TenPayConfig.partner.toCharArray())
// Allow TLSv1 protocol only
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
sslcontext,
new String[] { &TLSv1& },
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
CloseableHttpClient httpclient = HttpClients.custom()
.setSSLSocketFactory(sslsf)
HttpPost httpPost = new HttpPost(&https://api.mch./secapi/pay/refund&);
System.out.println(&executing request& + httpPost.getRequestLine());
StringEntity reqEntity = new StringEntity(reuqestXml);
// 设置类型
reqEntity.setContentType(&application/x-www-form-urlencoded&);
httpPost.setEntity(reqEntity);
CloseableHttpResponse reqs = httpclient.execute(httpPost);
HttpEntity entity = reqs.getEntity();
if (entity != null) {
System.out.println(&Response content length: & + entity.getContentLength());
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(entity.getContent()));
String returnXml = &&;
while ((text = bufferedReader.readLine()) != null) {
returnXml +=
//微信退款返回的参数转换为Map
Map&String, String& resultMaP = TenpayUtil.parseXmlToList(returnXml);
this.callBack(response, request, resultMaP.toString());
EntityUtils.consume(entity);
} finally {
reqs.close();
} finally {
httpclient.close();
PS:代码仅供参考!
本文已收录于以下专栏:
相关文章推荐
关于微信原生支付(扫码支付)的两种支付模式的理解和比较...
by:一起奋斗(转载请注明出处)
1.【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定...
微信官方提供的生成二维码接口得到的是当前公众号的二维码
目前有2种类型的二维码:
临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量,主要...
之前买的服务器今天到期了,续费一年得1000多,感觉不划算,网上找了个方案把本地开发环境映射到公网访问,这样的好处呢就是自己可以本地debug调试。
官方地址,...
官方文档点击查看
准备工作:已通过微信认证的公众号,域名可以不通过ICP备案
借鉴了很多大神的文章,在此先谢过了
大体过程:根据固定金额和商品的ID先生成订单,再生成二维码,客户扫一扫付款
计算哪一天是本周的星期一
SELECT DATEADD(week, DATEDIFF(week,'',getdate()), '')     --返回201...
一、准备工作首先吐槽一下微信关于支付这块,本身支持的支付模式就好几种,但是官方文档特别零散,连像样的JAVA相关的demo也没几个。本人之前没有搞过微信支付,一开始真是被它搞晕,折腾两天终于调通了,特...
Java多线程实现方式主要有三种:
继承Thread实现Runnable接口使用ExecutorService、Callable、Future实现有返回结果的多线程
其中前两种方式线程执行完后...
接入微信公众平台开发,开发者需要按照如下步骤完成:
1、填写服务器配置
2、验证服务器地址的有效性
3、依据接口文档实现业务逻辑
生成条形码、二维码均采用的是开源的ZXing,参考了不少文章,感谢分享
Linux环境解决Mysql权限不足
以下方法亲测好使,鉴于版本的多样性,如果解决不了,请百度,  Linux  环境相关的解决  Mysql 
权限不足还是很多文章的。
方法操作很简单,如...
他的最新文章
讲师:AI100
讲师:谢梁
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 微信二维码收款付款人 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信