给一下 420 的微信订单号,官方同学帮你查询通知地址。
小程序微信支付成功之后不走回调是怎么回事?https://cjdx.shangmangs.com/api/Notify/notify 这个是回调地址 public function notify() { $donationModel = new Donation(); $zhengshuModel = new Zhengshu(); //存储微信的回调 $xml = file_get_contents("php://input"); $arr = $this -> XmlToArr($xml); if(empty($arr['out_trade_no'])){ exit; } $out_trade_no = $arr['out_trade_no']; $openid=$arr['openid'];//openid $sign=$arr['sign'];//校验码 $total_fee=$arr['total_fee'];//订单金额 $transaction_id=$arr['transaction_id'];//微信支付号 //订单表有无 $count=$donationModel->where("out_trade_no='".$out_trade_no."'")->count(); //判断有无订单 $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = $out_trade_no."\n"; fwrite($myfile, $txt); $txt = $openid."\n"; fwrite($myfile, $txt); $txt='count:'.$count; fwrite($myfile, $txt); fclose($myfile); if($count==1) { //这里是回调之后数据库操作 } echo 'success'; }
2021-04-14谢邀,这个不是「认证到期与变更工商信息」引起的,是官方小程序改了规则,详情见 https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801
如何解决(认证到期与变更工商信息)后的获取用户信息问题?问题描述:小程序获取用户信息,返回结果一直是默认的微信头像,昵称全部都是“微信用户”。 补充:1、公司的主体名称进行了变更,已在公众平台成功修正了公司名称;2、微信认证曾经到期过,但已经再次成功认证;
2021-04-14仿真系统与生产环境完全独立,包括存储层。文档见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_1&index=2 不建议在生产环境运行沙箱数据,生产上测试应该直接用生产环境的API接口/密钥。
requestPayment支付缺少参数 total_fee?调用沙箱统一下单API返回成功,获取相关参数传给前端,前端提交支付有出了问题 ,提示 "requestPayment缺少参数total_fee" [图片][图片][图片][图片]
2021-04-13[图片]
secapi/mch/channelsetting文档在哪?未未找到银行子账户指定渠道号_上述url:secapi/mch/channelsetting对应的说明文档
2021-04-12dataMap.put("timeStamp",String.valueOf(System.currentTimeMillis()/1000)); 把这个值打印出来,然后对比文档,看下
微信JSAPI支付总是签名失败后台代码: public Map<String,String> wxPayMoney(HttpServletRequest request, String payinfoid, String paymoney,String userip,String openId) throws Exception { System.out.println("微信支付后台开始"); WxpayParam wxpayParam = new WxpayParam(); wxpayParam.setTotalFee(paymoney); WxPayConfig ourWxPayConfig = new WxPayConfig(); System.out.println("支付时openId:======="+openId); //获取请求ip地址 String out_trade_no =getTradeNo(); System.out.println("out_trade_no:"+out_trade_no); String ip = request.getHeader("x-forwarded-for"); String notifyUrl ="https://www.12333333.com.cn"; //我这里的回调地址是随便写的,到时候需要换成处理业务的回调接口 WXPay wxPay = new WXPay(ourWxPayConfig); //根据微信支付api来设置 TreeMap<String,String> paramMap = new TreeMap(); TreeMap<String,String> dataMap = new TreeMap(); paramMap.put("appid",ourWxPayConfig.getAppID()); paramMap.put("body",wxpayParam.getBody()); paramMap.put("fee_type","CNY"); paramMap.put("mch_id",ourWxPayConfig.getMchID()); paramMap.put("nonce_str",WXPayUtil.generateNonceStr()); paramMap.put("notify_url",notifyUrl); paramMap.put("openid",openId); paramMap.put("out_trade_no",out_trade_no); //交易号 paramMap.put("spbill_create_ip",userip); paramMap.put("total_fee",wxpayParam.getTotalFee()); paramMap.put("trade_type","JSAPI"); dataMap.put("appid",ourWxPayConfig.getAppID()); dataMap.put("nonceStr",WXPayUtil.generateNonceStr()); String sign = WXPayUtil.generateSignature(paramMap, ourWxPayConfig.getKey()); //第一次签名 paramMap.put("sign",sign); String xml = WXPayUtil.mapToXml(paramMap);//将所有参数(map)转xml格式 System.out.println("发送的xml:"+xml); String unifiedorder_url = "https://api.mch.weixin.qq.com/pay/unifiedorder"; //String xmlStr = HttpRequest.sendPost(unifiedorder_url, xml);//发送post请求"统一下单接口"返回预支付id:prepay_id String xmlStr = HttpUtil.sendPostXml(unifiedorder_url, xml, null); System.out.println("xmlStr:======="+xmlStr); String prepay_id = "";//预支付id if (xmlStr.indexOf("SUCCESS") != -1) { Map<String, String> map = WXPayUtil.xmlToMap(xmlStr); prepay_id = (String) map.get("prepay_id"); dataMap.put("package","prepay_id="+prepay_id); } dataMap.put("signType",WXPayConstants.SignType.MD5.toString()); dataMap.put("timeStamp",String.valueOf(System.currentTimeMillis()/1000)); String secSign = WXPayUtil.generateSignature(paramMap, ourWxPayConfig.getKey()); //第二次签名 /** wxPay.unifiedOrder 这个方法中调用微信统一下单接口 */ Map<String, String> respData = wxPay.unifiedOrder(paramMap); respData.put("out_trade_no",payinfoid); //交易号 if (respData.get("return_code").equals("SUCCESS")){ System.out.println("微信统一下单"); //返回给APP端的参数,APP端再调起支付接口 respData.put("appId",ourWxPayConfig.getAppID()); respData.put("mchid",ourWxPayConfig.getMchID()); respData.put("paySign",secSign); respData.put("signType", "MD5"); respData.put("total_fee",paymoney); respData.put("timeStamp",dataMap.get("timeStamp")); respData.put("nonceStr", dataMap.get("nonceStr")); respData.put("package", "prepay_id=" + prepay_id); respData.put("prepay_id",prepay_id); System.out.println("respData:"+respData); return respData; } System.out.println("微信支付后台结束"); throw new Exception(respData.get("return_msg")); } 前台代码: function pay_weixin(){ $.ajax({ type: "get", url: http+'pay/wxPayMoney', data: {payinfoid : payinfoid,paymoney:paymoney,userip:userip,openId:openid}, dataType: "json", success: function(payConfig) { var datamap={ "appId": payConfig.appid, "nonceStr":payConfig.nonceStr, "package": payConfig.package, "paySign": payConfig.paySign, "signType": "MD5", "timeStamp": payConfig.timeStamp }; alert("paySign"+datamap.paySign); WeixinJSBridge.invoke( 'getBrandWCPayRequest', datamap, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ){ // 使用以上方式判断前端返回,微信团队郑重提示: //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。 } }); } }) if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } }else{ onBridgeReady(); } }
2021-04-12以下是亲测(脱敏)信息,供参考,命令行可见:真香:一行命令即可体验「微信支付」全系接口能力 ./node_modules/.bin/wxpay v2.pay.getsignkey \ -u 'https://api.mch.weixin.qq.com/sandboxnew/' \ -c.mchid 136****302 \ -c.secret 4b2b8**********************8e35d \ -c.serial any \ -c.privateKey any \ -c.certs.any \ -d.mch_id 136****302 \ -d.nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67VS { config: { url: 'pay/getsignkey', method: 'post', data: '<xml><mch_id>136****302</mch_id><nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str><sign>817F6C6313F5C9D9604E2A3A42F1C180</sign></xml>', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'text/xml; charset=utf-8', 'User-Agent': 'wechatpay-axios-plugin/0.5.4 axios/0.21.1 node/14.16.1 darwin/x64', 'Content-Length': 138 }, baseURL: 'https://api.mch.weixin.qq.com/sandboxnew/', transformRequest: [ [Function: signer], [Function: toXml] ], transformResponse: [ [Function: toObject], [Function: verifier] ], timeout: 0, adapter: [Function: httpAdapter], responseType: 'text', xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, httpsAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object], requests: {}, sockets: {}, freeSockets: [Object], keepAliveMsecs: 1000, keepAlive: true, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'fifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 100, _sessionCache: [Object], [Symbol(kCapture)]: false }, validateStatus: [Function: validateStatus], mchid: 136****302, secret: '4b2b8**********************8e35d', serial: 'any', privateKey: 'any', certs: { any: true } }, headers: { server: 'nginx', date: 'Mon, 12 Apr 2021 06:51:02 GMT', 'content-type': 'text/plain;charset=utf-8', 'content-length': '185', connection: 'keep-alive', 'keep-alive': 'timeout=8', from: 'sandbox' }, data: { return_code: 'SUCCESS', return_msg: 'ok', sandbox_signkey: '4b2b85ef1****9d728a4****d248e35d' } }
测试环境沙盒支付报错 请确认请求参数是否正确param mch_id invalid测试环境沙盒支付报错 请确认请求参数是否正确param mch_id invalid [图片] [图片] 签名计算方法与正式环境一样,正式请求没问题,沙箱环境就报错。
2021-04-12尊敬的开发者你好,谢邀。 免开发可尝试公众平台的客服能力:https://mpkf.weixin.qq.com/,你的「客服二维码」多半是发的「个人微信号」的码,这种行为属于打擦边球,俺是见过以这种擦边球加用户被「永久封号」的个人号,仁者见仁智者见智,建议以楼上大佬们的实践为参考,整改。
公众号里面添加客服微信二维码,属于违规吗?尊敬的公众号官方您好: 我想向您咨询一个问题,如下: 公众号里面添加客服二维码会被封号吗? 例如,新用户关注了我的公众号,我的公众号自动回复一个客服二维码,这样算是违规吗? 如果自动回复客服二维码算是违规,那么我在功能栏,添加一个功能栏:点击联系客服。 用户点击之后,才会给用户发客服微信二维码,这样算违规吗? 如果以上都是违规,那么我应该怎么设置客服二维码呢? 希望官方帮忙解读一下,万分感谢!
2021-04-12谢邀:不用官方确认,「谁」提供了服务就「奖励」谁。
微信支付服务商使用,官方的云开发微信支付,是否有佣金?用小程序云开发的微信支付:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html 发起支付成功后返回的支付参数中,mchId: "1800008281"是固定不变的,也就是官方的mchId,实际上和我的mchId好像没有任何关系。那么是不是说云开发的微信支付的服务商都是官方(1800008281),服务商奖励都是官方的,和我们自己服务商没有关系?请官方确认一下。
2021-04-11建议重新再进件一个个体户主体的
通过小微进件申请的小微商户,如何更改为个体户主体之前通过小微进件api申请的小微商户现需要更改为个体户主体,但是小微进件api权限已经被收回,无法通过接口实现了。怎么办?
2021-04-11谢邀。图片URI地址,反斜线\换成正斜线/
图片无法显示https://developers.weixin.qq.com/miniprogram/dev/framework/ [图片]
2021-04-10