新增通商户消费者投诉2.0

This commit is contained in:
承诺 2024-10-17 12:01:29 +08:00 committed by GitHub
parent c4db8b7ee8
commit 4eec331f7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 258 additions and 0 deletions

144
Complaints.php Normal file
View File

@ -0,0 +1,144 @@
<?php
namespace WePayV3;
use WePayV3\Contracts\BasicWePay;
/**
* 普通商户消费者投诉2.0
* Class Complaints
* @package WePayV3
*/
class Complaints extends BasicWePay
{
/**
* 查询投诉列表
* @param int $offset 分页开始位置
* @param int $limit 分页大小
* @param String $begin_date 开始日期
* @param String $end_date 结束日期
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function complaintList(int $offset = 0, int $limit = 10, String $begin_date, String $end_date)
{
$mchId = $this->config['mch_id'];
$pathinfo = "/v3/merchant-service/complaints-v2?limit={$limit}&offset={$offset}&begin_date={$begin_date}&end_date={$end_date}&complainted_mchid={$mchId}";
return $this->doRequest('GET', $pathinfo,'', true);
}
/**
* 查询投诉详情
* @param String $complaint_id 被投诉单号
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function complaintDetails(String $complaint_id)
{
$pathinfo = "/v3/merchant-service/complaints-v2/{$complaint_id}";
return $this->doRequest('GET', $pathinfo,'', true);
}
/**
* 查询投诉协商历史
* @param String $complaint_id 被投诉单号
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function negotiationHistory(String $complaint_id)
{
$pathinfo = "/v3/merchant-service/complaints-v2/{$complaint_id}/negotiation-historys";
return $this->doRequest('GET', $pathinfo,'', true);
}
/**
* 创建投诉通知回调地址
* @param String $url 回调通知地址
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function CreateComplaintsNotify(String $url)
{
return $this->doRequest('POST', '/v3/merchant-service/complaint-notifications', json_encode(['url' => $url],JSON_UNESCAPED_UNICODE), true);
}
/**
* 查询投诉通知回调地址
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function queryComplaintsNotify()
{
return $this->doRequest('GET', '/v3/merchant-service/complaint-notifications', '', true);
}
/**
* 更新投诉通知回调地址
* @param String $url 回调通知地址
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function updateComplaintsNotify(String $url){
return $this->doRequest('PUT', '/v3/merchant-service/complaint-notifications', json_encode(['url' => $url],JSON_UNESCAPED_UNICODE), true);
}
/**
* 删除投诉通知回调地址
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function deleteComplaintsNotify(){
return $this->doRequest('DELETE', '/v3/merchant-service/complaint-notifications', '', true);
}
/**
* 回复投诉
* @param String $complaint_id 被投诉单号
* @param String $content 回复内容
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function replyInfo(String $complaint_id, array $content)
{
$content['complainted_mchid'] = $this->config['mch_id'];
$pathinfo = "/v3/merchant-service/complaints-v2/{$complaint_id}/response";
return $this->doRequest('POST', $pathinfo, json_encode($content,JSON_UNESCAPED_UNICODE), true);
}
/**
* 反馈处理完成
* @param string $complaint_id 被投诉单号
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function completeComplaints(string $complaint_id)
{
$mchId = $this->config['mch_id'];
$pathinfo = "/v3/merchant-service/complaints-v2/{$complaint_id}/complete";
return $this->doRequest('POST', $pathinfo, json_encode(['complainted_mchid' => $mchId],JSON_UNESCAPED_UNICODE),true);
}
/**
* 图片请求接口
* @param $pathinfo
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function downLoadImg(string $pathinfo)
{
return $this->doRequest('GET', $pathinfo, '',true,false);
}
/**
* 图片上传接口
* @param $imginfo
* @return array|string
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function uploadImg(array $imginfo)
{
return $this->doRequest('POST', '/v3/merchant-service/images/upload', json_encode($imginfo,JSON_UNESCAPED_UNICODE),true);
}
}

114
ProfitSharing.php Normal file
View File

@ -0,0 +1,114 @@
<?php
// +----------------------------------------------------------------------
// | WeChatDeveloper
// +----------------------------------------------------------------------
// | 版权所有 2014~2024 ThinkAdmin [ thinkadmin.top ]
// +----------------------------------------------------------------------
// | 官方网站: https://thinkadmin.top
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// | 免责声明 ( https://thinkadmin.top/disclaimer )
// +----------------------------------------------------------------------
// | gitee 代码仓库https://gitee.com/zoujingli/WeChatDeveloper
// | github 代码仓库https://github.com/zoujingli/WeChatDeveloper
// +----------------------------------------------------------------------
namespace WePayV3;
use WePayV3\Contracts\BasicWePay;
/**
* 普通商户商家分账
* Class Profitsharing
* @package WePayV3
*/
class ProfitSharing extends BasicWePay
{
/**
* 请求分账
* @param array $options
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function create(array $options)
{
$options['appid'] = $this->config['appid'];
return $this->doRequest('POST', '/v3/profitsharing/orders', json_encode($options, JSON_UNESCAPED_UNICODE), true);
}
/**
* 查询分账结果
* @param string $outOrderNo 商户分账单号
* @param string $transactionId 微信订单号
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function query(string $outOrderNo, string $transactionId)
{
$pathinfo = "/v3/profitsharing/orders/{$outOrderNo}?&transaction_id={$transactionId}";
return $this->doRequest('GET', $pathinfo, '', true);
}
/**
* 解冻剩余资金
* @param array $options
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function unfreeze(array $options)
{
return $this->doRequest('POST', '/v3/profitsharing/orders/unfreeze', json_encode($options, JSON_UNESCAPED_UNICODE), true);
}
/**
* 查询剩余待分金额
* @param string $transactionId 微信订单号
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function amounts(string $transactionId)
{
$pathinfo = "/v3/profitsharing/transactions/{$transactionId}/amounts";
return $this->doRequest('GET', $pathinfo, '', true);
}
/**
* 添加分账接收方
* @param array $options
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function addReceiver(array $options)
{
$options['appid'] = $this->config['appid'];
if (isset($options['name'])) {
$options['name'] = $this->rsaEncode($options['name']);
}
return $this->doRequest('POST', "/v3/profitsharing/receivers/add", json_encode($options, JSON_UNESCAPED_UNICODE), true);
}
/**
* 删除分账接收方
* @param array $options
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function deleteReceiver(array $options)
{
$options['appid'] = $this->config['appid'];
return $this->doRequest('POST', "/v3/profitsharing/receivers/delete", json_encode($options, JSON_UNESCAPED_UNICODE), true);
}
/**
* 请求分账回退
* @param array $options
* @return array
* @throws \WeChat\Exceptions\InvalidResponseException
*/
public function backspace(array $options)
{
$options['appid'] = $this->config['appid'];
return $this->doRequest('POST', "/v3/profitsharing/return-orders", json_encode($options, JSON_UNESCAPED_UNICODE), true);
}
}