The property Status does not exist on object<InStorePayment>. Since you implemented __set, maybe consider adding a @property annotation.
Since your code implements the magic setter _set, this function will be called for any write access on an
undefined variable. You can add the @property annotation to your class or interface to document
the existence of this variable.
<?php/** * @property int $x * @property int $y * @property string $text */classMyLabel{private$properties;private$allowedProperties=array('x','y','text');publicfunction__get($name){if(isset($properties[$name])&&in_array($name,$this->allowedProperties)){return$properties[$name];}else{returnnull;}}publicfunction__set($name,$value){if(in_array($name,$this->allowedProperties)){$properties[$name]=$value;}else{thrownew\LogicException("Property $name is not defined.");}}}
Since the property has write access only, you can use the @property-write annotation instead.
Of course, you may also just have mistyped another name, in which case you should fix the error.
The property Message does not seem to exist. Did you mean custom_message_for_in_store_payment?
An attempt at access to an undefined property has been detected. This may either be a typographical error
or the property has been renamed but there are still references to its old name.
If you really want to allow access to undefined properties, you can define magic methods
to allow access. See the php core documentation on Overloading.
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.