细节优化
parent
dafd7a8e5a
commit
7835bef884
|
|
@ -0,0 +1,101 @@
|
|||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\service\RefundLogService;
|
||||
|
||||
/**
|
||||
* 退款日志管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class RefundLog extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->IsLogin();
|
||||
|
||||
// 权限校验
|
||||
$this->IsPower();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 支付日志列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
$params['user'] = $this->admin;
|
||||
$params['user_type'] = 'admin';
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
|
||||
// 条件
|
||||
$where = RefundLogService::AdminRefundLogListWhere($params);
|
||||
|
||||
// 获取总数
|
||||
$total = RefundLogService::AdminRefundLogTotal($where);
|
||||
|
||||
// 分页
|
||||
$page_params = array(
|
||||
'number' => $number,
|
||||
'total' => $total,
|
||||
'where' => $params,
|
||||
'page' => isset($params['page']) ? intval($params['page']) : 1,
|
||||
'url' => MyUrl('admin/refundlog/index'),
|
||||
);
|
||||
$page = new \base\Page($page_params);
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 获取列表
|
||||
$data_params = array(
|
||||
'm' => $page->GetPageStarNumber(),
|
||||
'n' => $number,
|
||||
'where' => $where,
|
||||
);
|
||||
$data = RefundLogService::AdminRefundLogList($data_params);
|
||||
$this->assign('data_list', $data['data']);
|
||||
|
||||
// 性别
|
||||
$this->assign('common_gender_list', lang('common_gender_list'));
|
||||
|
||||
// 业务类型
|
||||
$this->assign('common_business_type_list', lang('common_business_type_list'));
|
||||
|
||||
// 支付日志类型
|
||||
$pay_type_list = RefundLogService::RefundLogTypeList($params);
|
||||
$this->assign('common_pay_type_list', $pay_type_list['data']);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -168,7 +168,8 @@
|
|||
增加:{{$v.increase_price}}<br />
|
||||
优惠:{{$v.preferential_price}}<br />
|
||||
总价:{{$v.total_price}}<br />
|
||||
支付:{{$v.pay_price}}
|
||||
支付:{{$v.pay_price}}<br />
|
||||
退款:{{if $v['refund_price'] gt 0}}<span class="am-text-danger">{{$v.refund_price}}</span>{{else /}}{{$v.refund_price}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['extension_data'])}}
|
||||
|
|
@ -261,7 +262,8 @@
|
|||
增加:{{$v.increase_price}}<br />
|
||||
优惠:{{$v.preferential_price}}<br />
|
||||
总价:{{$v.total_price}}<br />
|
||||
支付:{{$v.pay_price}}
|
||||
支付:{{$v.pay_price}}<br />
|
||||
退款:{{if $v['refund_price'] gt 0}}<span class="am-text-danger">{{$v.refund_price}}</span>{{else /}}{{$v.refund_price}}{{/if}}
|
||||
{{/if}}
|
||||
</dd>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<form class="am-form form-validation form-search" method="post" action="{{:MyUrl('admin/orderaftersale/index')}}" request-type="form">
|
||||
<div class="thin">
|
||||
<div class="am-input-group am-input-group-sm am-fl so">
|
||||
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="订单号" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
|
||||
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="订单号/快递单号" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -138,10 +138,10 @@
|
|||
{{if empty($v['buyer_user'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.buyer_user}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['pay_price'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.pay_price}}{{/if}}
|
||||
{{if empty($v['pay_price'])}}<span class="cr-ddd">未填写</span>{{else /}}<span class="am-text-danger">¥{{$v.pay_price}}</span>{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['total_price'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.total_price}}{{/if}}
|
||||
{{if empty($v['total_price'])}}<span class="cr-ddd">未填写</span>{{else /}}¥{{$v.total_price}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['subject'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.subject}}{{/if}}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,173 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation form-search" method="post" action="{{:MyUrl('admin/refundlog/index')}}" request-type="form">
|
||||
<div class="thin">
|
||||
<div class="am-input-group am-input-group-sm am-fl so">
|
||||
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="姓名/手机/昵称/支付平台单号" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
||||
</span>
|
||||
</div>
|
||||
<label class="am-fl thin_sub more-submit">
|
||||
更多筛选条件
|
||||
{{if isset($params['is_more']) and $params['is_more'] eq 1}}
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" checked />
|
||||
<i class="am-icon-angle-up"></i>
|
||||
{{else /}}
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" />
|
||||
<i class="am-icon-angle-down"></i>
|
||||
{{/if}}
|
||||
</label>
|
||||
</div>
|
||||
<table class="so-list more-where {{if !isset($params['is_more'])}}none{{/if}}">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<span>性别:</span>
|
||||
<select name="gender" class="chosen-select" data-placeholder="性别...">
|
||||
<option value="-1">性别...</option>
|
||||
{{foreach $common_gender_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($params['gender']) and $params['gender'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span>支付:</span>
|
||||
<select name="pay_type" class="chosen-select" data-placeholder="支付类型...">
|
||||
<option value="">支付类型...</option>
|
||||
{{foreach $common_pay_type_list as $v}}
|
||||
{{if !empty($v['id']) and !empty($v['name'])}}
|
||||
<option value="{{$v.id}}" {{if isset($params['pay_type']) and $params['pay_type'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span>业务:</span>
|
||||
<select name="business_type" class="chosen-select" data-placeholder="业务类型...">
|
||||
<option value="-1">业务类型...</option>
|
||||
{{foreach $common_business_type_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($params['business_type']) and $params['business_type'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</td>
|
||||
<td class="price">
|
||||
<span>金额:</span>
|
||||
<span>
|
||||
<input type="text" autocomplete="off" name="price_start" class="am-form-field am-input-sm am-radius" placeholder="最低支付金额" value="{{if !empty($params.price_start)}}{{$params.price_start}}{{/if}}" data-validation-message="支付金额格式有误" autocomplete="off" />
|
||||
</span>
|
||||
<em class="text-grey">~</em>
|
||||
<span>
|
||||
<input type="text" autocomplete="off" name="price_end" class="am-form-field am-input-sm am-radius" placeholder="最高支付金额" value="{{if !empty($params.price_end)}}{{$params.price_end}}{{/if}}" pattern="^[0-9]{4}-[0-9]{2}-[0-9]{2}$" data-validation-message="支付金额格式有误" autocomplete="off" />
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="time">
|
||||
<span>时间:</span>
|
||||
<span>
|
||||
<input type="text" autocomplete="off" name="time_start" class="am-form-field am-input-sm am-radius Wdate" placeholder="起始时间" value="{{if !empty($params.time_start)}}{{$params.time_start}}{{/if}}" data-validation-message="日期格式有误" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" /><i class="am-icon-calendar"></i>
|
||||
</span>
|
||||
<em class="text-grey">~</em>
|
||||
<span>
|
||||
<input type="text" autocomplete="off" name="time_end" class="am-form-field am-input-sm am-radius Wdate" placeholder="结束时间" value="{{if !empty($params.time_end)}}{{$params.time_end}}{{/if}}" pattern="^[0-9]{4}-[0-9]{2}-[0-9]{2}$" data-validation-message="日期格式有误" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" /><i class="am-icon-calendar"></i>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-xs btn-loading-example" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
||||
<a href="{{:MyUrl('admin/refundlog/index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-10 m-l-5">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>用户信息</th>
|
||||
<th>支付类型</th>
|
||||
<th>业务类型</th>
|
||||
<th class="am-hide-sm-only">业务订单id</th>
|
||||
<th class="am-hide-sm-only">支付平台交易号</th>
|
||||
<th class="am-hide-sm-only">支付平台用户帐号</th>
|
||||
<th>退款金额</th>
|
||||
<th>订单支付金额</th>
|
||||
<th class="am-hide-sm-only">描述</th>
|
||||
<th class="am-hide-sm-only">退款时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($data_list)}}
|
||||
{{foreach $data_list as $v}}
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>
|
||||
{{if !empty($v['username'])}}
|
||||
{{$v.username}}
|
||||
{{if !empty($v['nickname'])}}
|
||||
({{$v.nickname}})
|
||||
{{/if}}
|
||||
<br />
|
||||
{{/if}}
|
||||
{{if !empty($v['mobile'])}}
|
||||
{{$v.mobile}}<br />
|
||||
{{/if}}
|
||||
{{$v.gender_text}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['payment_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.payment_name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['business_type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.business_type_name}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['order_id'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.order_id}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['trade_no'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.trade_no}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['buyer_user'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.buyer_user}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['refund_price'])}}<span class="cr-ddd">未填写</span>{{else /}}<span class="am-text-danger">¥{{$v.refund_price}}</span>{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['pay_price'])}}<span class="cr-ddd">未填写</span>{{else /}}¥{{$v.pay_price}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['msg'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.msg}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['add_time_time'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.add_time_time}}{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{if empty($data_list)}}
|
||||
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
|
||||
{{/if}}
|
||||
<!-- list end -->
|
||||
|
||||
<!-- page start -->
|
||||
{{if !empty($data_list)}}
|
||||
{{$page_html|raw}}
|
||||
{{/if}}
|
||||
<!-- page end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -20,4 +20,18 @@
|
|||
<li {{if $nav_type eq 'orderaftersale'}}class="am-active"{{/if}} data-type="orderaftersale">
|
||||
<a href="{{:MyUrl('admin/site/index', ['nav_type'=>'orderaftersale'])}}">订单售后</a>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
{{if in_array($nav_type, ['login', 'forgetpwd'])}}
|
||||
<!-- 登录/密码找回提示 -->
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p class="fs-12">左侧图片最多可上传3张图片、每次随机展示其中一张</p>
|
||||
</div>
|
||||
{{elseif in_array($nav_type, ['register']) /}}
|
||||
<!-- 注册提示 -->
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p class="fs-12">可自定义背景图片、默认底灰色</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -444,11 +444,11 @@ class OrderAftersaleService
|
|||
$where[] = ['user_id', 'in', $user_ids];
|
||||
} else {
|
||||
// 无数据条件,走单号条件
|
||||
$where[] = ['order_no', '=', $params['keywords']];
|
||||
$where[] = ['order_no|express_number', '=', $params['keywords']];
|
||||
}
|
||||
} else {
|
||||
// 用户走关键字
|
||||
$where[] = ['order_no', '=', $params['keywords']];
|
||||
$where[] = ['order_no|express_number', '=', $params['keywords']];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -771,6 +771,7 @@ class OrderAftersaleService
|
|||
$upd_data = [
|
||||
'status' => 6,
|
||||
'pay_status' => 2,
|
||||
'refund_price' => PriceNumberFormat($order['data']['refund_price']+$aftersale['price']),
|
||||
'close_time' => time(),
|
||||
'upd_time' => time(),
|
||||
];
|
||||
|
|
@ -868,7 +869,7 @@ class OrderAftersaleService
|
|||
$refund_log = [
|
||||
'user_id' => $order['user_id'],
|
||||
'order_id' => $order['id'],
|
||||
'total_price' => $order['total_price'],
|
||||
'pay_price' => $order['pay_price'],
|
||||
'trade_no' => isset($ret['data']['trade_no']) ? $ret['data']['trade_no'] : '',
|
||||
'buyer_user' => isset($ret['data']['buyer_user']) ? $ret['data']['buyer_user'] : '',
|
||||
'refund_price' => isset($ret['data']['refund_price']) ? $ret['data']['refund_price'] : '',
|
||||
|
|
@ -935,7 +936,7 @@ class OrderAftersaleService
|
|||
$refund_log = [
|
||||
'user_id' => $order['user_id'],
|
||||
'order_id' => $order['id'],
|
||||
'total_price' => $order['total_price'],
|
||||
'pay_price' => $order['pay_price'],
|
||||
'trade_no' => '',
|
||||
'buyer_user' => '',
|
||||
'refund_price' => $aftersale['price'],
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class RefundLogService
|
|||
* @param [array] $params [输入参数]
|
||||
* @param [int] $user_id [用户id]
|
||||
* @param [int] $order_id [业务订单id]
|
||||
* @param [float] $total_price [业务订单实际金额]
|
||||
* @param [float] $pay_price [业务订单实际支付金额]
|
||||
* @param [string] $trade_no [支付平台交易号]
|
||||
* @param [string] $buyer_user [支付平台用户帐号]
|
||||
* @param [float] $refund_price [退款金额]
|
||||
|
|
@ -46,7 +46,7 @@ class RefundLogService
|
|||
$data = [
|
||||
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
|
||||
'order_id' => isset($params['order_id']) ? intval($params['order_id']) : 0,
|
||||
'total_price' => isset($params['total_price']) ? PriceNumberFormat($params['total_price']) : 0.00,
|
||||
'pay_price' => isset($params['pay_price']) ? PriceNumberFormat($params['pay_price']) : 0.00,
|
||||
'trade_no' => isset($params['trade_no']) ? $params['trade_no'] : '',
|
||||
'buyer_user' => isset($params['buyer_user']) ? $params['buyer_user'] : '',
|
||||
'refund_price' => isset($params['refund_price']) ? PriceNumberFormat($params['refund_price']) : 0.00,
|
||||
|
|
@ -61,14 +61,14 @@ class RefundLogService
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取支付日志类型
|
||||
* 获取退款日志类型
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2018-12-23T02:22:03+0800
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function PayLogTypeList($params = [])
|
||||
public static function RefundLogTypeList($params = [])
|
||||
{
|
||||
$data = Db::name('RefundLog')->field('payment AS id, payment_name AS name')->group('payment')->select();
|
||||
return DataReturn('处理成功', 0, $data);
|
||||
|
|
@ -194,7 +194,7 @@ class RefundLogService
|
|||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function PayLogDelete($params = [])
|
||||
public static function RefundLogDelete($params = [])
|
||||
{
|
||||
// 请求参数
|
||||
$p = [
|
||||
|
|
@ -211,7 +211,7 @@ class RefundLogService
|
|||
}
|
||||
|
||||
// 删除操作
|
||||
if(Db::name('PayLog')->where(['id'=>$params['id']])->delete())
|
||||
if(Db::name('RefundLog')->where(['id'=>$params['id']])->delete())
|
||||
{
|
||||
return DataReturn('删除成功');
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,26 +0,0 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIEaDCCA9GgAwIBAgIDas/LMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
|
||||
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
|
||||
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
|
||||
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MTIwMzA5NTIwN1oX
|
||||
DTI2MTIwMTA5NTIwN1owgZgxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
|
||||
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
|
||||
EwVNTVBheTEtMCsGA1UEAxQk5LiK5rW35YyX5pav572R57uc56eR5oqA5pyJ6ZmQ
|
||||
5YWs5Y+4MREwDwYDVQQEEwgxMDQyMzc1NjCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBAMDA5gcWYofO1bp8xEuEMSa7i1WiPi4PuU02FWmDi3wSNIzpyrpP
|
||||
qXmmCu8DRBry4dRf4/62WFgzh0HP9TRnmDsADAr4/Q2i/QQMlFnYyk1N8X7muirP
|
||||
T4aU8BpR4zwBEQMsSybdmuJvyxxZMKR3/McMjXnuyqX6tFbUhCg5XBTZwBR6CNU/
|
||||
Dx28VC6xWvBeWKzjELC59nyb263hjlHjdEy/8xufh3Oux/+nherHSTzQFHPgW9cB
|
||||
25/o90pLq1zSJx66UcdkKMJP8JjOnMvn+nCZmFUDawJKD9SlOLW06DyE/WBDV/Uf
|
||||
qgdm+I1kR5IwRyxGKFwWjP4yDaWqlCEzvpkCAwEAAaOCAUYwggFCMAkGA1UdEwQC
|
||||
MAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUi
|
||||
MB0GA1UdDgQWBBTVt+c3x8Y9CT62eTuErS8U9yFJ2jCBvwYDVR0jBIG3MIG0gBQ+
|
||||
BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNV
|
||||
BAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNl
|
||||
bnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3
|
||||
DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIG
|
||||
wDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQAT1LPp
|
||||
RghlBDmKjhFG596cZrYswQznfgahTOwb66nL1WXg6XlBb7sIqflKinAXzQOZJML4
|
||||
iAsHCLq63y+ELJKMeh96tOmgH3pzQt9R6j2aL7kg6aXSSEiPlXiVKStiy2OWARWC
|
||||
lwHc+cBmxiw8K7818NuCc0/WlYzrawPfPQat2g==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDAwOYHFmKHztW6
|
||||
fMRLhDEmu4tVoj4uD7lNNhVpg4t8EjSM6cq6T6l5pgrvA0Qa8uHUX+P+tlhYM4dB
|
||||
z/U0Z5g7AAwK+P0Nov0EDJRZ2MpNTfF+5roqz0+GlPAaUeM8AREDLEsm3Zrib8sc
|
||||
WTCkd/zHDI157sql+rRW1IQoOVwU2cAUegjVPw8dvFQusVrwXlis4xCwufZ8m9ut
|
||||
4Y5R43RMv/Mbn4dzrsf/p4Xqx0k80BRz4FvXAduf6PdKS6tc0iceulHHZCjCT/CY
|
||||
zpzL5/pwmZhVA2sCSg/UpTi1tOg8hP1gQ1f1H6oHZviNZEeSMEcsRihcFoz+Mg2l
|
||||
qpQhM76ZAgMBAAECggEAQjtGDxNjAdVRXUX30Rb4KJ3yr5cTFJK0klJOIzZfHF/J
|
||||
DM5cqY4r5q/mO+B8a2IftPDKD8CqNIxoInYJhFtAVK2cdby+fwwNMnH8G69BPDTX
|
||||
EUrIl2MqqUzN/805bmnTZaq3nAAzczEEspX2/9x20BKBHm+t1ECD7P4S9xtWh5b+
|
||||
H8IycTZLB5Y6R+0cTptpzkuUvp4kJDfXg9++QyHucEdG3+0jN26qSfog0KPbbeQZ
|
||||
Odmvg8POsMqGcNhsa13OgP9mggQiKtsDQ2hyYbCIjNLK/Rs3JU/dLzJihXazfI12
|
||||
VjIpBbT//Z7LddBnfZ1jfy0OW2jn7s4SObW2ds7ysQKBgQDeXoJvoVE+ZcjTv80t
|
||||
woqXwNYO8Vo9n1fM+8V9kWELgMm1/H2PmEu1pmHUwWwYz4xmNan4NcA0m13MH2tx
|
||||
WItE0GFpISYdCc3jXdU8toGU4YnxACh+GPRy4PHmX3DjA7xx1BX+O4NUKpgt5N9J
|
||||
fxb9k1h4NuXW10qVAKJspTW4HQKBgQDd58GTF+6hjaicEUUZUm+VeejvZaVsVGSn
|
||||
K0HixOU0JfeLWugLswgEB2TU84JFrULfRkjtMOx/5J6MeZFljD/E3VwtVMg2aIrN
|
||||
x5/gRQWyPpfhcl1ZhFy2an3Ql/uMgA/75zU2/EMWV2qAKsQpd3std1Fem370bh1J
|
||||
slJrqi0vrQKBgQDERfsveN3zC3hFnsgFme8mnyjRq6qRNbIT1i6s9MMJmjVwklpp
|
||||
gm1g+mjjl45IH/m2xasu0JLEXFZgM2NselEC/kLcvkub2emGxG3Q1u5tcN2GgTM8
|
||||
id5J/87EHn3Pgp60ghSff/wdMDN+XsPPZYPvcjzmbt5T0VedSSAUcYaG6QKBgQCd
|
||||
i4oKZcZdWpan3zcAyF9Cb6AqPy9YHv6rFPIdDw9vm7kJbkwq6ju5qIo1CoGl+GHu
|
||||
5Ranl8GA9459S14oC4/GtCZaZMQUpNpPSPhAIKDvsLLiM/EEug2c0TRsIUtNsCoo
|
||||
/Tjxxd3Xgc6yGirVCeghGoJhueJDpd4TUZBkshiMrQKBgCJsFeRZGLpqIIF8nQDA
|
||||
8ut6O5e7LRFguqcfp2pMHCSt7inzSJZNQsYq38dPPW2UYBmTO0C8kwNJCjVyYJt3
|
||||
K6Aw9tjix1FU5dqNmC3GDwstz5VmXqmsyISRePgjiMYaIdysDFZYiw6gCRoDKN31
|
||||
OvonqYebbxvzTfQGtUNmCdvW
|
||||
-----END PRIVATE KEY-----
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
欢迎使用微信支付!
|
||||
附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
|
||||
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
|
||||
不同开发语言下的证书格式不同,以下为说明指引:
|
||||
证书pkcs12格式(apiclient_cert.p12)
|
||||
包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
|
||||
部分安全性要求较高的API需要使用该证书来确认您的调用身份
|
||||
windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户ID(如:10010000)
|
||||
证书pem格式(apiclient_cert.pem)
|
||||
从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
|
||||
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
|
||||
您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
|
||||
证书密钥pem格式(apiclient_key.pem)
|
||||
从apiclient_cert.p12中导出密钥部分的文件,为pem格式
|
||||
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
|
||||
您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
|
||||
备注说明:
|
||||
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue