public function  updatePaymentPlan($param)
    {
        $hasError = false;

        $param['method'] = CheckoutApi_Client_Adapter_Constant::API_PUT;
        $this->flushState();

        $uri = $this->getUriRecurringPayments().'/plans';;
        $isPlanIdValid = CheckoutApi_Client_Validation_GW3::isPlanIdValid($param);

        if(!$isPlanIdValid) {
            $hasError = true;
            $this->throwException('Please provide a valid plan id',array('param'=>$param));

        } else {

            $uri = "$uri/{$param['planId']}";
        }

        return $this->request( $uri ,$param,!$hasError);
    }