《抖音支付》担保支付-订单同步

news2025/10/28 3:39:52

担保支付的订单需要同步到抖音商场订单里

文档地址:https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/order/order-sync

 /**
     * 普通小程序订单订单状态,POI 订单可以忽略
     * 0:待支付
     * 1:已支付
     * 2:已取消(用户主动取消或者超时未支付导致的关单)
     * 4:已核销(核销状态是整单核销,即一笔订单买了 3 个券,核销是指 3 个券核销的整单)
     * 5:退款中
     * 6:已退款
     * 8:退款失败
     * 注意:普通小程序订单必传,担保支付分账依赖该状态
     *
     *
     * status 订单状态,建议采用以下枚举值:
     * 待支付
     * 已支付
     * 已取消
     * 已超时
     * 已核销
     * 退款中
     * 已退款
     * 退款失败
     *
     * @param open_id   用户openid
     * @param order_status
     * @param orderNo. 商户订单号
     * @param status
     * @param totalPrice 金额分
     * @return
     */
    public String pushOrder(String open_id , Integer order_status , String orderNo , String  status , Integer totalPrice){


        JSONArray list = new JSONArray();
        JSONObject item = new JSONObject();
        //这里的类型是string类型,不能是int!!!!!!
        item.put("item_code" , System.currentTimeMillis()+""); 
        item.put("img" , "https://jkyx-api.chiguavod.com/res/2023/07/25/20230725222859305.jpg");
        item.put("title" , "蜜宝充值");
        item.put("sub_title" , "蜜宝充值");
        item.put("price" , totalPrice);
        list.add(item);

        JSONObject orderDetail = new JSONObject();
        orderDetail.put("order_id" , orderNo); //开发测订单id
        orderDetail.put("create_time" , System.currentTimeMillis());
        orderDetail.put("status" , status);
        orderDetail.put("amount" , 1);
        orderDetail.put("total_price" , totalPrice);
        orderDetail.put("detail_url" , "pages/index/my/billDetail");
        orderDetail.put("item_list" , list); //子订单商品列表,不可为空


        JSONObject json = new JSONObject();
        String accessToken = getAccessToken();
        json.put("access_token",accessToken);
        json.put("app_name","douyin");
        json.put("open_id", open_id);
        json.put("order_status", order_status);
        json.put("order_type", 0);
        json.put("update_time", System.currentTimeMillis());
        json.put("order_detail", orderDetail.toJSONString());

        doPostJson("https://developer.toutiao.com/api/apps/order/v2/push",json.toJSONString(), "UTF-8");
        System.out.println("抖音订单同步");
        return "success";
    }
``



//获取AcessToken



  public String getAccessToken( ){

        JSONObject json = new JSONObject();
        json.put("appid" , appid);
        json.put("secret" , appSecret);
        json.put("grant_type" , "client_credential");

        String postJson = doPostJson("https://developer.toutiao.com/api/apps/v2/token",json.toJSONString(), "UTF-8");

        JSONObject jo =  JSONObject.parseObject(postJson);
        return jo.getJSONObject("data").getString("access_token");
    }





//post请求工具类


 public static String doPostJson(String url, String jsonStr, String charset) {
        HttpClient httpClient = null;
        HttpPost httpPost = null;
        String result = null;
        try {
            httpClient = new DefaultHttpClient();
            httpPost = new HttpPost(url);
            System.out.println("请求参数"+jsonStr);
            // 设置参数
            StringEntity s = new StringEntity(jsonStr,"utf-8");
            s.setContentEncoding("UTF-8");
            s.setContentType("application/json");
            httpPost.setHeader("Content-Type","application/json;charset=utf-8");
            httpPost.setEntity(s);
            org.apache.http.HttpResponse response = httpClient.execute(httpPost);
            if (response != null) {
                HttpEntity resEntity = response.getEntity();
                if (resEntity != null) {
                    result = EntityUtils.toString(resEntity, charset);
                }
                System.out.println("response body:" + result);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return result;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/794810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

F5 LTM 知识点和实验 2-负载均衡基础概念

第二章:负载均衡基础概念 目标: 使用网页和TMSH配置virtual servers,pools,monitors,profiles和persistence等。查看统计信息 基础概念: Node一个IP地址。是创建pool池的基础。可以手工创建也可以自动创…

7.26总结

继承和实现的区别: 1.修饰符不同: 继承修饰符extends,实现修饰符implements 2.单继承,多实现,Java允许一个类仅能继承一个其他类,即一个类只能有一个父类,这个限制被称为单继承性,而接口允许…

测试开源C#人脸识别模块ViewFaceCore(4:口罩检测、性别预测、年龄预测)

ViewFaceCore模块中的MaskDetector类支持识别人脸是否戴了口罩或有遮挡&#xff0c;主要调用PlotMask函数执行口罩检测操作&#xff0c;其函数原型如下所示&#xff1a; PlotMaskResult PlotMask<T>(T image, FaceInfo info)public class PlotMaskResult{//// 摘要:// …

Docker容器命令(有点详细)

文章目录 Docker 容器容器运行背后启停命令run交互模式需不需要接/bin/bash createexecattachpstoplogscprmcommitexportimportsystem对比export、saveimport、loadcommit、exportimport Docker 容器 Docker 容器是 Docker 平台中的一个基本概念&#xff0c;它是 Docker 技术的…

SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步

一、数据聚合 聚合&#xff08;aggregations&#xff09;&#xff1a; 实现对文档数据的统计、分析、运算。 &#xff08;一&#xff09;聚合的常见种类 桶&#xff08;Bucket&#xff09;聚合&#xff1a; 用来做文档分组。 TermAggregation&#xff1a; 按照文档字段值分组…

【计算机网络】2.1——物理层(编码波形、奈氏准则和香农公式计算)

物理层 基本概念 概念 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流 为数据链路层屏蔽了各种传输媒体的差异 数据链路层只需要考虑如何完成本层的协议和服务&#xff0c;而不必考虑网络具体的传输媒体是什么 物理层协议主要任务 机械特性 指明接口所…

区块链学习笔记

区块链技术与应用 数组 列表 二叉树 哈希函数 BTC中的密码学原理 cryptographic hash function collsion resistance(碰撞抵抗) 碰撞指的是找到两个不同的输入值&#xff0c;使得它们的哈希值相同。也就是说&#xff0c;如果存在任意两个输入x和y&#xff0c;满足x ≠ y…

利用Stable diffusion Ai 制作艺术二维码超详细参数和教程

大家有没有发现最近这段时间网上出现了各种各样的AI艺术二维码&#xff0c;这种二维码的出现&#xff0c;简直是对二维码的“颠覆式创新”&#xff0c;直接把传统的二维码提升了一个维度&#xff01;作为设计师的我们怎么可以不会呢&#xff1f; 今天就教大家怎么制作这种超有艺…

Python基于PyTorch实现卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 卷积神经网络&#xff0c;简称为卷积网络&#xff0c;与普通神经网络的区别是它的卷积层内的神经元只覆…

使用EasyPoi实现Excel的按模板样式导出

1&#xff0c;横向遍历 #fe 使用#fe命令可以实现集合数据的横向拓展&#xff0c;比如模板代码是 {{#fe:maths t.score}}导出的excel里面就会显示会自当前列&#xff0c;向右拓展&#xff0c;效果可参见下面的导出文件截图 2&#xff0c;横向遍历值 v_fe 使用v_fe命令可以实现…

vue3+ts+elementui-plus二次封装弹框

一、弹框组件BaseDialog <template><div classmain><el-dialog v-model"visible" :title"title" :width"dialogWidth" :before-close"handleClose"><!-- 内容插槽 --><slot></slot><template…

分布式理论:CAP理论 BASE理论

文章目录 1. CAP定理1.1 一致性1.2 可用性1.3 分区容错1.4 矛盾 2. BASE理论3. 解决分布式事务的思路4. 扩展 解决分布式事务问题&#xff0c;需要一些分布式系统的基础知识作为理论指导。 1. CAP定理 Consistency(一致性): 用户访问分布式系统中的任意节点&#xff0c;得到的…

【LeetCode】1143.最长公共子序列(闫氏dp可视化无分析)

class Solution { public:int longestCommonSubsequence(string text1, string text2) {int len1 text1.size(), len2 text2.size();text1 " " text1;text2 " " text2; //以上三行代码需要注意&#xff0c; //第一行是求string长度的方法 //第二行是…

使用3ds Max粒子系统创建飞天箭雨特效场景

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 设置箭头 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 我使用多边形建模技术制作了一个简单的箭头&#xff0c;我将 在教程中使用。.max您可以从 下载部分。 箭头.max 步骤 3 将此箭头重命名为静态…

如何安装多个版本的python,python可以装两个版本吗

这篇文章主要介绍了可不可以在同一台计算机上安装多个python版本&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 1、不同版本的python不能安装到同一台计算机上 可以的&#…

绿水青山,水质监测需要智能网关

“ 绿水青山就是金山银山&#xff0c;随着国家在环保领域的持续发力&#xff0c;水作为环境监管极其重要的一极&#xff0c;尤其是河湖水系的监管&#xff0c;也越来越严格&#xff0c;监测布点密度不断加大。水质自动监测站作为河湖断面监测和水质判断比较权威的工具&#xff…

LabVIEW开发谐振器陀螺仪仿真系统

LabVIEW开发谐振器陀螺仪仿真系统 陀螺仪是INS系统中最重要的传感器。它们的性能&#xff08;如精度和偏置稳定性&#xff09;决定了INS系统的水平。陀螺仪按原理分为三类&#xff1a;角动量守恒、萨格纳克效应和科里奥利效应。旋转坐标系中的移动物体受到的力与旋转坐标系的角…

微信小程序 样式和全局配置

WXSS wxss 把屏幕分为750个物理像素&#xff0c;大屏大&#xff0c;小屏小&#xff0c;随着设备不一致自动适配 推荐使用iPhone6作为标准&#xff0c;1个rpx 0.5个px&#xff0c;把px乘以2就是rpx的参数 import 导入外部样式表 import /common/common.wxss 样式 权重一…

Pytorch个人学习记录总结 09

目录 损失函数与反向传播 L1Loss MSELOSS CrossEntropyLoss 损失函数与反向传播 所需的Loss计算函数都在torch.nn的LossFunctions中&#xff0c;官方网址是&#xff1a;torch.nn — PyTorch 2.0 documentation。举例了L1Loss、MSELoss、CrossEntropyLoss。 在这些Loss函数…

Andrew算法求凸包模板

前置知识 向量的叉乘: 设 a ⃗ ( x a , y a , z a ) , b ⃗ ( x b , y b , z b ) \vec a(x_a,y_a,z_a), \vec b(x_b, y_b,z_b) a (xa​,ya​,za​),b (xb​,yb​,zb​), 令 a ⃗ \vec a a 和 b ⃗ \vec b b 的叉乘为 c ⃗ \vec c c , 有: c ⃗ ∣ i j k x a y a z a x b y…