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或其他工具请求测试接口