初始化仓库

This commit is contained in:
wangxiaowei
2025-04-22 14:09:52 +08:00
commit 8b100110bb
5155 changed files with 664201 additions and 0 deletions

View File

@ -0,0 +1,111 @@
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace Alipay\EasySDK\Util\AES;
use Alipay\EasySDK\Kernel\EasySDKKernel;
class Client {
protected $_kernel;
public function __construct($kernel){
$this->_kernel = $kernel;
}
/**
* @param string $cipherText
* @return string
*/
public function decrypt($cipherText){
return $this->_kernel->aesDecrypt($cipherText, $this->_kernel->getConfig("encryptKey"));
}
/**
* @param string $plainText
* @return string
*/
public function encrypt($plainText){
return $this->_kernel->aesEncrypt($plainText, $this->_kernel->getConfig("encryptKey"));
}
/**
* ISV代商户代用指定appAuthToken
*
* @param $appAuthToken String 代调用token
* @return $this 本客户端,便于链式调用
*/
public function agent($appAuthToken)
{
$this->_kernel->injectTextParam("app_auth_token", $appAuthToken);
return $this;
}
/**
* 用户授权调用指定authToken
*
* @param $authToken String 用户授权token
* @return $this
*/
public function auth($authToken)
{
$this->_kernel->injectTextParam("auth_token", $authToken);
return $this;
}
/**
* 设置异步通知回调地址此处设置将在本调用中覆盖Config中的全局配置
*
* @param $url String 异步通知回调地址例如https://www.test.com/callback
* @return $this
*/
public function asyncNotify($url)
{
$this->_kernel->injectTextParam("notify_url", $url);
return $this;
}
/**
* 将本次调用强制路由到后端系统的测试地址上,常用于线下环境内外联调,沙箱与线上环境设置无效
*
* @param $testUrl String 后端系统测试地址
* @return $this
*/
public function route($testUrl)
{
$this->_kernel->injectTextParam("ws_service_url", $testUrl);
return $this;
}
/**
* 设置API入参中没有的其他可选业务请求参数(biz_content下的字段)
*
* @param $key String 业务请求参数名称biz_content下的字段名比如timeout_express
* @param $value object 业务请求参数的值一个可以序列化成JSON的对象
* 如果该字段是一个字符串类型String、Price、Date在SDK中都是字符串请使用String储存
* 如果该字段是一个数值型类型比如Number请使用Long储存
* 如果该字段是一个复杂类型请使用嵌套的array指定各下级字段的值
* 如果该字段是一个数组请使用array储存各个值
* @return $this
*/
public function optional($key, $value)
{
$this->_kernel->injectBizParam($key, $value);
return $this;
}
/**
* 批量设置API入参中没有的其他可选业务请求参数(biz_content下的字段)
* optional方法的批量版本
*
* @param $optionalArgs array 可选参数集合每个参数由key和value组成key和value的格式请参见optional方法的注释
* @return $this
*/
public function batchOptional($optionalArgs)
{
foreach ($optionalArgs as $key => $value) {
$this->_kernel->injectBizParam($key, $value);
}
return $this;
}
}

View File

@ -0,0 +1,309 @@
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace Alipay\EasySDK\Util\Generic;
use Alipay\EasySDK\Kernel\EasySDKKernel;
use AlibabaCloud\Tea\Tea;
use AlibabaCloud\Tea\Request;
use AlibabaCloud\Tea\Exception\TeaError;
use \Exception;
use AlibabaCloud\Tea\Exception\TeaUnableRetryError;
use Alipay\EasySDK\Util\Generic\Models\AlipayOpenApiGenericResponse;
use AlibabaCloud\Tea\Response;
use Alipay\EasySDK\Util\Generic\Models\AlipayOpenApiGenericSDKResponse;
class Client {
protected $_kernel;
public function __construct($kernel){
$this->_kernel = $kernel;
}
/**
* @param string $method
* @param string[] $textParams
* @param mixed[] $bizParams
* @return AlipayOpenApiGenericResponse
* @throws TeaError
* @throws Exception
* @throws TeaUnableRetryError
*/
public function execute($method, $textParams, $bizParams){
$_runtime = [
"ignoreSSL" => $this->_kernel->getConfig("ignoreSSL"),
"httpProxy" => $this->_kernel->getConfig("httpProxy"),
"connectTimeout" => 15000,
"readTimeout" => 15000,
"retry" => [
"maxAttempts" => 0
]
];
$_lastRequest = null;
$_lastException = null;
$_now = time();
$_retryTimes = 0;
while (Tea::allowRetry(@$_runtime["retry"], $_retryTimes, $_now)) {
if ($_retryTimes > 0) {
$_backoffTime = Tea::getBackoffTime(@$_runtime["backoff"], $_retryTimes);
if ($_backoffTime > 0) {
Tea::sleep($_backoffTime);
}
}
$_retryTimes = $_retryTimes + 1;
try {
$_request = new Request();
$systemParams = [
"method" => $method,
"app_id" => $this->_kernel->getConfig("appId"),
"timestamp" => $this->_kernel->getTimestamp(),
"format" => "json",
"version" => "1.0",
"alipay_sdk" => $this->_kernel->getSdkVersion(),
"charset" => "UTF-8",
"sign_type" => $this->_kernel->getConfig("signType"),
"app_cert_sn" => $this->_kernel->getMerchantCertSN(),
"alipay_root_cert_sn" => $this->_kernel->getAlipayRootCertSN()
];
$_request->protocol = $this->_kernel->getConfig("protocol");
$_request->method = "POST";
$_request->pathname = "/gateway.do";
$_request->headers = [
"host" => $this->_kernel->getConfig("gatewayHost"),
"content-type" => "application/x-www-form-urlencoded;charset=utf-8"
];
$_request->query = $this->_kernel->sortMap(Tea::merge([
"sign" => $this->_kernel->sign($systemParams, $bizParams, $textParams, $this->_kernel->getConfig("merchantPrivateKey"))
], $systemParams, $textParams));
$_request->body = $this->_kernel->toUrlEncodedRequestBody($bizParams);
$_lastRequest = $_request;
$_response= Tea::send($_request, $_runtime);
$respMap = $this->_kernel->readAsJson($_response, $method);
if ($this->_kernel->isCertMode()) {
if ($this->_kernel->verify($respMap, $this->_kernel->extractAlipayPublicKey($this->_kernel->getAlipayCertSN($respMap)))) {
return AlipayOpenApiGenericResponse::fromMap($this->_kernel->toRespModel($respMap));
}
}
else {
if ($this->_kernel->verify($respMap, $this->_kernel->getConfig("alipayPublicKey"))) {
return AlipayOpenApiGenericResponse::fromMap($this->_kernel->toRespModel($respMap));
}
}
throw new TeaError([
"message" => "验签失败,请检查支付宝公钥设置是否正确。"
]);
}
catch (Exception $e) {
if (!($e instanceof TeaError)) {
$e = new TeaError([], $e->getMessage(), $e->getCode(), $e);
}
if (Tea::isRetryable($e)) {
$_lastException = $e;
continue;
}
throw $e;
}
}
throw new TeaUnableRetryError($_lastRequest, $_lastException);
}
/**
* @param string $method
* @param string[] $textParams
* @param mixed[] $bizParams
* @param string[] $fileParams
* @return AlipayOpenApiGenericResponse
* @throws TeaError
* @throws Exception
* @throws TeaUnableRetryError
*/
public function fileExecute($method, $textParams, $bizParams, $fileParams){
$_runtime = [
"ignoreSSL" => $this->_kernel->getConfig("ignoreSSL"),
"httpProxy" => $this->_kernel->getConfig("httpProxy"),
"connectTimeout" => 100000,
"readTimeout" => 100000,
"retry" => [
"maxAttempts" => 0
]
];
$_lastRequest = null;
$_lastException = null;
$_now = time();
$_retryTimes = 0;
while (Tea::allowRetry(@$_runtime["retry"], $_retryTimes, $_now)) {
if ($_retryTimes > 0) {
$_backoffTime = Tea::getBackoffTime(@$_runtime["backoff"], $_retryTimes);
if ($_backoffTime > 0) {
Tea::sleep($_backoffTime);
}
}
$_retryTimes = $_retryTimes + 1;
try {
$_request = new Request();
$systemParams = [
"method" => $method,
"app_id" => $this->_kernel->getConfig("appId"),
"timestamp" => $this->_kernel->getTimestamp(),
"format" => "json",
"version" => "1.0",
"alipay_sdk" => $this->_kernel->getSdkVersion(),
"charset" => "UTF-8",
"sign_type" => $this->_kernel->getConfig("signType"),
"app_cert_sn" => $this->_kernel->getMerchantCertSN(),
"alipay_root_cert_sn" => $this->_kernel->getAlipayRootCertSN()
];
$boundary = $this->_kernel->getRandomBoundary();
$_request->protocol = $this->_kernel->getConfig("protocol");
$_request->method = "POST";
$_request->pathname = "/gateway.do";
$_request->headers = [
"host" => $this->_kernel->getConfig("gatewayHost"),
"content-type" => $this->_kernel->concatStr("multipart/form-data;charset=utf-8;boundary=", $boundary)
];
$_request->query = $this->_kernel->sortMap(Tea::merge([
"sign" => $this->_kernel->sign($systemParams, $bizParams, $textParams, $this->_kernel->getConfig("merchantPrivateKey"))
], $systemParams, $textParams));
$_request->body = $this->_kernel->toMultipartRequestBody($textParams, $fileParams, $boundary);
$_lastRequest = $_request;
$_response= Tea::send($_request, $_runtime);
$respMap = $this->_kernel->readAsJson($_response, $method);
if ($this->_kernel->isCertMode()) {
if ($this->_kernel->verify($respMap, $this->_kernel->extractAlipayPublicKey($this->_kernel->getAlipayCertSN($respMap)))) {
return AlipayOpenApiGenericResponse::fromMap($this->_kernel->toRespModel($respMap));
}
}
else {
if ($this->_kernel->verify($respMap, $this->_kernel->getConfig("alipayPublicKey"))) {
return AlipayOpenApiGenericResponse::fromMap($this->_kernel->toRespModel($respMap));
}
}
throw new TeaError([
"message" => "验签失败,请检查支付宝公钥设置是否正确。"
]);
}
catch (Exception $e) {
if (!($e instanceof TeaError)) {
$e = new TeaError([], $e->getMessage(), $e->getCode(), $e);
}
if (Tea::isRetryable($e)) {
$_lastException = $e;
continue;
}
throw $e;
}
}
throw new TeaUnableRetryError($_lastRequest, $_lastException);
}
/**
* @param string $method
* @param string[] $textParams
* @param mixed[] $bizParams
* @return AlipayOpenApiGenericSDKResponse
*/
public function sdkExecute($method, $textParams, $bizParams){
$_request = new Request();
$systemParams = [
"method" => $method,
"app_id" => $this->_kernel->getConfig("appId"),
"timestamp" => $this->_kernel->getTimestamp(),
"format" => "json",
"version" => "1.0",
"alipay_sdk" => $this->_kernel->getSdkVersion(),
"charset" => "UTF-8",
"sign_type" => $this->_kernel->getConfig("signType"),
"app_cert_sn" => $this->_kernel->getMerchantCertSN(),
"alipay_root_cert_sn" => $this->_kernel->getAlipayRootCertSN()
];
$sign = $this->_kernel->sign($systemParams, $bizParams, $textParams, $this->_kernel->getConfig("merchantPrivateKey"));
$response = [
"body" => $this->_kernel->generateOrderString($systemParams, $bizParams, $textParams, $sign)
];
return AlipayOpenApiGenericSDKResponse::fromMap($response);
$_lastRequest = $_request;
$_response= Tea::send($_request);
}
/**
* ISV代商户代用指定appAuthToken
*
* @param $appAuthToken String 代调用token
* @return $this 本客户端,便于链式调用
*/
public function agent($appAuthToken)
{
$this->_kernel->injectTextParam("app_auth_token", $appAuthToken);
return $this;
}
/**
* 用户授权调用指定authToken
*
* @param $authToken String 用户授权token
* @return $this
*/
public function auth($authToken)
{
$this->_kernel->injectTextParam("auth_token", $authToken);
return $this;
}
/**
* 设置异步通知回调地址此处设置将在本调用中覆盖Config中的全局配置
*
* @param $url String 异步通知回调地址例如https://www.test.com/callback
* @return $this
*/
public function asyncNotify($url)
{
$this->_kernel->injectTextParam("notify_url", $url);
return $this;
}
/**
* 将本次调用强制路由到后端系统的测试地址上,常用于线下环境内外联调,沙箱与线上环境设置无效
*
* @param $testUrl String 后端系统测试地址
* @return $this
*/
public function route($testUrl)
{
$this->_kernel->injectTextParam("ws_service_url", $testUrl);
return $this;
}
/**
* 设置API入参中没有的其他可选业务请求参数(biz_content下的字段)
*
* @param $key String 业务请求参数名称biz_content下的字段名比如timeout_express
* @param $value object 业务请求参数的值一个可以序列化成JSON的对象
* 如果该字段是一个字符串类型String、Price、Date在SDK中都是字符串请使用String储存
* 如果该字段是一个数值型类型比如Number请使用Long储存
* 如果该字段是一个复杂类型请使用嵌套的array指定各下级字段的值
* 如果该字段是一个数组请使用array储存各个值
* @return $this
*/
public function optional($key, $value)
{
$this->_kernel->injectBizParam($key, $value);
return $this;
}
/**
* 批量设置API入参中没有的其他可选业务请求参数(biz_content下的字段)
* optional方法的批量版本
*
* @param $optionalArgs array 可选参数集合每个参数由key和value组成key和value的格式请参见optional方法的注释
* @return $this
*/
public function batchOptional($optionalArgs)
{
foreach ($optionalArgs as $key => $value) {
$this->_kernel->injectBizParam($key, $value);
}
return $this;
}
}

View File

@ -0,0 +1,91 @@
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace Alipay\EasySDK\Util\Generic\Models;
use AlibabaCloud\Tea\Model;
class AlipayOpenApiGenericResponse extends Model {
protected $_name = [
'httpBody' => 'http_body',
'code' => 'code',
'msg' => 'msg',
'subCode' => 'sub_code',
'subMsg' => 'sub_msg',
];
public function validate() {
Model::validateRequired('httpBody', $this->httpBody, true);
Model::validateRequired('code', $this->code, true);
Model::validateRequired('msg', $this->msg, true);
Model::validateRequired('subCode', $this->subCode, true);
Model::validateRequired('subMsg', $this->subMsg, true);
}
public function toMap() {
$res = [];
if (null !== $this->httpBody) {
$res['http_body'] = $this->httpBody;
}
if (null !== $this->code) {
$res['code'] = $this->code;
}
if (null !== $this->msg) {
$res['msg'] = $this->msg;
}
if (null !== $this->subCode) {
$res['sub_code'] = $this->subCode;
}
if (null !== $this->subMsg) {
$res['sub_msg'] = $this->subMsg;
}
return $res;
}
/**
* @param array $map
* @return AlipayOpenApiGenericResponse
*/
public static function fromMap($map = []) {
$model = new self();
if(isset($map['http_body'])){
$model->httpBody = $map['http_body'];
}
if(isset($map['code'])){
$model->code = $map['code'];
}
if(isset($map['msg'])){
$model->msg = $map['msg'];
}
if(isset($map['sub_code'])){
$model->subCode = $map['sub_code'];
}
if(isset($map['sub_msg'])){
$model->subMsg = $map['sub_msg'];
}
return $model;
}
/**
* @description 响应原始字符串
* @var string
*/
public $httpBody;
/**
* @var string
*/
public $code;
/**
* @var string
*/
public $msg;
/**
* @var string
*/
public $subCode;
/**
* @var string
*/
public $subMsg;
}

View File

@ -0,0 +1,39 @@
<?php
// This file is auto-generated, don't edit it. Thanks.
namespace Alipay\EasySDK\Util\Generic\Models;
use AlibabaCloud\Tea\Model;
class AlipayOpenApiGenericSDKResponse extends Model {
protected $_name = [
'body' => 'body',
];
public function validate() {
Model::validateRequired('body', $this->body, true);
}
public function toMap() {
$res = [];
if (null !== $this->body) {
$res['body'] = $this->body;
}
return $res;
}
/**
* @param array $map
* @return AlipayOpenApiGenericSDKResponse
*/
public static function fromMap($map = []) {
$model = new self();
if(isset($map['body'])){
$model->body = $map['body'];
}
return $model;
}
/**
* @description 订单信息,字符串形式
* @var string
*/
public $body;
}