爱发电开发者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 状态码 400
    echo 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或其他工具请求测试接口

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 09:10:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 09:10:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 09:10:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 09:10:01       20 阅读

热门阅读

  1. React/RN组件避免重复渲染的一些技巧

    2024-03-17 09:10:01       20 阅读
  2. typeScript

    2024-03-17 09:10:01       21 阅读
  3. iOS 开发 block 等待 block 或 block 等待

    2024-03-17 09:10:01       20 阅读
  4. Node.js 中的事件循环(Event Loop)

    2024-03-17 09:10:01       18 阅读
  5. MySQL模块---更新和删除数据

    2024-03-17 09:10:01       19 阅读
  6. FTP服务器的工作原理

    2024-03-17 09:10:01       17 阅读
  7. 序列化笔记

    2024-03-17 09:10:01       20 阅读
  8. 基于YOLO的自动驾驶目标检测研究综述

    2024-03-17 09:10:01       20 阅读