first commit

This commit is contained in:
2024-04-01 09:54:43 +08:00
commit 899d816bc3
795 changed files with 130040 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier;
use Yeepay\Yop\Sdk\Client\ClientExecutionParams;
use Yeepay\Yop\Sdk\Client\ClientHandler;
use Yeepay\Yop\Sdk\Client\ClientParams;
use Yeepay\Yop\Sdk\Exception\YopClientException;
use Yeepay\Yop\Sdk\Service\Cashier\Model as Model;
class CashierClient
{
/**
* @var ClientHandler
*/
private $clientHandler;
/**
* CashierClient constructor.
* @param ClientParams $clientParams
*/
function __construct(ClientParams $clientParams)
{
$this->clientHandler = new ClientHandler($clientParams);
}
/**
* @param Model\PayLinkOrderRequest $request
* @return Model\PayLinkOrderResponse
* @throws YopClientException
*/
public function payLinkOrder(Model\PayLinkOrderRequest $request)
{
if ($request == null) {
throw new YopClientException("request is required.");
}
$clientExecutionParams = new ClientExecutionParams($request, Model\PayLinkOrderRequestMarshaller::getInstance(),
Model\PayLinkOrderResponseUnMarshaller::getInstance());
return $this->clientHandler->execute($clientExecutionParams);
}
}

View File

@@ -0,0 +1,70 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier;
use Yeepay\Yop\Sdk\Auth\AuthorityReqRegistryImpl;
use Yeepay\Yop\Sdk\Auth\AuthorizationReqRegistry;
use Yeepay\Yop\Sdk\Auth\AuthorizationReqSupport;
use Yeepay\Yop\Sdk\Client\ClientParams;
use Yeepay\Yop\Sdk\Client\Support\ClientParamsSupport;
use Yeepay\Yop\Sdk\Config\AppSdkConfig;
use Yeepay\Yop\Sdk\Config\AppSdkConfigProvider;
use Yeepay\Yop\Sdk\Config\DefaultAppSdkConfigProvider;
use Yeepay\Yop\Sdk\Exception\YopClientException;
class CashierClientBuilder
{
/**
* @var AuthorizationReqRegistry
*/
private static $authorizationReqRegistry;
public static function __init()
{
self::$authorizationReqRegistry = new AuthorityReqRegistryImpl();
self::$authorizationReqRegistry->register('payLinkOrder',
AuthorizationReqSupport::getAuthorizationReq('YOP-RSA2048-SHA256'));
}
/**
* @var ClientParams
*/
private $clientParams;
/**
* CashierClientBuilder constructor.
* @param ClientParams $clientParams
*/
public function __construct(ClientParams $clientParams)
{
$this->clientParams = $clientParams;
}
public function build()
{
return new CashierClient($this->clientParams);
}
/**
* @param $config AppSdkConfig|array|AppSdkConfigProvider
* @return CashierClientBuilder
* @throws YopClientException
*/
public static function builder($config)
{
$appSdkConfigProvider = null;
if ($config instanceof AppSdkConfigProvider) {
$appSdkConfigProvider = $config;
} else {
$appSdkConfigProvider = new DefaultAppSdkConfigProvider($config);
}
$clientParams = ClientParamsSupport::generateClientParams($appSdkConfigProvider);
$clientParams->setAuthorizationReqRegistry(self::$authorizationReqRegistry);
return new CashierClientBuilder($clientParams);
}
}
CashierClientBuilder::__init();

View File

@@ -0,0 +1,428 @@
<?php
/**
* PayLinkOrderAggregationPayLinkResponseDTOResult
* PHP version 5
* @author Swagger Codegen team
* @package Yeepay\Yop\Sdk\
* @category Class
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* 商家收银台
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
* OpenAPI spec version: 1.0.0
* Generated by: https://github.com/swagger-api/swagger-codegen.git
* Swagger Codegen version: 3.0.13
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace Yeepay\Yop\Sdk\Service\Cashier\Model;
use ArrayAccess;
use Yeepay\Yop\Sdk\Model\ModelInterface;
use Yeepay\Yop\Sdk\Utils\ObjectSerializer;
/**
* PayLinkOrderAggregationPayLinkResponseDTOResult Class Doc Comment
* @author Swagger Codegen team
* @package Yeepay\Yop\Sdk\
* @category Class
* @link https://github.com/swagger-api/swagger-codegen
*/
class PayLinkOrderAggregationPayLinkResponseDTOResult implements ModelInterface, ArrayAccess
{
const DISCRIMINATOR = null;
/**
* The original name of the model.
* @var string
*/
protected static $swaggerModelName = 'PayLinkOrderAggregationPayLinkResponseDTOResult';
/**
* Array of property to type mappings. Used for (de)serialization
* @var string[]
*/
protected static $swaggerTypes = [
'parentMerchantNo' => 'string',
'merchantNo' => 'string',
'orderId' => 'string',
'qrCodeUrl' => 'string',
'uniqueOrderNo' => 'string',
'code' => 'string',
'message' => 'string',
];
/**
* Array of property to format mappings. Used for (de)serialization
* @var string[]
*/
protected static $swaggerFormats = [
'parentMerchantNo' => null,
'merchantNo' => null,
'orderId' => null,
'qrCodeUrl' => null,
'uniqueOrderNo' => null,
'code' => null,
'message' => null,
];
/**
* Array of property to type mappings. Used for (de)serialization
* @return array
*/
public static function swaggerTypes()
{
return self::$swaggerTypes;
}
/**
* Array of property to format mappings. Used for (de)serialization
* @return array
*/
public static function swaggerFormats()
{
return self::$swaggerFormats;
}
/**
* Array of attributes where the key is the local name,
* and the value is the original name
* @var string[]
*/
protected static $attributeMap = [
'parentMerchantNo' => 'parentMerchantNo',
'merchantNo' => 'merchantNo',
'orderId' => 'orderId',
'qrCodeUrl' => 'qrCodeUrl',
'uniqueOrderNo' => 'uniqueOrderNo',
'code' => 'code',
'message' => 'message',
];
/**
* Array of attributes to setter functions (for deserialization of responses)
* @var string[]
*/
protected static $setters = [
'parentMerchantNo' => 'setParentMerchantNo',
'merchantNo' => 'setMerchantNo',
'orderId' => 'setOrderId',
'qrCodeUrl' => 'setQrCodeUrl',
'uniqueOrderNo' => 'setUniqueOrderNo',
'code' => 'setCode',
'message' => 'setMessage',
];
/**
* Array of attributes to getter functions (for serialization of requests)
* @var string[]
*/
protected static $getters = [
'parentMerchantNo' => 'getParentMerchantNo',
'merchantNo' => 'getMerchantNo',
'orderId' => 'getOrderId',
'qrCodeUrl' => 'getQrCodeUrl',
'uniqueOrderNo' => 'getUniqueOrderNo',
'code' => 'getCode',
'message' => 'getMessage',
];
/**
* Array of attributes where the key is the local name,
* and the value is the original name
* @return array
*/
public static function attributeMap()
{
return self::$attributeMap;
}
/**
* Array of attributes to setter functions (for deserialization of responses)
* @return array
*/
public static function setters()
{
return self::$setters;
}
/**
* Array of attributes to getter functions (for serialization of requests)
* @return array
*/
public static function getters()
{
return self::$getters;
}
/**
* The original name of the model.
* @return string
*/
public function getModelName()
{
return self::$swaggerModelName;
}
/**
* Associative array for storing property values
* @var mixed[]
*/
protected $container = [];
/**
* Constructor
* @param mixed[] $data Associated array of property values
* initializing the model
*/
public function __construct(array $data = null)
{
$this->container['parentMerchantNo'] = isset($data['parentMerchantNo']) ? $data['parentMerchantNo'] : null;
$this->container['merchantNo'] = isset($data['merchantNo']) ? $data['merchantNo'] : null;
$this->container['orderId'] = isset($data['orderId']) ? $data['orderId'] : null;
$this->container['qrCodeUrl'] = isset($data['qrCodeUrl']) ? $data['qrCodeUrl'] : null;
$this->container['uniqueOrderNo'] = isset($data['uniqueOrderNo']) ? $data['uniqueOrderNo'] : null;
$this->container['code'] = isset($data['code']) ? $data['code'] : null;
$this->container['message'] = isset($data['message']) ? $data['message'] : null;
}
/**
* Show all the invalid properties with reasons.
* @return array invalid properties with reasons
*/
public function listInvalidProperties()
{
$invalidProperties = [];
return $invalidProperties;
}
/**
* Validate all the properties in the model
* return true if all passed
* @return bool True if all properties are valid
*/
public function valid()
{
return count($this->listInvalidProperties()) === 0;
}
/**
* Gets parentMerchantNo
* @return string
*/
public function getParentMerchantNo()
{
return $this->container['parentMerchantNo'];
}
/**
* Sets parentMerchantNo
* @param string $parentMerchantNo 发起方商编
* @return $this
*/
public function setParentMerchantNo($parentMerchantNo)
{
$this->container['parentMerchantNo'] = $parentMerchantNo;
return $this;
}
/**
* Gets merchantNo
* @return string
*/
public function getMerchantNo()
{
return $this->container['merchantNo'];
}
/**
* Sets merchantNo
* @param string $merchantNo 收款商户商编
* @return $this
*/
public function setMerchantNo($merchantNo)
{
$this->container['merchantNo'] = $merchantNo;
return $this;
}
/**
* Gets orderId
* @return string
*/
public function getOrderId()
{
return $this->container['orderId'];
}
/**
* Sets orderId
* @param string $orderId 商户收款请求号
* @return $this
*/
public function setOrderId($orderId)
{
$this->container['orderId'] = $orderId;
return $this;
}
/**
* Gets qrCodeUrl
* @return string
*/
public function getQrCodeUrl()
{
return $this->container['qrCodeUrl'];
}
/**
* Sets qrCodeUrl
* @param string $qrCodeUrl 订单二维码地址
* @return $this
*/
public function setQrCodeUrl($qrCodeUrl)
{
$this->container['qrCodeUrl'] = $qrCodeUrl;
return $this;
}
/**
* Gets uniqueOrderNo
* @return string
*/
public function getUniqueOrderNo()
{
return $this->container['uniqueOrderNo'];
}
/**
* Sets uniqueOrderNo
* @param string $uniqueOrderNo 易宝收款订单号
* @return $this
*/
public function setUniqueOrderNo($uniqueOrderNo)
{
$this->container['uniqueOrderNo'] = $uniqueOrderNo;
return $this;
}
/**
* Gets code
* @return string
*/
public function getCode()
{
return $this->container['code'];
}
/**
* Sets code
* @param string $code 接口返回码
* @return $this
*/
public function setCode($code)
{
$this->container['code'] = $code;
return $this;
}
/**
* Gets message
* @return string
*/
public function getMessage()
{
return $this->container['message'];
}
/**
* Sets message
* @param string $message 返回信息
* @return $this
*/
public function setMessage($message)
{
$this->container['message'] = $message;
return $this;
}
/**
* Returns true if offset exists. False otherwise.
* @param integer $offset Offset
* @return boolean
*/
public function offsetExists($offset)
{
return isset($this->container[$offset]);
}
/**
* Gets offset.
* @param integer $offset Offset
* @return mixed
*/
public function offsetGet($offset)
{
return isset($this->container[$offset]) ? $this->container[$offset] : null;
}
/**
* Sets value based on offset.
* @param integer $offset Offset
* @param mixed $value Value to be set
* @return void
*/
public function offsetSet($offset, $value)
{
if (is_null($offset)) {
$this->container[] = $value;
} else {
$this->container[$offset] = $value;
}
}
/**
* Unsets offset.
* @param integer $offset Offset
* @return void
*/
public function offsetUnset($offset)
{
unset($this->container[$offset]);
}
/**
* Gets the string presentation of the object
* @return string
*/
public function __toString()
{
if (defined('JSON_PRETTY_PRINT')) { // use JSON pretty print
return json_encode(
ObjectSerializer::sanitizeForSerialization($this),
JSON_PRETTY_PRINT
);
}
return json_encode(ObjectSerializer::sanitizeForSerialization($this));
}
}

View File

@@ -0,0 +1,275 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier\Model;
use Yeepay\Yop\Sdk\Model\BaseRequest;
class PayLinkOrderRequest extends BaseRequest
{
/**
* @var string
*/
private $parentMerchantNo;
/**
* @var string
*/
private $merchantNo;
/**
* @var string
*/
private $orderId;
/**
* @var string
*/
private $goodsName;
/**
* @var float
*/
private $amount;
/**
* @var string
*/
private $expiredTime;
/**
* @var string
*/
private $notifyUrl;
/**
* @var string
*/
private $scene;
/**
* @var string
*/
private $fundProcessType;
/**
* @var string
*/
private $appId;
/**
* Gets parentMerchantNo
* @return string
*/
public function getParentMerchantNo()
{
return $this->parentMerchantNo;
}
/**
* Sets parentMerchantNo
* @param string $parentMerchantNo
* @return PayLinkOrderRequest
*/
public function setParentMerchantNo($parentMerchantNo)
{
$this->parentMerchantNo = $parentMerchantNo;
return $this;
}
/**
* Gets merchantNo
* @return string
*/
public function getMerchantNo()
{
return $this->merchantNo;
}
/**
* Sets merchantNo
* @param string $merchantNo
* @return PayLinkOrderRequest
*/
public function setMerchantNo($merchantNo)
{
$this->merchantNo = $merchantNo;
return $this;
}
/**
* Gets orderId
* @return string
*/
public function getOrderId()
{
return $this->orderId;
}
/**
* Sets orderId
* @param string $orderId
* @return PayLinkOrderRequest
*/
public function setOrderId($orderId)
{
$this->orderId = $orderId;
return $this;
}
/**
* Gets goodsName
* @return string
*/
public function getGoodsName()
{
return $this->goodsName;
}
/**
* Sets goodsName
* @param string $goodsName
* @return PayLinkOrderRequest
*/
public function setGoodsName($goodsName)
{
$this->goodsName = $goodsName;
return $this;
}
/**
* Gets amount
* @return float
*/
public function getAmount()
{
return $this->amount;
}
/**
* Sets amount
* @param float $amount
* @return PayLinkOrderRequest
*/
public function setAmount($amount)
{
$this->amount = $amount;
return $this;
}
/**
* Gets expiredTime
* @return string
*/
public function getExpiredTime()
{
return $this->expiredTime;
}
/**
* Sets expiredTime
* @param string $expiredTime
* @return PayLinkOrderRequest
*/
public function setExpiredTime($expiredTime)
{
$this->expiredTime = $expiredTime;
return $this;
}
/**
* Gets notifyUrl
* @return string
*/
public function getNotifyUrl()
{
return $this->notifyUrl;
}
/**
* Sets notifyUrl
* @param string $notifyUrl
* @return PayLinkOrderRequest
*/
public function setNotifyUrl($notifyUrl)
{
$this->notifyUrl = $notifyUrl;
return $this;
}
/**
* Gets scene
* @return string
*/
public function getScene()
{
return $this->scene;
}
/**
* Sets scene
* @param string $scene
* @return PayLinkOrderRequest
*/
public function setScene($scene)
{
$this->scene = $scene;
return $this;
}
/**
* Gets fundProcessType
* @return string
*/
public function getFundProcessType()
{
return $this->fundProcessType;
}
/**
* Sets fundProcessType
* @param string $fundProcessType
* @return PayLinkOrderRequest
*/
public function setFundProcessType($fundProcessType)
{
$this->fundProcessType = $fundProcessType;
return $this;
}
/**
* Gets appId
* @return string
*/
public function getAppId()
{
return $this->appId;
}
/**
* Sets appId
* @param string $appId
* @return PayLinkOrderRequest
*/
public function setAppId($appId)
{
$this->appId = $appId;
return $this;
}
public static function getOperationId()
{
return 'payLinkOrder';
}
}

View File

@@ -0,0 +1,117 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier\Model;
use Yeepay\Yop\Sdk\Http\Headers;
use Yeepay\Yop\Sdk\Internal\DefaultRequest;
use Yeepay\Yop\Sdk\Internal\Request;
use Yeepay\Yop\Sdk\Model\Transform\RequestMarshaller;
use Yeepay\Yop\Sdk\Utils\ObjectSerializer;
use Yeepay\Yop\Sdk\Utils\UUIDUtils;
class PayLinkOrderRequestMarshaller implements RequestMarshaller
{
/**
* @var PayLinkOrderRequestMarshaller
*/
private static $instance;
public static function __init()
{
self::$instance = new PayLinkOrderRequestMarshaller();
}
/**
* @return PayLinkOrderRequestMarshaller
*/
public static function getInstance()
{
return self::$instance;
}
/**
* @var string
*/
private $serviceName = 'Cashier';
/**
* @var string
*/
private $httpMethod = 'POST';
/**
* @var string
*/
private $resourcePath = '/rest/v1.0/cashier/pay-link/order';
/**
* @var string
*/
private $contentType = 'application/x-www-form-urlencoded';
/**
* @param PayLinkOrderRequest $request
* @return Request
*/
public function marshal($request)
{
$internalRequest = new DefaultRequest($this->serviceName);
$internalRequest->setResourcePath($this->resourcePath);
$internalRequest->setHttpMethod($this->httpMethod);
if (!empty($request->getRequestConfig()) && !empty($request->getRequestConfig()->getCustomRequestHeaders())) {
foreach ($request->getRequestConfig()->getCustomRequestHeaders() as $name => $value) {
$internalRequest->addHeader($name, $value);
}
}
if (!isset($internalRequest->getHeaders()[Headers::YOP_REQUEST_ID])) {
$internalRequest->addHeader(Headers::YOP_REQUEST_ID, UUIDUtils::uuid());
}
if ($request->getParentMerchantNo() != null) {
$internalRequest->addParameter('parentMerchantNo',
ObjectSerializer::sanitizeForSerialization($request->getParentMerchantNo(), 'string'));
}
if ($request->getMerchantNo() != null) {
$internalRequest->addParameter('merchantNo',
ObjectSerializer::sanitizeForSerialization($request->getMerchantNo(), 'string'));
}
if ($request->getOrderId() != null) {
$internalRequest->addParameter('orderId',
ObjectSerializer::sanitizeForSerialization($request->getOrderId(), 'string'));
}
if ($request->getGoodsName() != null) {
$internalRequest->addParameter('goodsName',
ObjectSerializer::sanitizeForSerialization($request->getGoodsName(), 'string'));
}
if ($request->getAmount() != null) {
$internalRequest->addParameter('amount',
ObjectSerializer::sanitizeForSerialization($request->getAmount(), 'float'));
}
if ($request->getExpiredTime() != null) {
$internalRequest->addParameter('expiredTime',
ObjectSerializer::sanitizeForSerialization($request->getExpiredTime(), 'string', 'date-time'));
}
if ($request->getNotifyUrl() != null) {
$internalRequest->addParameter('notifyUrl',
ObjectSerializer::sanitizeForSerialization($request->getNotifyUrl(), 'string', 'url'));
}
if ($request->getScene() != null) {
$internalRequest->addParameter('scene',
ObjectSerializer::sanitizeForSerialization($request->getScene(), 'string'));
}
if ($request->getFundProcessType() != null) {
$internalRequest->addParameter('fundProcessType',
ObjectSerializer::sanitizeForSerialization($request->getFundProcessType(), 'string'));
}
if ($request->getAppId() != null) {
$internalRequest->addParameter('appId',
ObjectSerializer::sanitizeForSerialization($request->getAppId(), 'string'));
}
$internalRequest->addHeader(Headers::CONTENT_TYPE, $this->contentType);
return $internalRequest;
}
}
PayLinkOrderRequestMarshaller::__init();

View File

@@ -0,0 +1,36 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier\Model;
use Yeepay\Yop\Sdk\Model\BaseResponse;
class PayLinkOrderResponse extends BaseResponse
{
/**
* @var PayLinkOrderAggregationPayLinkResponseDTOResult
*/
private $result;
function getResultClass()
{
return '\Yeepay\Yop\Sdk\Service\Cashier\Model\PayLinkOrderAggregationPayLinkResponseDTOResult';
}
/**
* @param PayLinkOrderAggregationPayLinkResponseDTOResult $result
*/
function setResult($result)
{
$this->result = $result;
}
/**
* @return PayLinkOrderAggregationPayLinkResponseDTOResult
*/
function getResult()
{
return $this->result;
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace Yeepay\Yop\Sdk\Service\Cashier\Model;
use Yeepay\Yop\Sdk\Model\Transform\BaseResponseUnMarshaller;
class PayLinkOrderResponseUnMarshaller extends BaseResponseUnMarshaller
{
/**
* @var PayLinkOrderResponseUnMarshaller
*/
private static $instance;
public static function __init()
{
self::$instance = new PayLinkOrderResponseUnMarshaller();
}
/**
* @return PayLinkOrderResponseUnMarshaller
*/
public static function getInstance()
{
return self::$instance;
}
/**
* @return PayLinkOrderResponse
*/
protected function getResponseInstance()
{
return new PayLinkOrderResponse();
}
}
PayLinkOrderResponseUnMarshaller::__init();