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 |
|
---|
string
Name of action method to call, without 'action'-Suffix.
\HttpControllerResponseInterface
Response message.
_findCountryByID( $country_id)
_getPostData(string $keyName) : string|null
This method is the object oriented layer for $_POST[$keyName].
string
Expected key of post parameter.
string|null
Either 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].
string
Expected key of query parameter.
mixed|null
Either 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].
string
Expected key of server parameter.
string|null
Either 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.
boolean
true if module is installed
_render(string $templateFile, array $contentArray) : string
string
Template file to render.
array
Content array which represent the variables of the template.
string
Rendered 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_builder
Returns a database driver that can be used for db operations.
getTemplateFile(string $templateFile) : \ExistingFile
Throws |
|
---|
string
The relative path and filename to search for
\ExistingFile
containing 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
array
with 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