anchor.diff:  		return result;
   	}
   
  -	public struct function getTransaction() {
  +	public any function getTransaction() {
   		if (isnull(variables.transaction))
  -			throw("No transaction available.","VindicaCashboxModuleWebsessionException");
  +			return;
   
   		var txn = variables.transaction;
   		var items = [];
  
positive.code: 		return [ "last":local.autobill.getItems(0).getProduct().getMerchantProductID(), "next":local.autobill.getItems(0).getProduct().getMerchantProductID(), "dateNext":local.autobill.getNextBilling().getTimestamp().getTime(), "currency":local.autobill.getCurrency() ];
  	}
  
  	public numeric function getScore() {
  		if (isnull(variables.score))
  			throw("No fraud score available.","VindicaCashboxModuleWebsessionException");
  
  		return variables.score;
  	}
  
negative.code: 	}
  
  	public struct function getAutobill() {
  		local.update = getWSO().getApiReturnValues().getAutoBillUpdate();
  		if (isnull(local.update))
  			return {};
  
  		// persist the initial transaction
  		variables.transaction = local.update.getInitialTransaction();
  
  		// persist the fraud score
  		variables.score = local.update.getScore();
  
  		local.autobill = local.update.getAutobill();
  
  		if (isnull(local.autobill))
  			return {};
  