This field was modified to match payfast documentation. When the PurchaseRequst class is called static function initialize looks for any parameters which do not match a setter and if one does not match its ignored. No need to over complicate the matter mixing omnipays fields with payfast fields. Why make the user study payfasts documentation and then have to figure out how to use omnipay so they know which fields to set in order for the output to match payfasts.