Class PayPalController
This class contains some helper methods for handling view requests. Be careful always when outputting raw user data to HTML or when handling POST requests because insufficient protection will lead to XSS and CSRF vulnerabilities.
| package |
HttpViewControllers |
|---|
__construct(\HttpContextReaderInterface $httpContextReader, \HttpResponseProcessorInterface $httpResponseProcessor, \ContentViewInterface $defaultContentView)
\HttpContextReaderInterface
\HttpResponseProcessorInterface
\ContentViewInterface
_callActionMethod(string $actionName) : \HttpControllerResponseInterface
| Throws |
|
|---|
stringName of action method to call, without 'action'-Suffix.
\HttpControllerResponseInterfaceResponse message.
_findCountryByID( $country_id)
_getPostData(string $keyName) : string|null
This method is the object oriented layer for $_POST[$keyName].
stringExpected key of post parameter.
string|nullEither the expected value or null, of not found.
_getPostDataCollection() : \KeyValueCollection
_getQueryParameter(string $keyName) : mixed|null
This method is the object oriented layer for $_GET[$keyName].
stringExpected key of query parameter.
mixed|nullEither the expected value or null, of not found.
_getQueryParametersCollection() : \KeyValueCollection
_getServerData(string $keyName) : string|null
This method is the object oriented layer for $_SERVER[$keyName].
stringExpected key of server parameter.
string|nullEither the expected value or null, of not found.
_isValidPayment( $paymentCode) : boolean
Caveat: This only works for modules where the filename (plus '.php') is identical with the module code.
booleantrue if module is installed
_render(string $templateFile, array $contentArray) : string
stringTemplate file to render.
arrayContent array which represent the variables of the template.
stringRendered template.
_validatePageToken(string $customExceptionMessage = null)
Example: public function proceed(HttpContextInterface $httpContext) { parent::proceed($httpContext); // proceed http context from parent class if($_SERVER['REQUEST_METHOD'] === 'POST') { $this->_validatePageToken(); // CSRF Protection } }
| Throws |
|
|---|
string(optional) You can specify a custom exception message.
actionBankTxnPending()
The flow that used to require this has recently been deprecated by PayPal.
actionCancelECS()
actionCartECS()
The flag is used in ECSButton.js as an indication that the customer is to be redirected to PayPal for an ECS login. This is required for the ECS button on products pages to work as intended.
actionDefault() : \HttpControllerResponseInterface
Every controller child class requires at least the default action method, which is invoked when the ::_getQueryParameterData('do') value is not separated by a trailing slash.
Every action method have to return an instance which implements the http controller response interface.
\HttpControllerResponseInterface
actionInstallmentOptions()
actionLogoffECSCustomer()
actionPaylink()
Paylinks created from the order details page are directed at this action. If the paycode hash is valid a payment will be created and the customer redirected to PayPal to approve the payment.
actionPaylinkReturn()
Takes the PayerID from the query parameters and executes the payment created by actionPaylink(), then displays a quick thank you note.
actionPrepareECS()
actionReturnFromECS()
If the customer is not logged in, a guest account will be created from data provided by PayPal.
actionSetPayment()
actionStatusUpdate()
Supposed to be used as a replacement for Webhooks in cases where the shop is inaccessible for PayPal, e.g. due to missing TLS accessibility.
actionWebhook()
Any incoming notification will be recorded in the order status history of the corresponding order. If the HMAC signature check fails, a warning will be added. Notifications of type PAYMENT.SALE.COMPLETED cause the order to be transferred to the status for completed orders.
getCustomerByEmail( $email_address)
getCustomerCountryIdByIso2( $iso2)
getLocale()
getQueryBuilder() : \CI_DB_query_builder
\CI_DB_query_builderReturns a database driver that can be used for db operations.
getTemplateFile(string $templateFile) : \ExistingFile
| Throws |
|
|---|
stringThe relative path and filename to search for
\ExistingFilecontaining absolute file path to the given template file
proceed(\HttpContextInterface $httpContext)
The action method is determined by the http context reader instance and the current request context. Re-implement this method in child classes to enable XSS and CSRF protection on demand.
| see | \HttpContextReaderInterface::getActionName \HttpResponseProcessorInterface::proceed |
|---|---|
| Throws |
|
splitStreet( $street_address) : array
arraywith keys 'street' and 'house_no'
updateOrdersStatus( $orders_id, $orders_status_id = null, $comments = '')
| todo |
: replace once services for orders and order status history are available |
|---|---|
paypalText : \PayPalText
| var |
Helper for language-specific texts |
|---|
\PayPalText
configurationStorage : \PayPalConfigurationStorage
| var |
|---|
\PayPalConfigurationStorage
logger : \PayPalLogger
| var |
|---|
\PayPalLogger
httpContextReader : \HttpContextReaderInterface
httpResponseProcessor : \HttpResponseProcessorInterface
queryParametersArray : array
| var |
|---|
array
postDataArray : array
| var |
|---|
array
assets : \AssetCollectionInterface
serverDataArray : array
| var |
Server data. |
|---|
array