爱发电开发者Webhook URL如何配置并且成功返回响应

Webhook URL

爱发电提供了webhook和api两种方式为开发者提供便利。 webhook功能需要配置好url,每当有订单时,会请求配置的url;API功能需要开发者通过token生成sign签名,主动请求接口查询历史订单

Webhook URL(用来被动接收订单通知)如何配置Webhook URL并且成功返回响应

点击发送测试,爱发电服务器会立即向配置好的url发送测试数据,标准json格式;同时url返回的内容也要为json格式,最少返回内容为 {"ec":200} ,否则认为请求失败。

爱发电发送数据格式如下:

{"ec": 200,"em": "ok","data": {"type": "order","order": {"out_trade_no": "202106232138371083454010626","user_id": "adf397fe8374811eaacee52540025c377","plan_id": "a45353328af911eb973052540025c377","month": 1,"total_amount": "5.00","show_amount": "5.00","status": 2,"remark": "","redeem_id": "","product_type": 0,"discount": "0.00","sku_detail": [],"address_person": "","address_phone": "","address_address": ""}}
}

具体解释同下方接口文档「查订单」部分

url响应格式如下:

url需要返回json数据,服务器仅检验ec 是否为200,下面是返回示例

{"ec":200,"em":""}

根据返回示例,需要我们再配置Webhook URL中最后给出成功返回的响应"ec":200,下面贴出代码

使用php作为测试,方便直接在服务器上使用 

<?php
// 接收数据并解析为 JSON 格式
$input = file_get_contents('php://input');
$data = json_decode($input, true);// 检查请求数据是否有效
if (!empty($data) && isset($data['ec'])) {
// 响应$response = array('ec' => 200, 'em' => '111'); // 将响应数据转换为 JSON 格式header('Content-Type: application/json');echo json_encode($response); // 输出 JSON 中的数据echo "ec: " . $data['ec'] . "\n";echo "em: " . $data['em'] . "\n";// 输出 data 中的内容$order = $data['data']['order'];foreach ($order as $key => $value) {echo $key . ": " . $value . "\n";}} else {// 请求数据无效,返回错误响应header('Content-Type: application/json');http_response_code(400); // 返回 HTTP 状态码 400echo json_encode(array('ec' => 400, 'em' => 'Bad Request'));}
?>

点击保存或者发送测试 就可以测试配置的url是否正确 如果返回错误的话就会响应失败 并且提示 请检查地址是否正确respones error. http_code:200,error_code:0,error_msg:

那么正确响应后是没有任何提示的.

附加postman测试方法 直接复制请求体 填写配置好的Webhook URL发送请求即可

例https://afdian.net/api/open/ping 可用postman或其他工具请求测试接口

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经验分享】Wubuntu------体验Windows和Ubuntu的结合体

【经验分享】Wubuntu------体验Windows和Ubuntu的结合体 最近看到有一款Wubuntu的文章&#xff0c;对于习惯使用windows操作系统&#xff0c;又不熟悉ubuntu系统的程序员小白来说&#xff0c;可以说是福音了。目前的Wubuntu兼容性可能还有一点问题&#xff0c;如果再迭代几次的…

【Maven学习笔记】Maven入门教程(适合新手反复观看学习)

Maven学习笔记 Maven的简要介绍Maven的安装和配置Maven的安装Maven安装的常用配置 Maven的使用入门编写pom编写主代码编写测试代码打包和运行使用Archetype生成项目骨架 Maven核心概念的阐述坐标案例分析依赖依赖的范围传递性依赖依赖范围依赖调节可选依赖Maven依赖常用的技巧 …

G4012溧宁高速青云岭隧道隧道高清晰广播现场测试效果视频

隧道作为高速公路的特殊路段&#xff0c;具有改善路线线形&#xff0c;缩短行车里程节省时间等优点。但高速公路隧道结构异于一般路面建筑&#xff0c;内部路基宽度相对狭窄、空间密闭性强、视野范围小、能见度低&#xff0c;行车环境较复杂&#xff0c;车辆行驶速度高、车流密…

关于UE的相机震动CameraShake

创建CameraShake资源 CameraShake配置是个蓝图类&#xff0c;我们选择创建BlueprintClass&#xff0c;父类选择CameraShakeBase即可。 参数调整 目前主要用到了 LocationAmplitudeMultiplier 1 LocationFrequencyMultiplier 10 RotationAmplitudeMultiplier 1 Rotation…

使用Spark清洗统计业务数据并保存到数据库中

1、打开前面创建的项目“BigData-Etl-KongGuan”&#xff0c;创建一些数据库访问的工具类和辅助类。 1&#xff09;打开SpringBoot项目&#xff1a;BigData-Etl-KongGuan 2&#xff09;创建数据库访问的工具类和辅助类&#xff1a; com.qrsoft.etl.dao.IBaseDao数据库访问的通…

因聚而生 数智有为丨软通动力携子公司鸿湖万联亮相华为中国合作伙伴大会2024

3月14日&#xff0c;以“因聚而生 数智有为”为主题的“华为中国合作伙伴大会2024”在深圳隆重开幕。作为华为的重要合作伙伴和本次大会钻石级&#xff08;最高级&#xff09;合作伙伴&#xff0c;软通动力深度参与本次盛会&#xff0c;携前沿数智化技术成果和与华为的联合解决…

网络通信与网络协议

网络编程是指利用计算机网络实现程序之间通信的一种编程方式。在网络编程中&#xff0c;程序需要通过网络协议(如 TCP/IP)来进行通信&#xff0c;以实现不同计算机之间的数据传输和共享。在网络编程中&#xff0c;通常有三个基本要素 IP 地址:定位网络中某台计算机端口号port:定…

【C语言】—— 指针一 : 初识指针(上)

【C语言】—— 指针一 &#xff1a; 初识指针&#xff08;上&#xff09; 一、内存和地址1.1、如何理解内存和地址1.2、 如何理解编址 二、指针变量和地址2.1、取地址操作符 &2.2、 指针变量2.3、 解引用操作符 ∗ * ∗2.4、指针变量的大小 三、指针变量类型的意义3.1、 指…

单词的平均长度

题目 每个句子由多个单词组成&#xff0c;句子中的每个单词的长度可能不一样&#xff0c;我假设每个单词的长度Ni为该单词的重量&#xff0c;你需要做的就是给出整个句子的平均重量 输入只有一行&#xff0c;包含一个字符串s&#xff08;长度不会超过100&#xff09;&#xf…

js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)

ajax 的核心API – XMLHttpRequest get 请求 // 新建 XMLHttpRequest 对象的实例 const xhr new XMLHttpRequest(); // 发起 get 请求&#xff0c;open 的三个参数为&#xff1a;请求类型&#xff0c;请求地址&#xff0c;是否异步请求&#xff08; true 为异步&#xff0c;f…

C++类与对象二

目录 一、类的嵌套 二、对象引用私有数据成员 通过公有函数为私有成员赋值 利用指针访问私有数据成员 利用函数访问私有数据成员 利用引用访问私有数据成员 三、成员函数重载 四、this指针 一、类的嵌套 #include <iostream> using namespace std;class CC1 { p…

瑞_JVM虚拟机_类的生命周期_初始化阶段 <clinit>

文章目录 1 JVM虚拟机概述2 类的生命周期2.1 加载阶段2.2 连接阶段2.3 初始化阶段\<client> ★★★★★2.3.1 案例一解析字节码指令 2.3.2 案例二 2.3.3 小结2.3.4 代码中触发类的初始化的方式2.3.4.0 设置打印出加载并初始化的类2.3.4.1 方式一2.3.4.2 方式二2.3.4.3 方…