获取投诉
根据商户号,获取商户被投诉的订单
请求地址:https://payjs.cn/api/complaint
请求参数:
字段名称 | 字段类型 | 必填参数 | 说明 |
---|---|---|---|
mchid | string(32) | Y | 商户号 |
sign | string(32) | Y | 数据签名 详见签名算法 |
请求返回:
字段名称 | 字段类型 | 必填参数 | 说明 |
---|---|---|---|
return_code | int | Y | 1:请求成功 0:请求失败 |
return_msg | string(32) | Y | 返回消息 |
complaints | string(255) | Y | 投诉详情 |
sign | string(32) | Y | 数据签名 详见签名算法 |
其中 complaint
参数存在时的格式为:
字段名称 | 字段类型 | 必填参数 | 说明 |
---|---|---|---|
complaint_at | string(32) | Y | 投诉日期 |
out_trade_no | string(32) | Y | 商户侧订单号 |
order_id | string(32) | Y | PAYJS订单号 |
total_fee | int | Y | 订单金额(分) |
body | string(255) | Y | 投诉内容(可能为空) |
该接口字段可能会变化,请勿使用 hardcode
本接口有频率限制,建议每4个小时请求一次
演示代码:
<?php
/**
* 引入 payjs.class.php
* https://github.com/payjs-cn/phpsdk
*/
include("payjs.class.php");
$mchid = '123456';
$key = 'xxxxxx';
$data = [
"mchid" => $mchid,
];
$payjs = new Payjs($mchid, $key);
$result = $payjs->complaint($data);
print_r($result);
php
<?php
/**
* 引入 payjs.class.php
* https://github.com/payjs-cn/phpsdk
*/
include("payjs.class.php");
$mchid = '123456';
$key = 'xxxxxx';
$data = [
"mchid" => $mchid,
];
$payjs = new Payjs($mchid, $key);
$result = $payjs->complaint($data);
print_r($result);
python
# !/usr/bin/env Python3
# -*- coding: utf-8 -*-
import requests
import hashlib
from urllib.parse import urlencode,unquote
'''
获取投诉
'''
mchid = '' # PAYJS 商户号
key = '' # 填写通信密钥
order = {
'mchid' : mchid
}
# 构造签名函数
def sign(attributes,key):
attributes_new = {k: attributes[k] for k in sorted(attributes.keys())}
return hashlib.md5((unquote(urlencode(attributes_new))+'&key='+key)
.encode(encoding='utf-8')).hexdigest().upper()
order['sign'] = sign(order,key)
request_url = "https://payjs.cn/api/complaint"
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=order,headers=headers)
if response:
print(response.json())
go
package main
import (
"fmt"
"strings"
"net/http"
"net/url"
"io/ioutil"
)
func main(){
data := url.Values{"mchid":{"XXX"}, "sign":{"XXX"}}
data2 := strings.NewReader(data.Encode())
resp, err := http.Post("https://payjs.cn/api/complaint", "application/x-www-form-urlencoded", data2)
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// handle error
}
fmt.Println(string(body))
}