Update regionalpickupShipping.class.php

Лучше избегать таких монстроконструкций:
~~~
while (($namspace_chunk = array_shift($params['namespace'])) !== null) {
~~~
Тем более когда есть implode и array_walk
~~~
$namespace = '[' . implode('][', $params['namespace']) . ']';
~~~

~~~
$view->assign(
	array(
		'namespace' => $namespace,
		'values' => $values
		'p' => $this
	)
);
~~~
Работает быстрее в 2 раза, вообще

Массивы "[]" с 5.4 только

По поводу calculate: не будь как WA ) не делай if в if в if в ... лучше сразу return, код будет компактнее и читабильнее, по переменным $rates ... $cost: смысла извлекать их до завершения проверки нет.