CaMykS 1.0-20261010
Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | List of all members
Payline\WebserviceClient Class Reference

Public Member Functions

 __construct ($paylineAPI, $sdkDefaultLocation, $endpointsDirectoryLocation, $soapOptions=null, $params=null)
 
 log ($level, $message, array $context=[])
 
 setFailoverOptions (array $options)
 
 setUseFailover ($use=true)
 
 setSdkDefaultLocation ($location)
 
 setSdkAPI ($api)
 
 setEndpointsDirectoryLocation ($location)
 
 getMinSoapTimeout ()
 
 __call ($method, $args=null)
 
 retrieveSoapLastContent ()
 

Public Attributes

CONST CALL_WITH_CURL = 'curl'
 
CONST CALL_WITH_FILE_CONTENT = 'file_get_contents'
 
CONST ERROR_CODE_TIMEOUT = 'TIMEOUT'
 

Protected Member Functions

 setWebserviceProperty ($property, $value)
 
 getClientSDK ($method, $tryNum)
 
 buildClientSdk ($location, $extraOptions=array())
 
 getCachePool ()
 
 getUseEndpointsDirectory ()
 
 getCallEndpointsDirectoryMethod ()
 
 getAllFailoverServicesEndpoint ()
 
 getFailoverServicesEndpoint ($tryNumber)
 
 switchSoapContext ($error='', $nextTryNum=0, $callDuration=0)
 
 saveCallData ($sdkClient)
 
 useSercicesEndpointsFailover ($method)
 
 switchSoapContextFailoverOnPaylineError ($method, $nextTryNum, $callStart, $response)
 
 switchSoapContextFailoverOnFault ($method, $nextTryNum, $callStart, $errorCode)
 
 switchSoapContextFailoverOnException ($method, $nextTryNum, $callStart, \Exception $e)
 
 array_merge_recursive_distinct (array &$array1, array &$array2)
 

Private Attributes

 $logger
 
 $endpointsUrls
 
 $useFailvover = false
 
 $sdkDefaultLocation
 
 $sdkAPI
 
 $sdkFailoverCurrentLocation
 
 $sdkFailoverCurrentHeaders = []
 
 $endpointsDirectoryLocation
 
 $servicesWithFailover
 
 $paylineErrorList
 
 $httpErrorList
 
 $timeoutErrorList
 
 $exeptionErrorList
 
 $sdkWsdl
 
 $soapOptions
 
 $failoverOptions
 
 $cachePool
 
 $cachePoolsAvailable = ['file', 'apc']
 
 $tryNum = 0
 
 $lastCallData = []
 

Constructor & Destructor Documentation

◆ __construct()

Payline\WebserviceClient::__construct (   $paylineAPI,
  $sdkDefaultLocation,
  $endpointsDirectoryLocation,
  $soapOptions = null,
  $params = null 
)

WebserviceClient constructor.

Parameters
$paylineAPI
$sdkDefaultLocation
$endpointsDirectoryLocation
$soapOptions
$params
Exceptions

Exception

Member Function Documentation

◆ log()

Payline\WebserviceClient::log (   $level,
  $message,
array  $context = [] 
)

Adds a log record at an arbitrary level.

This method allows for compatibility with common interfaces.

Parameters
$level
$message
array$context
Returns
void

◆ setFailoverOptions()

Payline\WebserviceClient::setFailoverOptions ( array  $options)

Basic params

  • disabled => true, false
  • cache_pool => file (default), apc
  • cache_file_path => directory path to store file cache
  • cache_namespace
  • cache_default_ttl Class properties
  • services_with_failover => servicesWithFailover
  • payline_error_list => paylineErrorList
  • http_error_list => httpErrorList
  • timeout_error_list => timeoutErrorList
Parameters
array$options
Returns
$this

◆ setWebserviceProperty()

Payline\WebserviceClient::setWebserviceProperty (   $property,
  $value 
)
protected
Parameters
$property
$value
Returns
bool

◆ setUseFailover()

Payline\WebserviceClient::setUseFailover (   $use = true)
Parameters
bool$use
Returns
$this

◆ setSdkDefaultLocation()

Payline\WebserviceClient::setSdkDefaultLocation (   $location)
Parameters
$location
Returns
$this

◆ setSdkAPI()

Payline\WebserviceClient::setSdkAPI (   $api)
Parameters
$api
Returns
$this

◆ setEndpointsDirectoryLocation()

Payline\WebserviceClient::setEndpointsDirectoryLocation (   $location)
Parameters
$location
Returns
$this

◆ getMinSoapTimeout()

Payline\WebserviceClient::getMinSoapTimeout ( )
Returns
int

◆ getClientSDK()

Payline\WebserviceClient::getClientSDK (   $method,
  $tryNum 
)
protected
Parameters
$method
$tryNum
Returns
SoapClient
Exceptions

SoapFault

◆ buildClientSdk()

Payline\WebserviceClient::buildClientSdk (   $location,
  $extraOptions = array() 
)
protected
Parameters
$location
array$extraOptions
Returns
SoapClient
Exceptions

SoapFault

◆ getCachePool()

Payline\WebserviceClient::getCachePool ( )
protected
Returns
\Payline\Cache\CacheInterface

◆ getUseEndpointsDirectory()

Payline\WebserviceClient::getUseEndpointsDirectory ( )
protected
Returns
bool

◆ getCallEndpointsDirectoryMethod()

Payline\WebserviceClient::getCallEndpointsDirectoryMethod ( )
protected
Returns
false|string

◆ getAllFailoverServicesEndpoint()

Payline\WebserviceClient::getAllFailoverServicesEndpoint ( )
protected
Returns
false|array

◆ getFailoverServicesEndpoint()

Payline\WebserviceClient::getFailoverServicesEndpoint (   $tryNumber)
protected
Returns
false|string

◆ switchSoapContext()

Payline\WebserviceClient::switchSoapContext (   $error = '',
  $nextTryNum = 0,
  $callDuration = 0 
)
protected
Parameters
$error
$nextTryNum
$callDuration
Returns
bool

◆ __call()

Payline\WebserviceClient::__call (   $method,
  $args = null 
)
Parameters
$method
$args
Returns
mixed
Exceptions

SoapFault

◆ saveCallData()

Payline\WebserviceClient::saveCallData (   $sdkClient)
protected
Parameters
SoapClient$sdkClient
Returns
void

◆ useSercicesEndpointsFailover()

Payline\WebserviceClient::useSercicesEndpointsFailover (   $method)
protected
Parameters
$method
Returns
bool

◆ switchSoapContextFailoverOnPaylineError()

Payline\WebserviceClient::switchSoapContextFailoverOnPaylineError (   $method,
  $nextTryNum,
  $callStart,
  $response 
)
protected
Parameters
$method
$nextTryNum
$callStart
$response
Returns
bool

◆ switchSoapContextFailoverOnFault()

Payline\WebserviceClient::switchSoapContextFailoverOnFault (   $method,
  $nextTryNum,
  $callStart,
  $errorCode 
)
protected
Parameters
$method
$nextTryNum
$callStart
$errorCode
Returns
bool

◆ switchSoapContextFailoverOnException()

Payline\WebserviceClient::switchSoapContextFailoverOnException (   $method,
  $nextTryNum,
  $callStart,
\Exception  $e 
)
protected
Deprecated:
Not used
Parameters
$method
$nextTryNum
$callStart
\Exception$e
Returns
bool

◆ array_merge_recursive_distinct()

Payline\WebserviceClient::array_merge_recursive_distinct ( array &  $array1,
array &  $array2 
)
protected
See also
https://www.php.net/manual/en/function.array-merge-recursive.php#92195

array_merge_recursive does indeed merge arrays, but it converts values with duplicate keys to arrays rather than overwriting the value in the first array with the duplicate value in the second array, as array_merge does. I.e., with array_merge_recursive, this happens (documented behavior):

array_merge_recursive(array('key' => 'org value'), array('key' => 'new value')); => array('key' => array('org value', 'new value'));

array_merge_recursive_distinct does not change the datatypes of the values in the arrays. Matching keys' values in the second array overwrite those in the first array, as is the case with array_merge, i.e.:

array_merge_recursive_distinct(array('key' => 'org value'), array('key' => 'new value')); => array('key' => array('new value'));

Parameters are passed by reference, though only for performance reasons. They're not altered by this function.

Parameters
array$array1
array$array2
Returns
array
Author
Daniel <daniel (at) danielsmedegaardbuus (dot) dk>
Gabriel Sobrinho <gabriel (dot) sobrinho (at) gmail (dot) com>

◆ retrieveSoapLastContent()

Payline\WebserviceClient::retrieveSoapLastContent ( )
Returns
array

Member Data Documentation

◆ CALL_WITH_CURL

CONST Payline\WebserviceClient::CALL_WITH_CURL = 'curl'

◆ CALL_WITH_FILE_CONTENT

CONST Payline\WebserviceClient::CALL_WITH_FILE_CONTENT = 'file_get_contents'

◆ ERROR_CODE_TIMEOUT

CONST Payline\WebserviceClient::ERROR_CODE_TIMEOUT = 'TIMEOUT'

◆ $logger

Payline\WebserviceClient::$logger
private

◆ $endpointsUrls

array Payline\WebserviceClient::$endpointsUrls
private

◆ $useFailvover

bool Payline\WebserviceClient::$useFailvover = false
private

◆ $sdkDefaultLocation

string Payline\WebserviceClient::$sdkDefaultLocation
private

Main Soap URL used for all SDK methods except method that can used failover endpoint ($servicesWithFailover)

◆ $sdkAPI

string Payline\WebserviceClient::$sdkAPI
private

◆ $sdkFailoverCurrentLocation

Payline\WebserviceClient::$sdkFailoverCurrentLocation
private

◆ $sdkFailoverCurrentHeaders

array Payline\WebserviceClient::$sdkFailoverCurrentHeaders = []
private

Headers SOAP

◆ $endpointsDirectoryLocation

Payline\WebserviceClient::$endpointsDirectoryLocation
private

◆ $servicesWithFailover

string[] Payline\WebserviceClient::$servicesWithFailover
private
Initial value:
= array(
'doAuthorization',
'doReAuthorization',
'doWebPayment',
'getWebPaymentDetails',
'doImmediateWalletPayment',
'verifyEnrollment',
'verifyAuthentication'
)

◆ $paylineErrorList

string[] Payline\WebserviceClient::$paylineErrorList
private
Initial value:
= array(
'04901',
'02101'
)

◆ $httpErrorList

string[] Payline\WebserviceClient::$httpErrorList
private
Initial value:
= array(
'502',
'503',
'408',
'504',
'500',
self::ERROR_CODE_TIMEOUT
)

◆ $timeoutErrorList

Payline\WebserviceClient::$timeoutErrorList
private
Initial value:
= array(
"Error Fetching http headers",
"Could not connect to host"
)

◆ $exeptionErrorList

Payline\WebserviceClient::$exeptionErrorList
private
Initial value:
= array(
)

◆ $sdkWsdl

Payline\WebserviceClient::$sdkWsdl
private

◆ $soapOptions

null array Payline\WebserviceClient::$soapOptions
private

◆ $failoverOptions

array Payline\WebserviceClient::$failoverOptions
private

◆ $cachePool

Payline Cache CacheInterface Payline\WebserviceClient::$cachePool
private

◆ $cachePoolsAvailable

Payline\WebserviceClient::$cachePoolsAvailable = ['file', 'apc']
private

◆ $tryNum

Payline\WebserviceClient::$tryNum = 0
private

◆ $lastCallData

Payline\WebserviceClient::$lastCallData = []
private

The documentation for this class was generated from the following file: