返回介绍

投诉查询

发布于 2024-04-20 23:54:35 字数 8535 浏览 0 评论 0 收藏 0

获取投诉


根据商户号,获取商户被投诉的订单

请求地址:https://payjs.cn/api/complaint

请求参数:

字段名称字段类型必填参数说明
mchidstring(32)Y商户号
signstring(32)Y数据签名 详见签名算法

请求返回:

字段名称字段类型必填参数说明
return_codeintY1:请求成功 0:请求失败
return_msgstring(32)Y返回消息
complaintsstring(255)Y投诉详情
signstring(32)Y数据签名 详见签名算法

其中 complaint 参数存在时的格式为:

字段名称字段类型必填参数说明
complaint_atstring(32)Y投诉日期
out_trade_nostring(32)Y商户侧订单号
complaint_idstring(32)Y投诉编号
order_idstring(32)YPAYJS订单号
total_feeintY订单金额(分)
bodystring(255)Y投诉内容(可能为空)

该接口字段可能会变化,请勿使用 hardcode

本接口有频率限制,建议每4个小时请求一次


演示代码: php python go node java csharp

// 引入 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

// 引入 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))
}

node

// 项目地址:https://github.com/payjs-cn/demo-nodejs
// 首先引入文件,并在config.js中配置商户号和通信密钥
var cfg = require("./config.js"); 
var pay = require("./pay.js");

//投诉接口
var params = {
  'mchid': cfg.payjsmchid
};
pay.complaint(params,function (msg) {
  console.log(msg);
  /**TODO 这里处理业务逻辑 */
});

java

// 完整代码:https://github.com/payjs-cn/demo-java
public Object Complaint() {
    Map<String,String> payData = new HashMap<>();
    payData.put("mchid", PayjsConfig.mchid);

    // 进行sign签名
    payData.put("sign", sign(payData, PayjsConfig.key));

    // 请求payjs
    String result = HttpsUtils.sendPost(PayjsConfig.complaintUrl, JSON.toJSONString(payData),null);

    // 接口返回数据
    return JSON.parseObject(result);
}

csharp

// 完整项目地址:https://github.com/payjs-cn/sdk-csharp

Payjs pay = new Payjs("YOUR MCHID", "YOUR KEY");

Dictionary<string, string> param = new Dictionary<string, string>();

//返回原始json字符串
string jsonString = pay.complaint(param);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文