Files
littleTiger/plugins/payment/weixin/app_notify/Wxpay/WxPayConfig.class.php

108 lines
3.9 KiB
PHP
Raw Permalink Normal View History

2019-02-28 19:48:21 +08:00
<?php
//namespace Vendor\Wxpay;
/**
* 配置账号信息
*/
use Think\Controller;
class WxPayConfig
{
//保存类实例的静态成员变量
public static $_instance;
public static $APPID;
public static $MCHID;
public static $KEY;
public static $APPSECRET = '';
public static $NOTIFY_URL;
//private标记的构造方法
private function __construct($trade_type)
{
$code = '';
if (!$trade_type || $trade_type == "APP") {
$code = 'appWeixinPay';
} elseif ($trade_type == 'JSAPI') {
$code = 'miniAppPay';
}
$wxPay = M('plugin')->where(array('type'=>'payment','code'=>$code))->find();
$wxPayVal = unserialize($wxPay['config_value']);
self::$APPID = $wxPayVal['appid'];
self::$MCHID = $wxPayVal['mchid'];
self::$KEY = $wxPayVal['key'];
self::$APPSECRET = $wxPayVal['appsecret'];
$http = (!$_SERVER['HTTPS'] || $_SERVER['HTTPS'] == 'off') ? "http://" : "https://";
self::$NOTIFY_URL = $http.$_SERVER["SERVER_NAME"].U('Api/Wxpay/notify');
}
//创建__clone方法防止对象被复制克隆
public function __clone()
{
trigger_error('Clone is not allow!', E_USER_ERROR);
}
//单例方法,用于访问实例的公共的静态方法
public static function getInstance($trade_type)
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self($trade_type);
}
return self::$_instance;
}
public function test()
{
echo '调用方法成功';
}
//=======【基本信息设置】=====================================
//
/**
* TODO: 修改这里配置为您自己申请的商户信息
* 微信公众号信息配置
*
* APPID应用APPID必须配置开户邮件中可查看
*
* MCHID微信支付商户号必须配置开户邮件中可查看
*
* KEYAPI密钥参考开户邮件设置必须配置登录商户平台自行设置
* 设置地址https://pay.weixin.qq.com/index.php/account/api_cert
*
*/
// const APPID = 'wx3ffebc5714c70a6f';
// const MCHID = '1394181802';
// const KEY = 'A1L0TMIKCJZ4O86XHB5PF29E3UWVDSGR';
// const NOTIFY_URL = "www.xx.com/index.php/Api/Wxpay/notify";
//=======【证书路径设置】=====================================
/**
* TODO设置商户证书路径
* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要,可登录商户平台下载,
* API证书下载地址https://pay.weixin.qq.com/index.php/account/api_cert下载之前需要安装商户操作证书
* @var path
*/
const SSLCERT_PATH = '../../cert/apiclient_cert.pem';
const SSLKEY_PATH = '../../cert/apiclient_key.pem';
//=======【curl代理设置】===================================
/**
* TODO这里设置代理机器只有需要代理的时候才设置不需要代理请设置为0.0.0.0和0
* 本例程通过curl使用HTTP POST方法此处可修改代理服务器
* 默认CURL_PROXY_HOST=0.0.0.0和CURL_PROXY_PORT=0,此时不开启代理(如有需要才设置)
* @var unknown_type
*/
// const CURL_PROXY_HOST ="0.0.0.0";//"10.152.18.220"
const CURLOPT_PROXY = '0.0.0.0';//"10.152.18.220"
// const CURL_PROXY_PORT = 0;//8080;
const CURLOPT_PROXYPORT = 0;//8080;
//=======【上报信息配置】===================================
/**
* TODO接口调用上报等级默认紧错误上报注意上报超时间为【1s】上报无论成败【永不抛出异常】
* 不会影响接口调用流程),开启上报之后,方便微信监控请求调用的质量,建议至少
* 开启错误上报。
* 上报等级0.关闭上报; 1.仅错误出错上报; 2.全量上报
* @var int
*/
const REPORT_LEVENL = 1;
}