精华内容
下载资源
问答
  • android微信支付没回调,微信登陆,分享都有回调微信支付成功后WXEntryActivity的onCreate都没有进去,咋整啊?微信登陆,分享回调都正常啊,配置是没问题的吧。用的最新的sdkimplementation'...

    android 微信支付没回调,微信登陆,分享都有回调微信支付成功后  WXEntryActivity的onCreate 都没有进去,咋整啊?微信登陆,分享回调都正常啊,配置是没问题的吧。用的最新的sdkimplementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.3.1'public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI api;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {Log.e("ssss---onCreate--1", Config.APP_ID);super.onCreate(savedInstanceState);Log.e("ssss---onCreate", Config.APP_ID);api = WXAPIFactory.createWXAPI(this, null);api.registerApp(Config.APP_ID);//不写没有回调api.handleIntent(getIntent(), this);}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);Log.e("ssss-------", "onNewIntent");setIntent(intent);api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq baseReq) {Log.e("ssss---1", "req" + baseReq.openId);}@Overridepublic void onResp(BaseResp baseResp) {Log.e("ssss---2", "onResp");switch (baseResp.errCode) {case BaseResp.ErrCode.ERR_OK:if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {ToastUtil.showShort(WXEntryActivity.this, "支付成功");Log.e("ssss", "支付成功11");} else if (baseResp.getType() == 2) {//分享ToastUtil.showShort(WXEntryActivity.this, "分享成功");Log.e("ssss", "分享成功11");} else if (baseResp.getType() == 1) {ToastUtil.showShort(WXEntryActivity.this, "授权成功");//登录String code = ((SendAuth.Resp) baseResp).code;Log.e("ssss", "授权成功11"+code);}break;case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消if (baseResp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) {ToastUtil.showShort(WXEntryActivity.this, "取消支付");} else if (baseResp.getType() == ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX) {ToastUtil.showShort(WXEntryActivity.this, "取消分享");}break;case BaseResp.ErrCode.ERR_AUTH_DENIED:break;case BaseResp.ErrCode.ERR_UNSUPPORT:break;}}

    展开全文
  • 在集成微信支付时才发现微信的开发文档果然有些坑,本文主要是记录我在区分微信支付回调问题的处理。也让遇到同样问题的小伙伴们找到处理方法。若您知道此问题的解决办法,请不要喷我,您可以选择点击关闭此浏览器...

    在集成微信支付时才发现微信的开发文档果然有些坑,本文主要是记录我在区分微信支付回调问题的处理。也让遇到同样问题的小伙伴们找到处理方法。若您知道此问题的解决办法,请不要喷我,您可以选择点击关闭此浏览器标签,谢谢。

    问题

    我所遇到的需求是APP里有两处涉及到微信支付,订单支付和充值支付,且支付完成后需要通知后台做其他操作(后台收到的支付结果通知是异步的,服务器是被动的),而微信支付的结果回调都在一个WXPayEntryActivity里面,而且此类微信官方规定的。我想要区分我的支付结果是属于订单支付还是充值支付,以便做出相应的操作,该怎么办呢?

    思路

    刚开始有些懵逼,毕竟不熟悉微信支付。所以最开始选择了用一个全局变量来保存当前的操作类型值,收到支付回调后判断此类型值,做出不同的操作。但总觉得这样做有些不妥。又想想微信这样的设计肯定不是没有考虑到这方面啊,所以就在调用微信支付SDK的地方来找方法。果不其然在PayReq里找到了这样一个方法:

    9784a0ade8da?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    调起微信支付SDK的地方

    光找到传入数据的地方还不行,所有又去了回调页面WXPayEntryActivity里找接收数据的地方:

    9784a0ade8da?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    WXPayEntryActivity

    阿西吧!居然没有关于接收数据的方法...

    又把PayResp拿来试试,果然功夫不负有心人:

    PayResp resp = (PayResp) baseResp;

    String payType = resp.extData;

    那这样一来就好办了呀,我就说嘛,微信这样设计肯定是考虑了这个问题的。

    代码

    还是把具体代码贴一下吧

    1.生成加密串。

    加密操作放在后台的,所以只需要传入相应的标题、本地订单号、价格给后台,后台会返给我调用微信支付SDK的相应参数,这里要注意一下,传给后台的价格必须是乘以100,比如支付价格为1元,那就得传100给后台,当然后台做处理也是可以的,还有价格不能为0,包括支付宝也是一样的。收到后台的数据如下:

    {

    "msg": 1,

    "data": {

    "appid": "wxf6a28d9fa0e4a5e7",

    "partnerid": "1482680562",

    "prepayid": "wx201711161536297ca36c8ab20902031739",

    "package": "Sign=WXPay",

    "noncestr": "cd98f00b204e9800998ecf8427e",

    "timestamp": 1510817789,

    "sign": "D1262473FD0AFD56E24E59248756666D"

    },

    }

    2.调起微信支付。

    这里是将后台返回的数据都装在了一个JavaBean里面

    public void wxPay(WxPayStringBean.DataBean bean) {

    PayReq request = new PayReq();

    IWXAPI api = mModel.wxPay();

    api.registerApp(Constants.KEY.WeChat.APP_ID);

    request.appId = bean.getAppid();

    request.partnerId = bean.getPartnerid();

    request.prepayId = bean.getPrepayid();

    request.packageValue = bean.getPackageX();

    request.nonceStr = bean.getNoncestr();

    request.timeStamp = bean.getTimestamp() + "";

    //传入一个标识,以便区分回调

    request.extData = "RechargePay";

    request.sign = bean.getSign();

    api.sendReq(request);

    }

    @Data

    public class WxPayStringBean {

    private int msg;

    private String error;

    private DataBean data;

    private int hc;

    @Data

    public static class DataBean {

    private String appid;

    private String partnerid;

    private String prepayid;

    @SerializedName("package")

    private String packageX;

    private String noncestr;

    private int timestamp;

    private String sign;

    }

    }

    在上门的wxPay方法中,可以看到传入一个参数

    request.extData = "RechargePay";

    3.在收到支付回调的页面做判断

    @Override

    public void onResp(BaseResp baseResp) {

    PayResp resp = (PayResp) baseResp;

    String payType = resp.extData;

    switch (payType) {

    case "OrderPay": //订单支付的回调

    // TODO: doSomething

    break;

    case "RechargePay": //充值支付的回调

    // TODO: doSomething

    break;

    }

    }

    End

    展开全文
  • 问题描述项目采用: Spring Cloud + Boot + Gateway服务网关 + Consu 注册中心在小程序发起微信支付后, 调用后台服务的发起微信预支付,通过预支付拿到的返回信息小程序在通过API微信支付支付成功后,按理...

    问题描述

    项目采用: Spring Cloud + Boot + Gateway服务网关 + Consu 注册中心

    在小程序发起微信支付后, 调用后台服务的发起微信预支付,通过预支付拿到的返回信息小程序在通过API调起微信支付, 支付成功后,按理支付成功后,微信会向预先设置的回调地址, 通过本次的支付结果,上周之前是可以的,这周因为改了架构, 所以换了一个请求域名,但实质程序是没有改过的, 只是换了一个域名, https http 都是可以访问, 用的就是 Caddy自动获取的https证书, 根据官方的解释小程序发起JSAPI支付是不需要设置支付目录和授权域名的,但因为不确定不肯定我还是在商户后台设置了

    因为是spring mvc项目有人也问过我有没有在web层做了权限验证或者过滤,嗯,这个没有的, 这个接口是放开的,是可以直接访问的,因为这个问题,试过N种方式去排查问题,也是没有解决, 所以只好求助一下广大的同行大神。。。。

    699b16be170d84e8492ba5b339252fc0.png

    dc25978d1a9cd084e2e89b3ab9bf265f.png

    dd9f7271f745cc5c08f053d159d23ec4.png

    8a40ece97904b87edbf9798bfb6edef3.png

    展开全文
  • java 微信支付成功后,回调一直重复,下面是源代码//微信支付@RequestMapping({"/weixinpay.jsp"})public void WeixinpayAction(ActionMapping mapping, ActionForm form,HttpServletRequest request, ...

    java 微信支付成功后,回调一直重复,下面是源代码

    //微信支付

    @RequestMapping({"/weixinpay.jsp"})

    public void WeixinpayAction(ActionMapping mapping, ActionForm form,

    HttpServletRequest request, HttpServletResponse response)

    throws Exception {

    HttpSession session = request.getSession();

    //得到商户订单号

    String ordernum = (String)session.getAttribute("dingdan");

    System.out.print("微信支付回调数据开始");

    String inputLine;

    String notityXml = "";

    String resXml = "";

    try {

    while ((inputLine = request.getReader().readLine()) != null) {

    notityXml += inputLine;

    }

    request.getReader().close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    System.out.println("接收到的报文:" + notityXml);

    Notify notify = new Notify();

    Map m = notify.parseXmlToList2(notityXml);

    WxPayResult wpr = new WxPayResult();

    wpr.setAppid(m.get("appid").toString());

    wpr.setBankType(m.get("bank_type").toString());

    wpr.setCashFee(m.get("cash_fee").toString());

    wpr.setFeeType(m.get("fee_type").toString());

    wpr.setIsSubscribe(m.get("is_subscribe").toString());

    wpr.setMchId(m.get("mch_id").toString());

    wpr.setNonceStr(m.get("nonce_str").toString());

    wpr.setOpenid(m.get("openid").toString());

    wpr.setOutTradeNo(m.get("out_trade_no").toString());

    wpr.setResultCode(m.get("result_code").toString());

    wpr.setReturnCode(m.get("return_code").toString());

    wpr.setSign(m.get("sign").toString());

    wpr.setTimeEnd(m.get("time_end").toString());

    wpr.setTotalFee(m.get("total_fee").toString());

    wpr.setTradeType(m.get("trade_type").toString());

    wpr.setTransactionId(m.get("transaction_id").toString());

    System.out.println("结果---"+wpr.getResultCode());

    System.out.println("dingdan="+wpr.getOutTradeNo());

    if("SUCCESS".equals(wpr.getResultCode())){

    //支付成功

    resXml = "" + ""

    + "" + " ";

    //支付成功修改订单状态

    Order order = new Order();

    order.setOrdernum(wpr.getOutTradeNo());

    //2已支付,未确认

    order.setOrder_status(2);

    //1已付款

    order.setPay_status(1);

    //当前时间

    order.setActtime(Tool.getCurrentDate1());

    //修改订单状态

    userimpl.UpdateOrderStatus(order);

    System.out.println("SUCCESS");

    }else{

    resXml = "" + ""

    + "" + " ";

    }

    System.out.println("微信支付回调数据结束");

    BufferedOutputStream out = new BufferedOutputStream(

    response.getOutputStream());

    out.write(resXml.getBytes());

    out.flush();

    out.close();

    System.out.println("页面跳转+++++++++++++++++++++++");

    //return mapping.findForward("wxgoto");

    }

    展开全文
  • django 微信支付成功回调url(notify_url) 微信支付成功后,会访问notify_url这个地址,让你处理支付成功后的业务逻辑,微信会访问这个地址8次,直到notify_url返回个SUCCESS。 但是这个notify_url不能带参数,这个...
  • 那么在微信支付第三方支付服务商的支持下,大家都在力推刷脸支付,微信刷脸支付官方还给出100亿元进行市场补贴政策,并且基于AI识别技术基础上拓展了更多的商户应用,那么微信刷脸支付加盟需要具有什么条件呢?...
  • 微信支付成功回调后,我将返回值设置成 <xml><return_code><![CDATA[SUCCESS]]></return_code></xml> <xml><return_code><![CDATA[SUCCESS]]></return_code...
  • cordova微信支付那点坑移动互联网盛行的当下,移动app开发也是大受追捧。目前移动app开发的方式有很多,除了原生的android,ios开发之外,react-native,weex,apicloud,hbuilder等都可以做。而对于一些没有用过...
  • 都是在点击支付时,直接调用第三方支付接口,传入appid、appsecret、订单编号、订单金额、回调url,直接跳转到第三方支付页面,接下来的支付过程,我们都不需要管,支付成功以后,第三方支付平台...
  • 微信支付成功跳转界面通知(这个控制器 break ; default : NSLog( @" 错误,retcode = %d, retstr = %@ " , resp.errCode,resp.errStr); break ; } }   转载于:...
  • 然后在路由中使用该中间件(此处我在'/wxpay'的回调路由中调用,具体结合自己实际) const xmlparse = app.middleware.xmlparse(); app.post('/wxpay',xmlparse, app.controller.xcx.wxpay.wxPayCallBack); 最后是...
  • 微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7 ...返回的内容微信请求的内容,为xml格式 &lt;xml&gt;  &lt;appid&gt;&lt;![CDATA[wx2421b1c4370ec...
  • 这几天一直在研究微信支付回调这个问题,发现之前微信支付回调都是正常的也没怎么在意,今天在自己项目上测试的时候发现相同的代码在我这个项目上微信支付回调老是重复执行导致支付成功之后的回调逻辑一直在执行,很...
  • 能正常生成prepay_id给客户端,但是客户端支付成功后,微信异步回调接口一直没有接收到数据。网上查了好多原因:1、有说notify_url 地址不对的,不能带参数。这确实是一个注意的地方,但是我的url是OK的。2、有的是...
  • 应用场景支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起...
  • 这两天要小程序用到微信支付功能,应用thinkphp3.2的,在集成回调通知处理结果的时候,一直卡住了,不知道怎么写,在经过了查找N多资料后,终于皇天不负有心人,找到了解决方法,下面代码经测试通过,确信可用:...
  • 微信支付没法回调

    2020-11-28 20:48:02
    <div><p>没有在包名下创建WXPayEntryActivity,微信支付成功后没法收到回调信息</p><p>该提问来源于开源项目:mayubao/Android-Pay</p></div>
  • 微信支付一直回调解决办法

    千次阅读 2018-08-31 14:05:45
    然后改了一下,在上面加了一行下面的代码,告诉微信支付成功了,success。OK,问题解决。 echo '&lt;xml&gt; &lt;return_code&gt;&lt;![CDATA[SUCCESS]]&gt;&lt;/...
  • 微信支付接口--支付成功回调--超详细Demo

    万次阅读 多人点赞 2018-07-30 16:56:52
    微信支付成功回调的代码,尤其要注意官方文档的一句话: 如果不注意这里,支付成功后微信会一直对这个地址进行调用,更新订单的对数据库进行操作,也会一直存在更新:...
  • 当我们微信支付成功后有一个回调函数,可以去对订单进行某些处理。但是我们前端与后端是分离的,我们必须从前端再发送一个请求去询问是否已经支付成功,下面是解决这个问题的一些方法。 ajax短轮询(常用) 每隔几...
  • /*** 微信支付接口实现** @create: 2019-10-10 15:40* @author: Sun*/@Service@Slf4jpublic class WxPayServiceImpl implements WxPayService {@Autowiredprivate MyWxPayConfig myWxPayConfig;@Overridepublic ...
  • java相关:SpringMvc微信支付回调示例代码发布于 2020-7-14|复制链接微信一直是一个比较热门的词汇,今天介绍大家都知道微信支付回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在...
  • java相关:SpringMvc微信支付回调示例代码发布于 2020-7-14|复制链接微信一直是一个比较热门的词汇,今天介绍大家都知道微信支付回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用@RequestBody注解在...
  • 谢尔顿的左耳朵​www.zhangxiaoshuai.fun最近做的一个项目中涉及到了微信支付的模块,因为之前从来没有接触过支付这方面的内容,所以花了一些时间去专门研究,最后总算是搞定了支付;但是能支付可不行,我需要将用户...
  • /** * description: * 微信支付完成,回调地址url方法 */ public function PaymentCallback(){ $sKey = PAY_KEY; $arrPostData = $this->... //微信支付成功,返回回调地址url的数据:XML转数组Arr.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 712
精华内容 284
关键字:

微信支付成功回调