微信小程序发货信息录入

这篇具有很好参考价值的文章主要介绍了微信小程序发货信息录入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序发货信息录入

一、发货信息录入接口

1、 用户交易后,默认资金将会进入冻结状态,开发者在发货后,需要在小程序平台录入相关发货信息,平台会将发货信息以消息的形式推送给购买的微信用户。

2、 如果你已经录入发货信息,在用户尚未确认收货的情况下可以通过该接口修改发货信息,但一个支付单只能更新一次发货信息,请谨慎操作。

3、 如暂时没有完成相关API的对接开发工作,你也可以登陆小程序的后台,通过发货信息管理页面手动录入发货信息。

二、接口及调用方式(https)

POST https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token=ACCESS_TOKEN

三、请求及返回参数

1、请求参数
微信小程序发货信息录入,微信小程序,小程序微信小程序发货信息录入,微信小程序,小程序
2、响应参数
微信小程序发货信息录入,微信小程序,小程序

四、JAVA代码

1、依赖

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

@Autowired
private RestTemplate restTemplate;

1、测试示例

1.1、 参数说明

transactionId:微信支付返回的支付单号(微信退款也需要用)

2.2、 此方式采用的是自取方式:logistics_type为4,不需要填写物流等信息

2.3、 如果采用发货方式,下方代码注释部分放开即可

public String toSendGoods(String transactionId) {
        String accessToken = AccessTokenUtil.getAccessToken();
        String url = "https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token=" + accessToken;
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);

        OrderKey orderKey = new OrderKey();
        orderKey.setOrder_number_type(2);
        orderKey.setTransaction_id(transactionId);
//        orderKey.setMchid("1622649992");
//        orderKey.setOut_trade_no("123123123123123");

        ShippingList shippingList = new ShippingList();
        shippingList.setItem_desc("微信气泡狗集线器*1");
//        shippingList.setTracking_no("yyy242144");
//        shippingList.setExpress_company("STO");

        Payer payer = new Payer();
        payer.setOpenid("oP9pG5GWD4yscKE1UZaxifcF7X1g");

        JSONObject signObject = new JSONObject();
        JSONArray objects = new JSONArray();
        objects.add(shippingList);

        signObject.put("order_key",orderKey);
        signObject.put("delivery_mode",1);
        signObject.put("logistics_type",4);
        signObject.put("shipping_list",objects);
        signObject.put("upload_time","2023-10-23T0:08:35.120+08:00");
        signObject.put("payer",payer);
        System.out.println(signObject);

        HttpEntity<JSONObject> requestEntity = new HttpEntity<JSONObject>(signObject, headers);
        ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
        String body = responseEntity.getBody();
        JSONObject jsonObject = JSONArray.parseObject(body);
        return jsonObject.getString("errcode");
    }

2、工具类(getAccessToken方法)

注: 上述获取的accessToken,有效时间2小时,过期后需要再次获取

public class AccessTokenUtil {
    public static String getAccessToken() {
        log.info("initAccessToken:开始运行...");
        String accessToken = null;
        //获取tokcen接口
        String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ Configure.getAppID()+"&secret="+Configure.getSecret();
        try {
            URL urlGet = new URL(url);
            HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
            http.setRequestMethod("GET"); // 必须是get方式请求
            http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            http.setDoOutput(true);
            http.setDoInput(true);
            System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒
            System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
            http.connect();
            InputStream is = http.getInputStream();
            int size = is.available();
            byte[] jsonBytes = new byte[size];
            is.read(jsonBytes);
            String message = new String(jsonBytes, "UTF-8");
            JSONObject demoJson = JSONObject.parseObject(message);
            accessToken = demoJson.getString("access_token");

            log.info("返回accessToken:"+accessToken);
            log.info("initAccessToken:运行结束...");
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return accessToken;

    }
}

一个在学习的开发者,勿喷,欢迎交流文章来源地址https://www.toymoban.com/news/detail-753438.html

到了这里,关于微信小程序发货信息录入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序获取用户信息

    要在微信小程序中获取用户信息,你可以按照以下步骤进行操作: 1. 在小程序的app.json文件中添加\\\"scope.userinfo\\\"权限,例如: ``` \\\"permission\\\": {   \\\"scope.userinfo\\\": {     \\\"desc\\\": \\\"你的个人信息\\\"   } } ``` 2. 在小程序的某个页面中,使用wx.login方法获取用户登录凭证code,例如: ``` wx.log

    2024年02月10日
    浏览(51)
  • 微信小程序--解密用户信息

    前端传值:encryptedData、iv、code step1:将code发送给微信服务器,获取openid和session_key step2:根据encryptedData、iv、session_key(会话密钥),通过AES解密获取到用户所有信息

    2024年02月15日
    浏览(40)
  • 微信小程序获取用户信息流程

    要在微信小程序中获取用户信息,通常需要经过以下流程: 此外,还需要在小程序的 app.json 文件中配置 scope.userInfo 以确保可以请求用户信息授权。例如: 需要注意的是,从微信 7.0.0 开始,用户信息授权不再是全量授权,而是分为两部分:基本信息和用户敏感信息。基本信

    2024年02月05日
    浏览(54)
  • 微信小程序查看接口信息(抓包)

    本文仅供交流学习使用 主要参考: https://cloud.tencent.com/developer/article/1833591 https://www.cnblogs.com/x1you/p/12033839.html 由于参考文章在baidu权重不高(google才查到的), 所以自己重新记录一篇, 方便他人, 也防止参考文章丢失. 需要知道微信小程序的接口地址 下载charles,一键安装即可 https:

    2024年02月02日
    浏览(43)
  • 微信小程序—获取用户位置信息

    代码: 结果示例: 接下来我们需要经度(longitude)和纬度(latitude)两个属性

    2024年02月08日
    浏览(62)
  • 微信小程序:用户基本信息的采集

    在开发商城小程序时需要显示用户头像、昵称、手机号等信息以便后续业务的实现,因此需要通过微信小程序的API采集用户数据,由此进行总结。 在微信小程序中获取用户信息可以通过这几种方式获取,getUserInfo、getUserProfile、open-data组件、button的open-type属性,接下来分别对

    2024年02月09日
    浏览(40)
  • 微信小程序如何获取元素节点信息?

    通常在做微信小程序的时候我们经常会需要获取元素的信息,但是微信小程序有没有完整的“DOM”操作,无法像浏览器中获取元素。 不过在微信中也有一套自己的“DOM”,那就是NodesRef,它可以让我们像开发浏览器程序一样轻松愉快的获取页面元素 1.1、NodesRef是什么? Nodes

    2024年02月05日
    浏览(37)
  • 微信小程序-获取用户信息【梳理历史】

    有一个迭代的过程,时间很近 大概分为4个内容 1.2021年4月15日  简述:回收了一个接口,新增了一个接口 小程序登录、用户信息相关接口调整说明 | 微信开放社区 (qq.com) 通过wx.login接口获取的登录凭证可直接换取unionID 回收wx.getUserInfo接口可获取用户个人信息能力 新增getUse

    2024年02月11日
    浏览(47)
  • 微信小程序|高校宿舍信息管理系统小程序

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年02月22日
    浏览(63)
  • 微信小程序获取用户信息nickname为“微信用户”

    最近两天小程序用户登录获取到的用户微信名称都变成了\\\"微信用户\\\",在网上找到的问题原因是getUserProfile API被收回微信社区 头像昵称填写能力可以获取用户头像和昵称直接上代码,如果有更好的方案请留言!!!!!!!!

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包