支付宝支付成功跳转到NotifyUrl时候报错,如何解决?

public String getSign(AlipayTradeModel alipayTradeModel) throws AlipayApiException {

        //实例化客户端
        AlipayClient alipayClient = new DefaultAlipayClient(
                serverUrl,
                appId,
                appPrivateKey,
                format,
                charset,
                alipayPublicKey,
                signType);

        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
        model.setBody(alipayTradeModel.getBody());
        model.setSubject(alipayTradeModel.getSubject());
        model.setOutTradeNo(alipayTradeModel.getOutTradeNo());
        model.setTimeoutExpress(alipayTradeModel.getTimeoutExpress());
        model.setTotalAmount(alipayTradeModel.getTotalAmount());
        model.setProductCode(alipayTradeModel.getProductCode());

        request.setBizModel(model);
        request.setNotifyUrl(notifyUrl);//alipay.notify_url=http://www.your_rul.com/alipay/notify
        //这里和普通的接口调用不同,使用的是sdkExecute
        AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
        System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
        return response.getBody();
    }
 Error, exception=com.alipay.api.AlipayApiException, message=RSAcontent = ,sign=null,charset = utf-8, path=/alipay/notify}] as "application/json;charset=utf-8" using [org.springframework.http.converter.json.MappingJackson2HttpMessageConverter@2f01783a]
阅读 5.1k
1 个回答

已经解决了,是属于乱码问题,加上下面这行代码就好了:

@RequestMapping(value = "/alipay", produces = "application/json; charset=utf-8")
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进