[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Cashfree.php
<?php /** * Configuration * PHP version 7.4 * * @category Class * @package Cashfree * @author OpenAPI Generator team * @link https://openapi-generator.tech */ /** * Cashfree Payment Gateway APIs * * Cashfree's Payment Gateway APIs provide developers with a streamlined pathway to integrate advanced payment processing capabilities into their applications, platforms and websites. * * The version of the OpenAPI document: 2023-08-01 * Contact: developers@cashfree.com * Generated by: https://openapi-generator.tech * OpenAPI Generator version: 7.0.0 */ /** * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ namespace Cashfree; use GuzzleHttp\Client; use GuzzleHttp\Exception\ConnectException; use GuzzleHttp\Exception\RequestException; use GuzzleHttp\Psr7\MultipartStream; use GuzzleHttp\Psr7\Request; use GuzzleHttp\RequestOptions; use Cashfree\ApiException; use Cashfree\ObjectSerializer; use Exception; class PGWebhookEvent { public $type; public $rawBody; public $object; // Constructor public function __construct($type, $rawBody, $object){ $this->type = $type; $this->rawBody = $rawBody; $this->object = $object; } } class Cashfree { protected $client; protected $headerSelector; public static $XClientId = ""; public static $XClientSecret = ""; public static $XPartnerApiKey = ""; public static $XPartnerMerchantId = ""; public static $XClientSignature = ""; public static $XEnvironment = 0; public static $XEnableErrorAnalytics = true; public static $XApiVersion = "2023-08-01"; public static $SANDBOX = 0; public static $PRODUCTION = 1; public function PGVerifyWebhookSignature($signature, $rawBody, $timestamp) { $body = $timestamp . $rawBody; $secretKey = Cashfree::$XClientSecret; $genSignature = hash_hmac('sha256', $body, $secretKey, true); $genSignatureBase64 = base64_encode($genSignature); if($genSignatureBase64 == $signature) { $jsonResponse = json_decode($rawBody); return new PGWebhookEvent($jsonResponse->type, $rawBody, $jsonResponse); } throw new Exception("Generated signature and received signature did not match."); } public const contentTypes = [ 'pGCreateCustomer' => [ 'application/json', ], 'pGESCreateOnDemandTransfer' => [ 'application/json', ], 'pGESCreateVendors' => [ 'application/json', ], 'pGESDownloadVendorsDocs' => [ 'application/json', ], 'pGESFetchVendors' => [ 'application/json', ], 'pGESGetVendorBalance' => [ 'application/json', ], 'pGESGetVendorBalanceTransferCharges' => [ 'application/json', ], 'pGESGetVendorsDocs' => [ 'application/json', ], 'pGESOrderRecon' => [ 'application/json', ], 'pGESUpdateVendors' => [ 'application/json', ], 'pGESUploadVendorsDocs' => [ 'multipart/form-data', ], 'pGOrderSplitAfterPayment' => [ 'application/json', ], 'pGOrderStaticSplit' => [ 'application/json', ], 'pGEligibilityFetchCardlessEMI' => [ 'application/json', ], 'pGEligibilityFetchOffers' => [ 'application/json', ], 'pGEligibilityFetchPaylater' => [ 'application/json', ], 'pGEligibilityFetchPaymentMethods' => [ 'application/json', ], 'pGCreateOffer' => [ 'application/json', ], 'pGFetchOffer' => [ 'application/json', ], 'pGCreateOrder' => [ 'application/json', ], 'pGFetchOrder' => [ 'application/json', ], 'pGTerminateOrder' => [ 'application/json', ], 'pGFetchRecon' => [ 'application/json', ], 'pGCancelLink' => [ 'application/json', ], 'pGCreateLink' => [ 'application/json', ], 'pGFetchLink' => [ 'application/json', ], 'pGLinkFetchOrders' => [ 'application/json', ], 'pGAuthorizeOrder' => [ 'application/json', ], 'pGOrderAuthenticatePayment' => [ 'application/json', ], 'pGOrderFetchPayment' => [ 'application/json', ], 'pGOrderFetchPayments' => [ 'application/json', ], 'pGPayOrder' => [ 'application/json', ], 'pGOrderCreateRefund' => [ 'application/json', ], 'pGOrderFetchRefund' => [ 'application/json', ], 'pGOrderFetchRefunds' => [ 'application/json', ], 'pGFetchSettlements' => [ 'application/json', ], 'pGSettlementFetchRecon' => [ 'application/json', ], 'markForSettlement' => [ 'application/json', ], 'pGOrderFetchSettlement' => [ 'application/json', ], 'pGFetchSimulation' => [ 'application/json', ], 'pGSimulatePayment' => [ 'application/json', ], 'sposCreateTerminal' => [ 'application/json', ], 'sposCreateTerminalTransaction' => [ 'application/json', ], 'sposFetchTerminal' => [ 'application/json', ], 'sposFetchTerminalQRCodes' => [ 'application/json', ], 'sposFetchTerminalTransaction' => [ 'application/json', ], 'sposUpdateTerminal' => [ 'application/json', ], 'sposUpdateTerminalStatus' => [ 'application/json', ], 'sposUploadTerminalDocs' => [ 'application/json', ], 'subsCreatePayment' => [ 'application/json', ], 'subsCreatePlan' => [ 'application/json', ], 'subsCreateRefund' => [ 'application/json', ], 'subsCreateSubscription' => [ 'application/json', ], 'subsFetchPlan' => [ 'application/json', ], 'subsFetchSubscription' => [ 'application/json', ], 'subsFetchSubscriptionPayment' => [ 'application/json', ], 'subsFetchSubscriptionPayments' => [ 'application/json', ], 'subsFetchSubscriptionRefund' => [ 'application/json', ], 'subsManageSubscription' => [ 'application/json', ], 'subsManageSubscriptionPayment' => [ 'application/json', ], 'subscriptionDocumentUpload' => [ 'multipart/form-data', ], 'subscriptionEligibility' => [ 'application/json', ], 'pGCustomerDeleteInstrument' => [ 'application/json', ], 'pGCustomerFetchInstrument' => [ 'application/json', ], 'pGCustomerFetchInstruments' => [ 'application/json', ], 'pGCustomerInstrumentsFetchCryptogram' => [ 'application/json', ], ]; public function PGCreateCustomer($x_api_version, $create_customer_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCreateCustomer", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCreateCustomer'][0]; $request = $this->pGCreateCustomerRequest($x_api_version, $create_customer_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\CustomerEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\CustomerEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\CustomerEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\CustomerEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\CustomerEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCreateCustomerRequest($x_api_version, $create_customer_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCreateCustomer'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCreateCustomer' ); } // verify the required parameter 'create_customer_request' is set if ($create_customer_request === null || (is_array($create_customer_request) && count($create_customer_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_customer_request when calling pGCreateCustomer' ); } $resourcePath = '/customers'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_customer_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_customer_request)); } else { $httpBody = $create_customer_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESCreateOnDemandTransfer($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $adjust_vendor_balance_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESCreateOnDemandTransfer", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESCreateOnDemandTransfer'][0]; $request = $this->pGESCreateOnDemandTransferRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $adjust_vendor_balance_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\AdjustVendorBalanceResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AdjustVendorBalanceResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AdjustVendorBalanceResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\AdjustVendorBalanceResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AdjustVendorBalanceResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESCreateOnDemandTransferRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $adjust_vendor_balance_request = null, string $contentType = self::contentTypes['pGESCreateOnDemandTransfer'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESCreateOnDemandTransfer' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESCreateOnDemandTransfer' ); } $resourcePath = '/easy-split/vendors/{vendor_id}/transfer'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (isset($adjust_vendor_balance_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($adjust_vendor_balance_request)); } else { $httpBody = $adjust_vendor_balance_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESCreateVendors($x_api_version, $x_request_id = null, $x_idempotency_key = null, $create_vendor_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESCreateVendors", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESCreateVendors'][0]; $request = $this->pGESCreateVendorsRequest($x_api_version, $x_request_id, $x_idempotency_key, $create_vendor_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\CreateVendorResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\CreateVendorResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\CreateVendorResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\CreateVendorResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\CreateVendorResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESCreateVendorsRequest($x_api_version, $x_request_id = null, $x_idempotency_key = null, $create_vendor_request = null, string $contentType = self::contentTypes['pGESCreateVendors'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESCreateVendors' ); } $resourcePath = '/easy-split/vendors'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_vendor_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_vendor_request)); } else { $httpBody = $create_vendor_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESDownloadVendorsDocs($x_api_version, $doc_type, $vendor_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESDownloadVendorsDocs", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESDownloadVendorsDocs'][0]; $request = $this->pGESDownloadVendorsDocsRequest($x_api_version, $doc_type, $vendor_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\VendorDocumentDownloadResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\VendorDocumentDownloadResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\VendorDocumentDownloadResponse', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\VendorDocumentDownloadResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\VendorDocumentDownloadResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESDownloadVendorsDocsRequest($x_api_version, $doc_type, $vendor_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGESDownloadVendorsDocs'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESDownloadVendorsDocs' ); } // verify the required parameter 'doc_type' is set if ($doc_type === null || (is_array($doc_type) && count($doc_type) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $doc_type when calling pGESDownloadVendorsDocs' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESDownloadVendorsDocs' ); } $resourcePath = '/easy-split/vendor-docs/{vendor_id}/download/{doc_type}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($doc_type !== null) { $resourcePath = str_replace( '{' . 'doc_type' . '}', ObjectSerializer::toPathValue($doc_type), $resourcePath ); } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESFetchVendors($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESFetchVendors", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESFetchVendors'][0]; $request = $this->pGESFetchVendorsRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\VendorEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\VendorEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\VendorEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\VendorEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\VendorEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESFetchVendorsRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGESFetchVendors'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESFetchVendors' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESFetchVendors' ); } $resourcePath = '/easy-split/vendors/{vendor_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESGetVendorBalance($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESGetVendorBalance", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESGetVendorBalance'][0]; $request = $this->pGESGetVendorBalanceRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\VendorBalance' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\VendorBalance' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\VendorBalance', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\VendorBalance'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\VendorBalance', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESGetVendorBalanceRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGESGetVendorBalance'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESGetVendorBalance' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESGetVendorBalance' ); } $resourcePath = '/easy-split/vendors/{vendor_id}/balances'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESGetVendorBalanceTransferCharges($x_api_version, $amount, $rate_type, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESGetVendorBalanceTransferCharges", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESGetVendorBalanceTransferCharges'][0]; $request = $this->pGESGetVendorBalanceTransferChargesRequest($x_api_version, $amount, $rate_type, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\VendorBalanceTransferCharges' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\VendorBalanceTransferCharges' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\VendorBalanceTransferCharges', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\VendorBalanceTransferCharges'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\VendorBalanceTransferCharges', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESGetVendorBalanceTransferChargesRequest($x_api_version, $amount, $rate_type, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGESGetVendorBalanceTransferCharges'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESGetVendorBalanceTransferCharges' ); } // verify the required parameter 'amount' is set if ($amount === null || (is_array($amount) && count($amount) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $amount when calling pGESGetVendorBalanceTransferCharges' ); } // verify the required parameter 'rate_type' is set if ($rate_type === null || (is_array($rate_type) && count($rate_type) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $rate_type when calling pGESGetVendorBalanceTransferCharges' ); } $resourcePath = '/easy-split/amount/{amount}/charges'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; // query params $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue( $rate_type, 'rate_type', // param base name 'string', // openApiType 'form', // style true, // explode true // required ) ?? []); $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($amount !== null) { $resourcePath = str_replace( '{' . 'amount' . '}', ObjectSerializer::toPathValue($amount), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESGetVendorsDocs($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESGetVendorsDocs", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESGetVendorsDocs'][0]; $request = $this->pGESGetVendorsDocsRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\VendorDocumentsResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\VendorDocumentsResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\VendorDocumentsResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\VendorDocumentsResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\VendorDocumentsResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESGetVendorsDocsRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGESGetVendorsDocs'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESGetVendorsDocs' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESGetVendorsDocs' ); } $resourcePath = '/easy-split/vendor-docs/{vendor_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESOrderRecon($x_api_version, $x_request_id = null, $x_idempotency_key = null, $es_order_recon_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESOrderRecon", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESOrderRecon'][0]; $request = $this->pGESOrderReconRequest($x_api_version, $x_request_id, $x_idempotency_key, $es_order_recon_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\ESOrderReconResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ESOrderReconResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ESOrderReconResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\ESOrderReconResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ESOrderReconResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESOrderReconRequest($x_api_version, $x_request_id = null, $x_idempotency_key = null, $es_order_recon_request = null, string $contentType = self::contentTypes['pGESOrderRecon'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESOrderRecon' ); } $resourcePath = '/split/order/vendor/recon'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($es_order_recon_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($es_order_recon_request)); } else { $httpBody = $es_order_recon_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESUpdateVendors($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $update_vendor_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESUpdateVendors", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESUpdateVendors'][0]; $request = $this->pGESUpdateVendorsRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $update_vendor_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UpdateVendorResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UpdateVendorResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UpdateVendorResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UpdateVendorResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UpdateVendorResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESUpdateVendorsRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $update_vendor_request = null, string $contentType = self::contentTypes['pGESUpdateVendors'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESUpdateVendors' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESUpdateVendors' ); } $resourcePath = '/easy-split/vendors/{vendor_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // for model (json/xml) if (isset($update_vendor_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($update_vendor_request)); } else { $httpBody = $update_vendor_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'PATCH', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGESUploadVendorsDocs($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $doc_type = null, $doc_value = null, $file = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGESUploadVendorsDocs", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGESUploadVendorsDocs'][0]; $request = $this->pGESUploadVendorsDocsRequest($x_api_version, $vendor_id, $x_request_id, $x_idempotency_key, $doc_type, $doc_value, $file, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UploadVendorDocumentsResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UploadVendorDocumentsResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UploadVendorDocumentsResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UploadVendorDocumentsResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UploadVendorDocumentsResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGESUploadVendorsDocsRequest($x_api_version, $vendor_id, $x_request_id = null, $x_idempotency_key = null, $doc_type = null, $doc_value = null, $file = null, string $contentType = self::contentTypes['pGESUploadVendorsDocs'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGESUploadVendorsDocs' ); } // verify the required parameter 'vendor_id' is set if ($vendor_id === null || (is_array($vendor_id) && count($vendor_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $vendor_id when calling pGESUploadVendorsDocs' ); } $resourcePath = '/easy-split/vendor-docs/{vendor_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($vendor_id !== null) { $resourcePath = str_replace( '{' . 'vendor_id' . '}', ObjectSerializer::toPathValue($vendor_id), $resourcePath ); } // form params if ($doc_type !== null) { $formParams['doc_type'] = ObjectSerializer::toFormValue($doc_type); } // form params if ($doc_value !== null) { $formParams['doc_value'] = ObjectSerializer::toFormValue($doc_value); } // form params if ($file !== null) { $multipart = true; $formParams['file'] = []; $paramFiles = is_array($file) ? $file : [$file]; foreach ($paramFiles as $paramFile) { $formParams['file'][] = \GuzzleHttp\Psr7\Utils::tryFopen( ObjectSerializer::toFormValue($paramFile), 'rb' ); } } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderSplitAfterPayment($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, $split_after_payment_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderSplitAfterPayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderSplitAfterPayment'][0]; $request = $this->pGOrderSplitAfterPaymentRequest($x_api_version, $order_id, $x_request_id, $x_idempotency_key, $split_after_payment_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SplitAfterPaymentResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SplitAfterPaymentResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SplitAfterPaymentResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SplitAfterPaymentResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SplitAfterPaymentResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderSplitAfterPaymentRequest($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, $split_after_payment_request = null, string $contentType = self::contentTypes['pGOrderSplitAfterPayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderSplitAfterPayment' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderSplitAfterPayment' ); } $resourcePath = '/easy-split/orders/{order_id}/split'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (isset($split_after_payment_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($split_after_payment_request)); } else { $httpBody = $split_after_payment_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderStaticSplit($x_api_version, $x_request_id = null, $x_idempotency_key = null, $static_split_request = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderStaticSplit", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderStaticSplit'][0]; $request = $this->pGOrderStaticSplitRequest($x_api_version, $x_request_id, $x_idempotency_key, $static_split_request, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\StaticSplitResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\StaticSplitResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\StaticSplitResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\StaticSplitResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\StaticSplitResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderStaticSplitRequest($x_api_version, $x_request_id = null, $x_idempotency_key = null, $static_split_request = null, string $contentType = self::contentTypes['pGOrderStaticSplit'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderStaticSplit' ); } $resourcePath = '/easy-split/static-split'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($static_split_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($static_split_request)); } else { $httpBody = $static_split_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGEligibilityFetchCardlessEMI($x_api_version, $eligibility_fetch_cardless_emi_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGEligibilityFetchCardlessEMI", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGEligibilityFetchCardlessEMI'][0]; $request = $this->pGEligibilityFetchCardlessEMIRequest($x_api_version, $eligibility_fetch_cardless_emi_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\EligibilityCardlessEMIEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\EligibilityCardlessEMIEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\EligibilityCardlessEMIEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\EligibilityCardlessEMIEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\EligibilityCardlessEMIEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGEligibilityFetchCardlessEMIRequest($x_api_version, $eligibility_fetch_cardless_emi_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGEligibilityFetchCardlessEMI'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGEligibilityFetchCardlessEMI' ); } // verify the required parameter 'eligibility_fetch_cardless_emi_request' is set if ($eligibility_fetch_cardless_emi_request === null || (is_array($eligibility_fetch_cardless_emi_request) && count($eligibility_fetch_cardless_emi_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $eligibility_fetch_cardless_emi_request when calling pGEligibilityFetchCardlessEMI' ); } $resourcePath = '/eligibility/cardlessemi'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($eligibility_fetch_cardless_emi_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($eligibility_fetch_cardless_emi_request)); } else { $httpBody = $eligibility_fetch_cardless_emi_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGEligibilityFetchOffers($x_api_version, $eligibility_fetch_offers_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGEligibilityFetchOffers", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGEligibilityFetchOffers'][0]; $request = $this->pGEligibilityFetchOffersRequest($x_api_version, $eligibility_fetch_offers_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\EligibilityOfferEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\EligibilityOfferEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\EligibilityOfferEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\EligibilityOfferEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\EligibilityOfferEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGEligibilityFetchOffersRequest($x_api_version, $eligibility_fetch_offers_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGEligibilityFetchOffers'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGEligibilityFetchOffers' ); } // verify the required parameter 'eligibility_fetch_offers_request' is set if ($eligibility_fetch_offers_request === null || (is_array($eligibility_fetch_offers_request) && count($eligibility_fetch_offers_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $eligibility_fetch_offers_request when calling pGEligibilityFetchOffers' ); } $resourcePath = '/eligibility/offers'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($eligibility_fetch_offers_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($eligibility_fetch_offers_request)); } else { $httpBody = $eligibility_fetch_offers_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGEligibilityFetchPaylater($x_api_version, $eligibility_fetch_paylater_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGEligibilityFetchPaylater", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGEligibilityFetchPaylater'][0]; $request = $this->pGEligibilityFetchPaylaterRequest($x_api_version, $eligibility_fetch_paylater_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\EligibilityPaylaterEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\EligibilityPaylaterEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\EligibilityPaylaterEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\EligibilityPaylaterEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\EligibilityPaylaterEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGEligibilityFetchPaylaterRequest($x_api_version, $eligibility_fetch_paylater_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGEligibilityFetchPaylater'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGEligibilityFetchPaylater' ); } // verify the required parameter 'eligibility_fetch_paylater_request' is set if ($eligibility_fetch_paylater_request === null || (is_array($eligibility_fetch_paylater_request) && count($eligibility_fetch_paylater_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $eligibility_fetch_paylater_request when calling pGEligibilityFetchPaylater' ); } $resourcePath = '/eligibility/paylater'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($eligibility_fetch_paylater_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($eligibility_fetch_paylater_request)); } else { $httpBody = $eligibility_fetch_paylater_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGEligibilityFetchPaymentMethods($x_api_version, $eligibility_fetch_payment_methods_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGEligibilityFetchPaymentMethods", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGEligibilityFetchPaymentMethods'][0]; $request = $this->pGEligibilityFetchPaymentMethodsRequest($x_api_version, $eligibility_fetch_payment_methods_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\EligibilityPaymentMethodsEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\EligibilityPaymentMethodsEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\EligibilityPaymentMethodsEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\EligibilityPaymentMethodsEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\EligibilityPaymentMethodsEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGEligibilityFetchPaymentMethodsRequest($x_api_version, $eligibility_fetch_payment_methods_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGEligibilityFetchPaymentMethods'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGEligibilityFetchPaymentMethods' ); } // verify the required parameter 'eligibility_fetch_payment_methods_request' is set if ($eligibility_fetch_payment_methods_request === null || (is_array($eligibility_fetch_payment_methods_request) && count($eligibility_fetch_payment_methods_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $eligibility_fetch_payment_methods_request when calling pGEligibilityFetchPaymentMethods' ); } $resourcePath = '/eligibility/payment_methods'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($eligibility_fetch_payment_methods_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($eligibility_fetch_payment_methods_request)); } else { $httpBody = $eligibility_fetch_payment_methods_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCreateOffer($x_api_version, $create_offer_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCreateOffer", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCreateOffer'][0]; $request = $this->pGCreateOfferRequest($x_api_version, $create_offer_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OfferEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OfferEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OfferEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OfferEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OfferEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCreateOfferRequest($x_api_version, $create_offer_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCreateOffer'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCreateOffer' ); } // verify the required parameter 'create_offer_request' is set if ($create_offer_request === null || (is_array($create_offer_request) && count($create_offer_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_offer_request when calling pGCreateOffer' ); } $resourcePath = '/offers'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_offer_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_offer_request)); } else { $httpBody = $create_offer_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchOffer($x_api_version, $offer_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchOffer", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchOffer'][0]; $request = $this->pGFetchOfferRequest($x_api_version, $offer_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OfferEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OfferEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OfferEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OfferEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OfferEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchOfferRequest($x_api_version, $offer_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGFetchOffer'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchOffer' ); } // verify the required parameter 'offer_id' is set if ($offer_id === null || (is_array($offer_id) && count($offer_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $offer_id when calling pGFetchOffer' ); } $resourcePath = '/offers/{offer_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($offer_id !== null) { $resourcePath = str_replace( '{' . 'offer_id' . '}', ObjectSerializer::toPathValue($offer_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCreateOrder($x_api_version, $create_order_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCreateOrder", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCreateOrder'][0]; $request = $this->pGCreateOrderRequest($x_api_version, $create_order_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OrderEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OrderEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OrderEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OrderEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OrderEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCreateOrderRequest($x_api_version, $create_order_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCreateOrder'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCreateOrder' ); } // verify the required parameter 'create_order_request' is set if ($create_order_request === null || (is_array($create_order_request) && count($create_order_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_order_request when calling pGCreateOrder' ); } $resourcePath = '/orders'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_order_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_order_request)); } else { $httpBody = $create_order_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchOrder($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchOrder", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchOrder'][0]; $request = $this->pGFetchOrderRequest($x_api_version, $order_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OrderEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OrderEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OrderEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OrderEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OrderEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchOrderRequest($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGFetchOrder'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchOrder' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGFetchOrder' ); } $resourcePath = '/orders/{order_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGTerminateOrder($x_api_version, $order_id, $terminate_order_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGTerminateOrder", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGTerminateOrder'][0]; $request = $this->pGTerminateOrderRequest($x_api_version, $order_id, $terminate_order_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OrderEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OrderEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OrderEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OrderEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OrderEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGTerminateOrderRequest($x_api_version, $order_id, $terminate_order_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGTerminateOrder'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGTerminateOrder' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGTerminateOrder' ); } // verify the required parameter 'terminate_order_request' is set if ($terminate_order_request === null || (is_array($terminate_order_request) && count($terminate_order_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $terminate_order_request when calling pGTerminateOrder' ); } $resourcePath = '/orders/{order_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (isset($terminate_order_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($terminate_order_request)); } else { $httpBody = $terminate_order_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'PATCH', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchRecon($x_api_version, $fetch_recon_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchRecon", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchRecon'][0]; $request = $this->pGFetchReconRequest($x_api_version, $fetch_recon_request, $content_type, $x_request_id, $x_idempotency_key, $accept, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\ReconEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ReconEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ReconEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\ReconEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ReconEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchReconRequest($x_api_version, $fetch_recon_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, string $contentType = self::contentTypes['pGFetchRecon'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchRecon' ); } // verify the required parameter 'fetch_recon_request' is set if ($fetch_recon_request === null || (is_array($fetch_recon_request) && count($fetch_recon_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $fetch_recon_request when calling pGFetchRecon' ); } $resourcePath = '/recon'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($fetch_recon_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($fetch_recon_request)); } else { $httpBody = $fetch_recon_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCancelLink($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCancelLink", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCancelLink'][0]; $request = $this->pGCancelLinkRequest($x_api_version, $link_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\LinkEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\LinkEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\LinkEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\LinkEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\LinkEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCancelLinkRequest($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCancelLink'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCancelLink' ); } // verify the required parameter 'link_id' is set if ($link_id === null || (is_array($link_id) && count($link_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $link_id when calling pGCancelLink' ); } $resourcePath = '/links/{link_id}/cancel'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($link_id !== null) { $resourcePath = str_replace( '{' . 'link_id' . '}', ObjectSerializer::toPathValue($link_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCreateLink($x_api_version, $create_link_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCreateLink", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCreateLink'][0]; $request = $this->pGCreateLinkRequest($x_api_version, $create_link_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\LinkEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\LinkEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\LinkEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\LinkEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\LinkEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCreateLinkRequest($x_api_version, $create_link_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCreateLink'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCreateLink' ); } // verify the required parameter 'create_link_request' is set if ($create_link_request === null || (is_array($create_link_request) && count($create_link_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_link_request when calling pGCreateLink' ); } $resourcePath = '/links'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_link_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_link_request)); } else { $httpBody = $create_link_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchLink($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchLink", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchLink'][0]; $request = $this->pGFetchLinkRequest($x_api_version, $link_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\LinkEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\LinkEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\LinkEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\LinkEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\LinkEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchLinkRequest($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGFetchLink'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchLink' ); } // verify the required parameter 'link_id' is set if ($link_id === null || (is_array($link_id) && count($link_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $link_id when calling pGFetchLink' ); } $resourcePath = '/links/{link_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($link_id !== null) { $resourcePath = str_replace( '{' . 'link_id' . '}', ObjectSerializer::toPathValue($link_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGLinkFetchOrders($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGLinkFetchOrders", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGLinkFetchOrders'][0]; $request = $this->pGLinkFetchOrdersRequest($x_api_version, $link_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PaymentLinkOrderEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PaymentLinkOrderEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PaymentLinkOrderEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PaymentLinkOrderEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PaymentLinkOrderEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGLinkFetchOrdersRequest($x_api_version, $link_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGLinkFetchOrders'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGLinkFetchOrders' ); } // verify the required parameter 'link_id' is set if ($link_id === null || (is_array($link_id) && count($link_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $link_id when calling pGLinkFetchOrders' ); } $resourcePath = '/links/{link_id}/orders'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($link_id !== null) { $resourcePath = str_replace( '{' . 'link_id' . '}', ObjectSerializer::toPathValue($link_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGAuthorizeOrder($x_api_version, $order_id, $authorize_order_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGAuthorizeOrder", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGAuthorizeOrder'][0]; $request = $this->pGAuthorizeOrderRequest($x_api_version, $order_id, $authorize_order_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PaymentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PaymentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PaymentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PaymentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PaymentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGAuthorizeOrderRequest($x_api_version, $order_id, $authorize_order_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGAuthorizeOrder'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGAuthorizeOrder' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGAuthorizeOrder' ); } // verify the required parameter 'authorize_order_request' is set if ($authorize_order_request === null || (is_array($authorize_order_request) && count($authorize_order_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $authorize_order_request when calling pGAuthorizeOrder' ); } $resourcePath = '/orders/{order_id}/authorization'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (isset($authorize_order_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($authorize_order_request)); } else { $httpBody = $authorize_order_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderAuthenticatePayment($x_api_version, $cf_payment_id, $order_authenticate_payment_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderAuthenticatePayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderAuthenticatePayment'][0]; $request = $this->pGOrderAuthenticatePaymentRequest($x_api_version, $cf_payment_id, $order_authenticate_payment_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\OrderAuthenticateEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\OrderAuthenticateEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\OrderAuthenticateEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\OrderAuthenticateEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\OrderAuthenticateEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderAuthenticatePaymentRequest($x_api_version, $cf_payment_id, $order_authenticate_payment_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderAuthenticatePayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderAuthenticatePayment' ); } // verify the required parameter 'cf_payment_id' is set if ($cf_payment_id === null || (is_array($cf_payment_id) && count($cf_payment_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_payment_id when calling pGOrderAuthenticatePayment' ); } // verify the required parameter 'order_authenticate_payment_request' is set if ($order_authenticate_payment_request === null || (is_array($order_authenticate_payment_request) && count($order_authenticate_payment_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_authenticate_payment_request when calling pGOrderAuthenticatePayment' ); } $resourcePath = '/orders/pay/authenticate/{cf_payment_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($cf_payment_id !== null) { $resourcePath = str_replace( '{' . 'cf_payment_id' . '}', ObjectSerializer::toPathValue($cf_payment_id), $resourcePath ); } // for model (json/xml) if (isset($order_authenticate_payment_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($order_authenticate_payment_request)); } else { $httpBody = $order_authenticate_payment_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderFetchPayment($x_api_version, $order_id, $cf_payment_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderFetchPayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderFetchPayment'][0]; $request = $this->pGOrderFetchPaymentRequest($x_api_version, $order_id, $cf_payment_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PaymentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PaymentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PaymentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PaymentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PaymentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderFetchPaymentRequest($x_api_version, $order_id, $cf_payment_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderFetchPayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderFetchPayment' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderFetchPayment' ); } // verify the required parameter 'cf_payment_id' is set if ($cf_payment_id === null || (is_array($cf_payment_id) && count($cf_payment_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_payment_id when calling pGOrderFetchPayment' ); } $resourcePath = '/orders/{order_id}/payments/{cf_payment_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // path params if ($cf_payment_id !== null) { $resourcePath = str_replace( '{' . 'cf_payment_id' . '}', ObjectSerializer::toPathValue($cf_payment_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderFetchPayments($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderFetchPayments", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderFetchPayments'][0]; $request = $this->pGOrderFetchPaymentsRequest($x_api_version, $order_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PaymentEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PaymentEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PaymentEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PaymentEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PaymentEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderFetchPaymentsRequest($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderFetchPayments'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderFetchPayments' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderFetchPayments' ); } $resourcePath = '/orders/{order_id}/payments'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGPayOrder($x_api_version, $pay_order_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGPayOrder", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGPayOrder'][0]; $request = $this->pGPayOrderRequest($x_api_version, $pay_order_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PayOrderEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PayOrderEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PayOrderEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PayOrderEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PayOrderEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGPayOrderRequest($x_api_version, $pay_order_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGPayOrder'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGPayOrder' ); } // verify the required parameter 'pay_order_request' is set if ($pay_order_request === null || (is_array($pay_order_request) && count($pay_order_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $pay_order_request when calling pGPayOrder' ); } $resourcePath = '/orders/sessions'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($pay_order_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($pay_order_request)); } else { $httpBody = $pay_order_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderCreateRefund($x_api_version, $order_id, $order_create_refund_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderCreateRefund", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderCreateRefund'][0]; $request = $this->pGOrderCreateRefundRequest($x_api_version, $order_id, $order_create_refund_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\RefundEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RefundEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RefundEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\RefundEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RefundEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderCreateRefundRequest($x_api_version, $order_id, $order_create_refund_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderCreateRefund'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderCreateRefund' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderCreateRefund' ); } // verify the required parameter 'order_create_refund_request' is set if ($order_create_refund_request === null || (is_array($order_create_refund_request) && count($order_create_refund_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_create_refund_request when calling pGOrderCreateRefund' ); } $resourcePath = '/orders/{order_id}/refunds'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (isset($order_create_refund_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($order_create_refund_request)); } else { $httpBody = $order_create_refund_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderFetchRefund($x_api_version, $order_id, $refund_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderFetchRefund", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderFetchRefund'][0]; $request = $this->pGOrderFetchRefundRequest($x_api_version, $order_id, $refund_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\RefundEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RefundEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RefundEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\RefundEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RefundEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderFetchRefundRequest($x_api_version, $order_id, $refund_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderFetchRefund'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderFetchRefund' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderFetchRefund' ); } // verify the required parameter 'refund_id' is set if ($refund_id === null || (is_array($refund_id) && count($refund_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $refund_id when calling pGOrderFetchRefund' ); } $resourcePath = '/orders/{order_id}/refunds/{refund_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // path params if ($refund_id !== null) { $resourcePath = str_replace( '{' . 'refund_id' . '}', ObjectSerializer::toPathValue($refund_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderFetchRefunds($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderFetchRefunds", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderFetchRefunds'][0]; $request = $this->pGOrderFetchRefundsRequest($x_api_version, $order_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\RefundEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RefundEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RefundEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\RefundEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RefundEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderFetchRefundsRequest($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderFetchRefunds'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderFetchRefunds' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderFetchRefunds' ); } $resourcePath = '/orders/{order_id}/refunds'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchSettlements($x_api_version, $fetch_settlements_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchSettlements", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchSettlements'][0]; $request = $this->pGFetchSettlementsRequest($x_api_version, $fetch_settlements_request, $content_type, $x_request_id, $x_idempotency_key, $accept, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SettlementEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SettlementEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SettlementEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SettlementEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SettlementEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchSettlementsRequest($x_api_version, $fetch_settlements_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, string $contentType = self::contentTypes['pGFetchSettlements'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchSettlements' ); } // verify the required parameter 'fetch_settlements_request' is set if ($fetch_settlements_request === null || (is_array($fetch_settlements_request) && count($fetch_settlements_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $fetch_settlements_request when calling pGFetchSettlements' ); } $resourcePath = '/settlements'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($fetch_settlements_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($fetch_settlements_request)); } else { $httpBody = $fetch_settlements_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGSettlementFetchRecon($x_api_version, $settlement_fetch_recon_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGSettlementFetchRecon", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGSettlementFetchRecon'][0]; $request = $this->pGSettlementFetchReconRequest($x_api_version, $settlement_fetch_recon_request, $content_type, $x_request_id, $x_idempotency_key, $accept, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SettlementReconEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SettlementReconEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SettlementReconEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SettlementReconEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SettlementReconEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGSettlementFetchReconRequest($x_api_version, $settlement_fetch_recon_request, $content_type = null, $x_request_id = null, $x_idempotency_key = null, $accept = null, string $contentType = self::contentTypes['pGSettlementFetchRecon'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGSettlementFetchRecon' ); } // verify the required parameter 'settlement_fetch_recon_request' is set if ($settlement_fetch_recon_request === null || (is_array($settlement_fetch_recon_request) && count($settlement_fetch_recon_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $settlement_fetch_recon_request when calling pGSettlementFetchRecon' ); } $resourcePath = '/settlement/recon'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($settlement_fetch_recon_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($settlement_fetch_recon_request)); } else { $httpBody = $settlement_fetch_recon_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function MarkForSettlement($x_api_version, $x_request_id = null, $x_idempotency_key = null, $create_order_settlement_request_body = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."MarkForSettlement", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['markForSettlement'][0]; $request = $this->markForSettlementRequest($x_api_version, $x_request_id, $x_idempotency_key, $create_order_settlement_request_body, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 202: if ('object' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('object' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, 'object', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = 'object'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 202: $data = ObjectSerializer::deserialize( $e->getResponseBody(), 'object', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function markForSettlementRequest($x_api_version, $x_request_id = null, $x_idempotency_key = null, $create_order_settlement_request_body = null, string $contentType = self::contentTypes['markForSettlement'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling markForSettlement' ); } $resourcePath = '/orders/settlements'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_order_settlement_request_body)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_order_settlement_request_body)); } else { $httpBody = $create_order_settlement_request_body; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGOrderFetchSettlement($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGOrderFetchSettlement", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGOrderFetchSettlement'][0]; $request = $this->pGOrderFetchSettlementRequest($x_api_version, $order_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SettlementEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SettlementEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SettlementEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SettlementEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SettlementEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGOrderFetchSettlementRequest($x_api_version, $order_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGOrderFetchSettlement'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGOrderFetchSettlement' ); } // verify the required parameter 'order_id' is set if ($order_id === null || (is_array($order_id) && count($order_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $order_id when calling pGOrderFetchSettlement' ); } $resourcePath = '/orders/{order_id}/settlements'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($order_id !== null) { $resourcePath = str_replace( '{' . 'order_id' . '}', ObjectSerializer::toPathValue($order_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGFetchSimulation($x_api_version, $simulation_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGFetchSimulation", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGFetchSimulation'][0]; $request = $this->pGFetchSimulationRequest($x_api_version, $simulation_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SimulationResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SimulationResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SimulationResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SimulationResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SimulationResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGFetchSimulationRequest($x_api_version, $simulation_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGFetchSimulation'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGFetchSimulation' ); } // verify the required parameter 'simulation_id' is set if ($simulation_id === null || (is_array($simulation_id) && count($simulation_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $simulation_id when calling pGFetchSimulation' ); } $resourcePath = '/simulate/{simulation_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($simulation_id !== null) { $resourcePath = str_replace( '{' . 'simulation_id' . '}', ObjectSerializer::toPathValue($simulation_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGSimulatePayment($x_api_version, $simulate_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGSimulatePayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGSimulatePayment'][0]; $request = $this->pGSimulatePaymentRequest($x_api_version, $simulate_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SimulationResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SimulationResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SimulationResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SimulationResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SimulationResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGSimulatePaymentRequest($x_api_version, $simulate_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGSimulatePayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGSimulatePayment' ); } // verify the required parameter 'simulate_request' is set if ($simulate_request === null || (is_array($simulate_request) && count($simulate_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $simulate_request when calling pGSimulatePayment' ); } $resourcePath = '/simulate'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($simulate_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($simulate_request)); } else { $httpBody = $simulate_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposCreateTerminal($x_api_version, $create_terminal_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposCreateTerminal", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposCreateTerminal'][0]; $request = $this->sposCreateTerminalRequest($x_api_version, $create_terminal_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\TerminalEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\TerminalEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\TerminalEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\TerminalEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\TerminalEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposCreateTerminalRequest($x_api_version, $create_terminal_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposCreateTerminal'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposCreateTerminal' ); } // verify the required parameter 'create_terminal_request' is set if ($create_terminal_request === null || (is_array($create_terminal_request) && count($create_terminal_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_terminal_request when calling sposCreateTerminal' ); } $resourcePath = '/terminal'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_terminal_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_terminal_request)); } else { $httpBody = $create_terminal_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposCreateTerminalTransaction($x_api_version, $create_terminal_transaction_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposCreateTerminalTransaction", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposCreateTerminalTransaction'][0]; $request = $this->sposCreateTerminalTransactionRequest($x_api_version, $create_terminal_transaction_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\TerminalTransactionEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\TerminalTransactionEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\TerminalTransactionEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\TerminalTransactionEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\TerminalTransactionEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposCreateTerminalTransactionRequest($x_api_version, $create_terminal_transaction_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposCreateTerminalTransaction'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposCreateTerminalTransaction' ); } // verify the required parameter 'create_terminal_transaction_request' is set if ($create_terminal_transaction_request === null || (is_array($create_terminal_transaction_request) && count($create_terminal_transaction_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_terminal_transaction_request when calling sposCreateTerminalTransaction' ); } $resourcePath = '/terminal/transactions'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_terminal_transaction_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_terminal_transaction_request)); } else { $httpBody = $create_terminal_transaction_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposFetchTerminal($x_api_version, $terminal_phone_no, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposFetchTerminal", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposFetchTerminal'][0]; $request = $this->sposFetchTerminalRequest($x_api_version, $terminal_phone_no, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\TerminalEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\TerminalEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\TerminalEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\TerminalEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\TerminalEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposFetchTerminalRequest($x_api_version, $terminal_phone_no, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposFetchTerminal'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposFetchTerminal' ); } // verify the required parameter 'terminal_phone_no' is set if ($terminal_phone_no === null || (is_array($terminal_phone_no) && count($terminal_phone_no) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $terminal_phone_no when calling sposFetchTerminal' ); } $resourcePath = '/terminal/{terminal_phone_no}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($terminal_phone_no !== null) { $resourcePath = str_replace( '{' . 'terminal_phone_no' . '}', ObjectSerializer::toPathValue($terminal_phone_no), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposFetchTerminalQRCodes($x_api_version, $terminal_phone_no, $cf_terminal_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposFetchTerminalQRCodes", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposFetchTerminalQRCodes'][0]; $request = $this->sposFetchTerminalQRCodesRequest($x_api_version, $terminal_phone_no, $cf_terminal_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\FetchTerminalQRCodesEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\FetchTerminalQRCodesEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\FetchTerminalQRCodesEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\FetchTerminalQRCodesEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\FetchTerminalQRCodesEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposFetchTerminalQRCodesRequest($x_api_version, $terminal_phone_no, $cf_terminal_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposFetchTerminalQRCodes'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposFetchTerminalQRCodes' ); } // verify the required parameter 'terminal_phone_no' is set if ($terminal_phone_no === null || (is_array($terminal_phone_no) && count($terminal_phone_no) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $terminal_phone_no when calling sposFetchTerminalQRCodes' ); } // verify the required parameter 'cf_terminal_id' is set if ($cf_terminal_id === null || (is_array($cf_terminal_id) && count($cf_terminal_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_terminal_id when calling sposFetchTerminalQRCodes' ); } $resourcePath = '/terminal/qrcodes'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; // query params $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue( $terminal_phone_no, 'terminal_phone_no', // param base name 'string', // openApiType 'form', // style true, // explode true // required ) ?? []); // query params $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue( $cf_terminal_id, 'cf_terminal_id', // param base name 'string', // openApiType 'form', // style true, // explode true // required ) ?? []); $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposFetchTerminalTransaction($x_api_version, $utr, $cf_terminal_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposFetchTerminalTransaction", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposFetchTerminalTransaction'][0]; $request = $this->sposFetchTerminalTransactionRequest($x_api_version, $utr, $cf_terminal_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\TerminalPaymentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\TerminalPaymentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\TerminalPaymentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\TerminalPaymentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\TerminalPaymentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposFetchTerminalTransactionRequest($x_api_version, $utr, $cf_terminal_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposFetchTerminalTransaction'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposFetchTerminalTransaction' ); } // verify the required parameter 'utr' is set if ($utr === null || (is_array($utr) && count($utr) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $utr when calling sposFetchTerminalTransaction' ); } // verify the required parameter 'cf_terminal_id' is set if ($cf_terminal_id === null || (is_array($cf_terminal_id) && count($cf_terminal_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_terminal_id when calling sposFetchTerminalTransaction' ); } $resourcePath = '/terminal/{cf_terminal_id}/payments'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; // query params $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue( $utr, 'utr', // param base name 'string', // openApiType 'form', // style true, // explode true // required ) ?? []); $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($cf_terminal_id !== null) { $resourcePath = str_replace( '{' . 'cf_terminal_id' . '}', ObjectSerializer::toPathValue($cf_terminal_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposUpdateTerminal($x_api_version, $cf_terminal_id, $update_terminal_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposUpdateTerminal", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposUpdateTerminal'][0]; $request = $this->sposUpdateTerminalRequest($x_api_version, $cf_terminal_id, $update_terminal_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UpdateTerminalEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UpdateTerminalEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UpdateTerminalEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UpdateTerminalEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UpdateTerminalEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposUpdateTerminalRequest($x_api_version, $cf_terminal_id, $update_terminal_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposUpdateTerminal'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposUpdateTerminal' ); } // verify the required parameter 'cf_terminal_id' is set if ($cf_terminal_id === null || (is_array($cf_terminal_id) && count($cf_terminal_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_terminal_id when calling sposUpdateTerminal' ); } // verify the required parameter 'update_terminal_request' is set if ($update_terminal_request === null || (is_array($update_terminal_request) && count($update_terminal_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $update_terminal_request when calling sposUpdateTerminal' ); } $resourcePath = '/terminal/{cf_terminal_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($cf_terminal_id !== null) { $resourcePath = str_replace( '{' . 'cf_terminal_id' . '}', ObjectSerializer::toPathValue($cf_terminal_id), $resourcePath ); } // for model (json/xml) if (isset($update_terminal_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($update_terminal_request)); } else { $httpBody = $update_terminal_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'PATCH', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposUpdateTerminalStatus($x_api_version, $cf_terminal_id, $update_terminal_status_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposUpdateTerminalStatus", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposUpdateTerminalStatus'][0]; $request = $this->sposUpdateTerminalStatusRequest($x_api_version, $cf_terminal_id, $update_terminal_status_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UpdateTerminalEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UpdateTerminalEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UpdateTerminalEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UpdateTerminalEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UpdateTerminalEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposUpdateTerminalStatusRequest($x_api_version, $cf_terminal_id, $update_terminal_status_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposUpdateTerminalStatus'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposUpdateTerminalStatus' ); } // verify the required parameter 'cf_terminal_id' is set if ($cf_terminal_id === null || (is_array($cf_terminal_id) && count($cf_terminal_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_terminal_id when calling sposUpdateTerminalStatus' ); } // verify the required parameter 'update_terminal_status_request' is set if ($update_terminal_status_request === null || (is_array($update_terminal_status_request) && count($update_terminal_status_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $update_terminal_status_request when calling sposUpdateTerminalStatus' ); } $resourcePath = '/terminal/{cf_terminal_id}/status'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($cf_terminal_id !== null) { $resourcePath = str_replace( '{' . 'cf_terminal_id' . '}', ObjectSerializer::toPathValue($cf_terminal_id), $resourcePath ); } // for model (json/xml) if (isset($update_terminal_status_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($update_terminal_status_request)); } else { $httpBody = $update_terminal_status_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'PATCH', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SposUploadTerminalDocs($x_api_version, $cf_terminal_id, $upload_terminal_docs, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SposUploadTerminalDocs", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['sposUploadTerminalDocs'][0]; $request = $this->sposUploadTerminalDocsRequest($x_api_version, $cf_terminal_id, $upload_terminal_docs, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UploadTerminalDocsEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UploadTerminalDocsEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UploadTerminalDocsEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UploadTerminalDocsEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UploadTerminalDocsEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function sposUploadTerminalDocsRequest($x_api_version, $cf_terminal_id, $upload_terminal_docs, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['sposUploadTerminalDocs'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling sposUploadTerminalDocs' ); } // verify the required parameter 'cf_terminal_id' is set if ($cf_terminal_id === null || (is_array($cf_terminal_id) && count($cf_terminal_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $cf_terminal_id when calling sposUploadTerminalDocs' ); } // verify the required parameter 'upload_terminal_docs' is set if ($upload_terminal_docs === null || (is_array($upload_terminal_docs) && count($upload_terminal_docs) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $upload_terminal_docs when calling sposUploadTerminalDocs' ); } $resourcePath = '/terminal/{cf_terminal_id}/docs'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($cf_terminal_id !== null) { $resourcePath = str_replace( '{' . 'cf_terminal_id' . '}', ObjectSerializer::toPathValue($cf_terminal_id), $resourcePath ); } // for model (json/xml) if (isset($upload_terminal_docs)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($upload_terminal_docs)); } else { $httpBody = $upload_terminal_docs; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsCreatePayment($x_api_version, $create_subscription_payment_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsCreatePayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsCreatePayment'][0]; $request = $this->subsCreatePaymentRequest($x_api_version, $create_subscription_payment_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubsCreatePayment200Response' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubsCreatePayment200Response' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubsCreatePayment200Response', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubsCreatePayment200Response'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubsCreatePayment200Response', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsCreatePaymentRequest($x_api_version, $create_subscription_payment_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsCreatePayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsCreatePayment' ); } // verify the required parameter 'create_subscription_payment_request' is set if ($create_subscription_payment_request === null || (is_array($create_subscription_payment_request) && count($create_subscription_payment_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_subscription_payment_request when calling subsCreatePayment' ); } $resourcePath = '/subscriptions/pay'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_subscription_payment_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_subscription_payment_request)); } else { $httpBody = $create_subscription_payment_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsCreatePlan($x_api_version, $create_plan_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsCreatePlan", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsCreatePlan'][0]; $request = $this->subsCreatePlanRequest($x_api_version, $create_plan_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PlanEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PlanEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PlanEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PlanEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PlanEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsCreatePlanRequest($x_api_version, $create_plan_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsCreatePlan'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsCreatePlan' ); } // verify the required parameter 'create_plan_request' is set if ($create_plan_request === null || (is_array($create_plan_request) && count($create_plan_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_plan_request when calling subsCreatePlan' ); } $resourcePath = '/plans'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_plan_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_plan_request)); } else { $httpBody = $create_plan_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsCreateRefund($x_api_version, $subscription_id, $create_subscription_refund_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsCreateRefund", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsCreateRefund'][0]; $request = $this->subsCreateRefundRequest($x_api_version, $subscription_id, $create_subscription_refund_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionPaymentRefundEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionPaymentRefundEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionPaymentRefundEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionPaymentRefundEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionPaymentRefundEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsCreateRefundRequest($x_api_version, $subscription_id, $create_subscription_refund_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsCreateRefund'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsCreateRefund' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsCreateRefund' ); } // verify the required parameter 'create_subscription_refund_request' is set if ($create_subscription_refund_request === null || (is_array($create_subscription_refund_request) && count($create_subscription_refund_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_subscription_refund_request when calling subsCreateRefund' ); } $resourcePath = '/subscriptions/{subscription_id}/refunds'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // for model (json/xml) if (isset($create_subscription_refund_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_subscription_refund_request)); } else { $httpBody = $create_subscription_refund_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsCreateSubscription($x_api_version, $create_subscription_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsCreateSubscription", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsCreateSubscription'][0]; $request = $this->subsCreateSubscriptionRequest($x_api_version, $create_subscription_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsCreateSubscriptionRequest($x_api_version, $create_subscription_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsCreateSubscription'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsCreateSubscription' ); } // verify the required parameter 'create_subscription_request' is set if ($create_subscription_request === null || (is_array($create_subscription_request) && count($create_subscription_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $create_subscription_request when calling subsCreateSubscription' ); } $resourcePath = '/subscriptions'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($create_subscription_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($create_subscription_request)); } else { $httpBody = $create_subscription_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsFetchPlan($x_api_version, $plan_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsFetchPlan", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsFetchPlan'][0]; $request = $this->subsFetchPlanRequest($x_api_version, $plan_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\PlanEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\PlanEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\PlanEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\PlanEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\PlanEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsFetchPlanRequest($x_api_version, $plan_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsFetchPlan'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsFetchPlan' ); } // verify the required parameter 'plan_id' is set if ($plan_id === null || (is_array($plan_id) && count($plan_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $plan_id when calling subsFetchPlan' ); } $resourcePath = '/pg/plans/{plan_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($plan_id !== null) { $resourcePath = str_replace( '{' . 'plan_id' . '}', ObjectSerializer::toPathValue($plan_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsFetchSubscription($x_api_version, $subscription_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsFetchSubscription", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsFetchSubscription'][0]; $request = $this->subsFetchSubscriptionRequest($x_api_version, $subscription_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsFetchSubscriptionRequest($x_api_version, $subscription_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsFetchSubscription'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsFetchSubscription' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsFetchSubscription' ); } $resourcePath = '/subscriptions/{subscription_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsFetchSubscriptionPayment($x_api_version, $subscription_id, $payment_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsFetchSubscriptionPayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsFetchSubscriptionPayment'][0]; $request = $this->subsFetchSubscriptionPaymentRequest($x_api_version, $subscription_id, $payment_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionPaymentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionPaymentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionPaymentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionPaymentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionPaymentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsFetchSubscriptionPaymentRequest($x_api_version, $subscription_id, $payment_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsFetchSubscriptionPayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsFetchSubscriptionPayment' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsFetchSubscriptionPayment' ); } // verify the required parameter 'payment_id' is set if ($payment_id === null || (is_array($payment_id) && count($payment_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $payment_id when calling subsFetchSubscriptionPayment' ); } $resourcePath = '/subscriptions/{subscription_id}/payments/{payment_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // path params if ($payment_id !== null) { $resourcePath = str_replace( '{' . 'payment_id' . '}', ObjectSerializer::toPathValue($payment_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsFetchSubscriptionPayments($x_api_version, $subscription_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsFetchSubscriptionPayments", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsFetchSubscriptionPayments'][0]; $request = $this->subsFetchSubscriptionPaymentsRequest($x_api_version, $subscription_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionPaymentEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionPaymentEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionPaymentEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionPaymentEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionPaymentEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsFetchSubscriptionPaymentsRequest($x_api_version, $subscription_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsFetchSubscriptionPayments'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsFetchSubscriptionPayments' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsFetchSubscriptionPayments' ); } $resourcePath = '/subscriptions/{subscription_id}/payments'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsFetchSubscriptionRefund($x_api_version, $subscription_id, $refund_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsFetchSubscriptionRefund", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsFetchSubscriptionRefund'][0]; $request = $this->subsFetchSubscriptionRefundRequest($x_api_version, $subscription_id, $refund_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionPaymentRefundEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionPaymentRefundEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionPaymentRefundEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionPaymentRefundEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionPaymentRefundEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsFetchSubscriptionRefundRequest($x_api_version, $subscription_id, $refund_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsFetchSubscriptionRefund'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsFetchSubscriptionRefund' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsFetchSubscriptionRefund' ); } // verify the required parameter 'refund_id' is set if ($refund_id === null || (is_array($refund_id) && count($refund_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $refund_id when calling subsFetchSubscriptionRefund' ); } $resourcePath = '/subscriptions/{subscription_id}/refunds/{refund_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // path params if ($refund_id !== null) { $resourcePath = str_replace( '{' . 'refund_id' . '}', ObjectSerializer::toPathValue($refund_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsManageSubscription($x_api_version, $subscription_id, $manage_subscription_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsManageSubscription", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsManageSubscription'][0]; $request = $this->subsManageSubscriptionRequest($x_api_version, $subscription_id, $manage_subscription_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsManageSubscriptionRequest($x_api_version, $subscription_id, $manage_subscription_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsManageSubscription'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsManageSubscription' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsManageSubscription' ); } // verify the required parameter 'manage_subscription_request' is set if ($manage_subscription_request === null || (is_array($manage_subscription_request) && count($manage_subscription_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $manage_subscription_request when calling subsManageSubscription' ); } $resourcePath = '/subscriptions/{subscription_id}/manage'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // for model (json/xml) if (isset($manage_subscription_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($manage_subscription_request)); } else { $httpBody = $manage_subscription_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubsManageSubscriptionPayment($x_api_version, $subscription_id, $payment_id, $manage_subscription_payment_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubsManageSubscriptionPayment", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subsManageSubscriptionPayment'][0]; $request = $this->subsManageSubscriptionPaymentRequest($x_api_version, $subscription_id, $payment_id, $manage_subscription_payment_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionPaymentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionPaymentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionPaymentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionPaymentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionPaymentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subsManageSubscriptionPaymentRequest($x_api_version, $subscription_id, $payment_id, $manage_subscription_payment_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subsManageSubscriptionPayment'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subsManageSubscriptionPayment' ); } // verify the required parameter 'subscription_id' is set if ($subscription_id === null || (is_array($subscription_id) && count($subscription_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_id when calling subsManageSubscriptionPayment' ); } // verify the required parameter 'payment_id' is set if ($payment_id === null || (is_array($payment_id) && count($payment_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $payment_id when calling subsManageSubscriptionPayment' ); } // verify the required parameter 'manage_subscription_payment_request' is set if ($manage_subscription_payment_request === null || (is_array($manage_subscription_payment_request) && count($manage_subscription_payment_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $manage_subscription_payment_request when calling subsManageSubscriptionPayment' ); } $resourcePath = '/subscriptions/{subscription_id}/payments/{payment_id}/manage'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($subscription_id !== null) { $resourcePath = str_replace( '{' . 'subscription_id' . '}', ObjectSerializer::toPathValue($subscription_id), $resourcePath ); } // path params if ($payment_id !== null) { $resourcePath = str_replace( '{' . 'payment_id' . '}', ObjectSerializer::toPathValue($payment_id), $resourcePath ); } // for model (json/xml) if (isset($manage_subscription_payment_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($manage_subscription_payment_request)); } else { $httpBody = $manage_subscription_payment_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubscriptionDocumentUpload($x_api_version, $payment_id, $file, $payment_id2, $action, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubscriptionDocumentUpload", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subscriptionDocumentUpload'][0]; $request = $this->subscriptionDocumentUploadRequest($x_api_version, $payment_id, $file, $payment_id2, $action, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\UploadPnachImageResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\UploadPnachImageResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\UploadPnachImageResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\UploadPnachImageResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\UploadPnachImageResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subscriptionDocumentUploadRequest($x_api_version, $payment_id, $file, $payment_id2, $action, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subscriptionDocumentUpload'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subscriptionDocumentUpload' ); } // verify the required parameter 'payment_id' is set if ($payment_id === null || (is_array($payment_id) && count($payment_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $payment_id when calling subscriptionDocumentUpload' ); } // verify the required parameter 'file' is set if ($file === null || (is_array($file) && count($file) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $file when calling subscriptionDocumentUpload' ); } // verify the required parameter 'payment_id2' is set if ($payment_id2 === null || (is_array($payment_id2) && count($payment_id2) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $payment_id2 when calling subscriptionDocumentUpload' ); } // verify the required parameter 'action' is set if ($action === null || (is_array($action) && count($action) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $action when calling subscriptionDocumentUpload' ); } $resourcePath = '/subscriptions/pay/documents/{payment_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($payment_id !== null) { $resourcePath = str_replace( '{' . 'payment_id' . '}', ObjectSerializer::toPathValue($payment_id), $resourcePath ); } // form params if ($file !== null) { $multipart = true; $formParams['file'] = []; $paramFiles = is_array($file) ? $file : [$file]; foreach ($paramFiles as $paramFile) { $formParams['file'][] = \GuzzleHttp\Psr7\Utils::tryFopen( ObjectSerializer::toFormValue($paramFile), 'rb' ); } } // form params if ($payment_id2 !== null) { $formParams['payment_id'] = ObjectSerializer::toFormValue($payment_id2); } // form params if ($action !== null) { $formParams['action'] = ObjectSerializer::toFormValue($action); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function SubscriptionEligibility($x_api_version, $subscription_eligibility_request, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."SubscriptionEligibility", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['subscriptionEligibility'][0]; $request = $this->subscriptionEligibilityRequest($x_api_version, $subscription_eligibility_request, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\SubscriptionEligibilityResponse' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\SubscriptionEligibilityResponse' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\SubscriptionEligibilityResponse', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\SubscriptionEligibilityResponse'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\SubscriptionEligibilityResponse', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function subscriptionEligibilityRequest($x_api_version, $subscription_eligibility_request, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['subscriptionEligibility'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling subscriptionEligibility' ); } // verify the required parameter 'subscription_eligibility_request' is set if ($subscription_eligibility_request === null || (is_array($subscription_eligibility_request) && count($subscription_eligibility_request) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $subscription_eligibility_request when calling subscriptionEligibility' ); } $resourcePath = '/subscriptions/eligibility/payment_methods'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // for model (json/xml) if (isset($subscription_eligibility_request)) { if (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the body $httpBody = \GuzzleHttp\Utils::jsonEncode(ObjectSerializer::sanitizeForSerialization($subscription_eligibility_request)); } else { $httpBody = $subscription_eligibility_request; } } elseif (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'POST', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCustomerDeleteInstrument($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCustomerDeleteInstrument", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCustomerDeleteInstrument'][0]; $request = $this->pGCustomerDeleteInstrumentRequest($x_api_version, $customer_id, $instrument_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\InstrumentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\InstrumentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\InstrumentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\InstrumentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\InstrumentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCustomerDeleteInstrumentRequest($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCustomerDeleteInstrument'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCustomerDeleteInstrument' ); } // verify the required parameter 'customer_id' is set if ($customer_id === null || (is_array($customer_id) && count($customer_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $customer_id when calling pGCustomerDeleteInstrument' ); } // verify the required parameter 'instrument_id' is set if ($instrument_id === null || (is_array($instrument_id) && count($instrument_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $instrument_id when calling pGCustomerDeleteInstrument' ); } $resourcePath = '/customers/{customer_id}/instruments/{instrument_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($customer_id !== null) { $resourcePath = str_replace( '{' . 'customer_id' . '}', ObjectSerializer::toPathValue($customer_id), $resourcePath ); } // path params if ($instrument_id !== null) { $resourcePath = str_replace( '{' . 'instrument_id' . '}', ObjectSerializer::toPathValue($instrument_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'DELETE', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCustomerFetchInstrument($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCustomerFetchInstrument", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCustomerFetchInstrument'][0]; $request = $this->pGCustomerFetchInstrumentRequest($x_api_version, $customer_id, $instrument_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\InstrumentEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\InstrumentEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\InstrumentEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\InstrumentEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\InstrumentEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCustomerFetchInstrumentRequest($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCustomerFetchInstrument'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCustomerFetchInstrument' ); } // verify the required parameter 'customer_id' is set if ($customer_id === null || (is_array($customer_id) && count($customer_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $customer_id when calling pGCustomerFetchInstrument' ); } // verify the required parameter 'instrument_id' is set if ($instrument_id === null || (is_array($instrument_id) && count($instrument_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $instrument_id when calling pGCustomerFetchInstrument' ); } $resourcePath = '/customers/{customer_id}/instruments/{instrument_id}'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($customer_id !== null) { $resourcePath = str_replace( '{' . 'customer_id' . '}', ObjectSerializer::toPathValue($customer_id), $resourcePath ); } // path params if ($instrument_id !== null) { $resourcePath = str_replace( '{' . 'instrument_id' . '}', ObjectSerializer::toPathValue($instrument_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCustomerFetchInstruments($x_api_version, $customer_id, $instrument_type, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCustomerFetchInstruments", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCustomerFetchInstruments'][0]; $request = $this->pGCustomerFetchInstrumentsRequest($x_api_version, $customer_id, $instrument_type, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\InstrumentEntity[]' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\InstrumentEntity[]' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\InstrumentEntity[]', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\InstrumentEntity[]'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\InstrumentEntity[]', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCustomerFetchInstrumentsRequest($x_api_version, $customer_id, $instrument_type, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCustomerFetchInstruments'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCustomerFetchInstruments' ); } // verify the required parameter 'customer_id' is set if ($customer_id === null || (is_array($customer_id) && count($customer_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $customer_id when calling pGCustomerFetchInstruments' ); } // verify the required parameter 'instrument_type' is set if ($instrument_type === null || (is_array($instrument_type) && count($instrument_type) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $instrument_type when calling pGCustomerFetchInstruments' ); } $resourcePath = '/customers/{customer_id}/instruments'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; // query params $queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue( $instrument_type, 'instrument_type', // param base name 'string', // openApiType 'form', // style true, // explode true // required ) ?? []); $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($customer_id !== null) { $resourcePath = str_replace( '{' . 'customer_id' . '}', ObjectSerializer::toPathValue($customer_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } public function PGCustomerInstrumentsFetchCryptogram($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, GuzzleHttp\Client $http_client = null) { $env = "sandbox"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $env = "production"; } if(Cashfree::$XEnableErrorAnalytics) { \Sentry\init([ 'dsn' => 'https://f694e61bc6394e80bd2f687a4249a204@o330525.ingest.sentry.io/4505248768327680', 'environment' => $env."PGCustomerInstrumentsFetchCryptogram", 'attach_stacktrace' => true, 'release' => '4.2.0', 'traces_sample_rate' => 1.0, 'before_send' => function (\Sentry\Event $event): ?\Sentry\Event { $cashfreepg = "cashfree-pg"; if (count($event->getExceptions()) > 0 && count($event->getExceptions()[0]->getStackTrace()->getFrames()) > 0) { if (strpos($event->getExceptions()[0]->getStackTrace()->getFrames()[0]->getFile(), $cashfreepg) !== false) { $osContext = $event->getOsContext(); $osContext->setKernelVersion(""); $osContext->setMachineType(""); $osContext->setKernelVersion(""); $osContext->setVersion(""); $event->setOsContext($osContext); if(Cashfree::$XEnableErrorAnalytics) { return $event; } return null; } } return null; }, ]); } $this->client = new Client(); if($http_client !== null) { $this->client = $http_client; } $this->headerSelector = new HeaderSelector(); $contentType = self::contentTypes['pGCustomerInstrumentsFetchCryptogram'][0]; $request = $this->pGCustomerInstrumentsFetchCryptogramRequest($x_api_version, $customer_id, $instrument_id, $x_request_id, $x_idempotency_key, $contentType); try { $options = $this->createHttpClientOption(); try { $response = $this->client->send($request, $options); } catch (RequestException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } catch (ConnectException $e) { throw new ApiException( "[{$e->getCode()}] {$e->getMessage()}", (int) $e->getCode(), null, null ); } $statusCode = $response->getStatusCode(); if ($statusCode < 200 || $statusCode > 299) { throw new ApiException( sprintf( '[%d] Error connecting to the API (%s)', $statusCode, (string) $request->getUri() ), $statusCode, $response->getHeaders(), (string) $response->getBody() ); } switch($statusCode) { case 200: if ('\Cashfree\Model\CryptogramEntity' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\CryptogramEntity' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\CryptogramEntity', []), $response->getStatusCode(), $response->getHeaders() ]; case 400: if ('\Cashfree\Model\BadRequestError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\BadRequestError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\BadRequestError', []), $response->getStatusCode(), $response->getHeaders() ]; case 401: if ('\Cashfree\Model\AuthenticationError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\AuthenticationError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\AuthenticationError', []), $response->getStatusCode(), $response->getHeaders() ]; case 404: if ('\Cashfree\Model\ApiError404' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError404' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError404', []), $response->getStatusCode(), $response->getHeaders() ]; case 409: if ('\Cashfree\Model\ApiError409' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError409' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError409', []), $response->getStatusCode(), $response->getHeaders() ]; case 422: if ('\Cashfree\Model\IdempotencyError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\IdempotencyError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\IdempotencyError', []), $response->getStatusCode(), $response->getHeaders() ]; case 429: if ('\Cashfree\Model\RateLimitError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\RateLimitError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\RateLimitError', []), $response->getStatusCode(), $response->getHeaders() ]; case 500: if ('\Cashfree\Model\ApiError' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError', []), $response->getStatusCode(), $response->getHeaders() ]; case 502: if ('\Cashfree\Model\ApiError502' === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ('\Cashfree\Model\ApiError502' !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, '\Cashfree\Model\ApiError502', []), $response->getStatusCode(), $response->getHeaders() ]; } $returnType = '\Cashfree\Model\CryptogramEntity'; if ($returnType === '\SplFileObject') { $content = $response->getBody(); //stream goes to serializer } else { $content = (string) $response->getBody(); if ($returnType !== 'string') { $content = json_decode($content); } } return [ ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders() ]; } catch (ApiException $e) { switch ($e->getCode()) { case 200: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\CryptogramEntity', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 400: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\BadRequestError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 401: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\AuthenticationError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 404: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError404', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 409: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError409', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 422: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\IdempotencyError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 429: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\RateLimitError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 500: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError', $e->getResponseHeaders() ); $e->setResponseObject($data); break; case 502: $data = ObjectSerializer::deserialize( $e->getResponseBody(), '\Cashfree\Model\ApiError502', $e->getResponseHeaders() ); $e->setResponseObject($data); break; } throw $e; } } public function pGCustomerInstrumentsFetchCryptogramRequest($x_api_version, $customer_id, $instrument_id, $x_request_id = null, $x_idempotency_key = null, string $contentType = self::contentTypes['pGCustomerInstrumentsFetchCryptogram'][0]) { // verify the required parameter 'x_api_version' is set if ($x_api_version === null || (is_array($x_api_version) && count($x_api_version) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $x_api_version when calling pGCustomerInstrumentsFetchCryptogram' ); } // verify the required parameter 'customer_id' is set if ($customer_id === null || (is_array($customer_id) && count($customer_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $customer_id when calling pGCustomerInstrumentsFetchCryptogram' ); } // verify the required parameter 'instrument_id' is set if ($instrument_id === null || (is_array($instrument_id) && count($instrument_id) === 0)) { throw new \InvalidArgumentException( 'Missing the required parameter $instrument_id when calling pGCustomerInstrumentsFetchCryptogram' ); } $resourcePath = '/customers/{customer_id}/instruments/{instrument_id}/cryptogram'; $formParams = []; $queryParams = []; $headerParams = []; $httpBody = ''; $multipart = false; $headers = $this->headerSelector->selectHeaders( ['application/json', ], $contentType, $multipart ); $headers['x-sdk-platform'] = "phpsdk-4.2.0"; if (Cashfree::$XPartnerApiKey !== null) { $headers['x-partner-apikey'] = Cashfree::$XPartnerApiKey; } if (Cashfree::$XClientSecret !== null) { $headers['x-client-secret'] = Cashfree::$XClientSecret; } if (Cashfree::$XPartnerMerchantId !== null) { $headers['x-partner-merchantid'] = Cashfree::$XPartnerMerchantId; } if (Cashfree::$XClientId !== null) { $headers['x-client-id'] = Cashfree::$XClientId; } if (Cashfree::$XClientSignature !== null) { $headers['x-client-signature'] = Cashfree::$XClientSignature; } $headers['x-api-version'] = $x_api_version; if($x_request_id !== null) { $headers['x-request-id'] = $x_request_id; } // if($x_idempotency_key !== null) { // $headers['x-idempotency-key'] = $x_idempotency_key; // } // path params if ($customer_id !== null) { $resourcePath = str_replace( '{' . 'customer_id' . '}', ObjectSerializer::toPathValue($customer_id), $resourcePath ); } // path params if ($instrument_id !== null) { $resourcePath = str_replace( '{' . 'instrument_id' . '}', ObjectSerializer::toPathValue($instrument_id), $resourcePath ); } // for model (json/xml) if (count($formParams) > 0) { if ($multipart) { $multipartContents = []; foreach ($formParams as $formParamName => $formParamValue) { $formParamValueItems = is_array($formParamValue) ? $formParamValue : [$formParamValue]; foreach ($formParamValueItems as $formParamValueItem) { $multipartContents[] = [ 'name' => $formParamName, 'contents' => $formParamValueItem ]; } } // for HTTP post (form) $httpBody = new MultipartStream($multipartContents); } elseif (stripos($headers['Content-Type'], 'application/json') !== false) { # if Content-Type contains "application/json", json_encode the form parameters $httpBody = \GuzzleHttp\Utils::jsonEncode($formParams); } else { // for HTTP post (form) $httpBody = ObjectSerializer::buildQuery($formParams); } } $defaultHeaders = []; $headers = array_merge( $defaultHeaders, $headerParams, $headers ); $operationHost = "https://sandbox.cashfree.com/pg"; if(Cashfree::$XEnvironment == Cashfree::$PRODUCTION) { $operationHost = "https://api.cashfree.com/pg"; } $query = ObjectSerializer::buildQuery($queryParams); return new Request( 'GET', $operationHost . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody ); } protected function createHttpClientOption() { $options = []; return $options; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.81 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002