Magento PayPoint/Meta-Charge extension fault and fixes (PayPoint Fastrack 1.3.1)

At a customers request we were given the opportunity to use PayPoint/Meta-Charge as the payment gateway. As an extension already existed there was little point re-inventing the wheel, so we took advantage of PayPoint Fastrack by Deeson Group Ltd. However, after a few days use it was become apparent there was a bug with the extension when handling some payment types.
URL: not available
Time: 2009-11-10 11:13:13 GMT
Error: Notice: Undefined property:  stdClass::$amount in app/code/local/PaypointFastTrack/controllers/FastController.php on line 162
Looking at line 162, it reveals
161  // We get the amount without the currency prepended to it
162  $split_amount = explode($this->getConfig()->getCurrency(),$this->responseArr->amount);
163  $this->responseArr->intAmount = $split_amount[1];
Which all looked normal, so we dumped the object:
stdClass Object
(
    [intTransID] => XX
    [strCartID] => XX
    [intAccountID] => XX
    [intAuthMode] => 
    [intInstID] => XX
    [intStatus] => 1
    [intTime] => XX
    [fltAmount] => 80.40
    [strCurrency] => GBP
    [strPaymentType] => VISA
    [intCV2] => 1
    [strCustomer] => XX
    [strAddress] => XX
    [strCity] => XX
    [strState] => XX
    [strPostcode] => XX
    [strCountry] => XX
    [strTel] => XX
    [strFax] => 
    [strEmail] => XX@XX.XX
    [strDesc] => Re: XXX
    [fltFraudScore] => 0.014
    [strTransactionType] => Chargeback
    [strSyndicate] => default
    [fltNotifyVersion] => 1.5
    [intRelatedID] => XXX
)
However, it was very apparent that the variable "amount" it was trying to access did not exist. We didn't have time to fully diagnose the fault, so a quick immediate patch was in order. We replaced the above code with:
if (@empty($this->responseArr->amount)) {
  $this->responseArr->intAmount = $this->responseArr->fltAmount;
  $this->responseArr->amount = $this->responseArr->fltAmount;
} else {
  $split_amount = explode($this->getConfig()->getCurrency(),$this->responseArr->amount);
  $this->responseArr->intAmount = $split_amount[1];
}
So far, so good and all transactions are going through properly. If anyone is still having difficulty with the extension not working properly, Deeson Group Ltd recommend purchasing a support contract to remedy the bugs with the extension. [syntaxhighlighter]