@param string $id
@param array  $data
@param array  $headers

@throws Exception

@return array|string
176717
public function collectPayment(string $id, array $data, array $headers = [])
    {
        $url = $this->url('customers/%s/collect_payment', $id);

        return $this->post($url, $data, $headers);
    }
18291
public function recordPayment(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/record_payment', $id);

        return $this->post($url, $data, $headers);
    }
557584
public function delete(string $id, array $headers = [])
    {
        $url = $this->url('subscriptions/%s/delete', $id);

        return $this->post($url, [], $headers);
    }
1130961
public function pause(string $id, array $data = [], array $headers = [])
    {
        $url = $this->url('subscriptions/%s/pause', $id);

        return $this->post($url, $data, $headers);
    }
843227
public function display( Exception $exception, $id, $code, array $headers )
	{
		$info = $this->info->generate( $exception, $id, $code );

		return new Response( $this->render( $info ), $code, array_merge( $headers, ['Content-Type' => $this->contentType()] ) );
	}
1177618
public function load($id, array $parameters = [], array $headers = [])
    {
        $data = $this->getApi()->getCompany($id, $this->parseQueryParameters($parameters), $headers);

        return $this->getFactory()->create($data);
    }
895304
public function unarchive(string $id, array $headers = [])
    {
        $url = $this->url('plans/%s/unarchive', $id);

        return $this->post($url, [], $headers);
    }
313915
public function update($id, $data) {
		$dt = $this->getDataTable();
		
		if (! $dt)
			return $this->createResponse($this->getNameManager()->getTableNames(), 401, "Tabels");
		
		return $this->createResponse([], 200, "{$this->getNameManager()->entityName}: No Update");
	}
580123
public function display(Exception $exception, string $id, int $code, array $headers)
    {
        $content = $this->whoops()->handleException($exception);

        return new Response($content, $code, array_merge($headers, ['Content-Type' => 'text/html']));
    }
1250626
public function addChargeAtTermEnd(string $id, array $data, array $headers = [])
    {
        $url = $this->url('subscriptions/%s/add_charge_at_term_end', $id);

        return $this->post($url, $data, $headers);
    }
1070168
public function recordExcessPayment(string $id, array $data, array $headers = [])
    {
        $url = $this->url('customers/%s/record_excess_payment', $id);

        return $this->post($url, $data, $headers);
    }
1139421
public function saveById($id, $data)
    {
        $exists = !is_null($id);
        if (!$exists) {
            $id = $this->findAvailableIdByData($data);
        }
        parent::saveById($id, $data);
        return $id;
    }
417666
public function removeScheduledPause(string $id, array $data = [], array $headers = [])
    {
        $url = $this->url('subscriptions/%s/remove_scheduled_pause', $id);

        return $this->post($url, $data, $headers);
    }
549256
public function logout(string $id, array $headers = [])
    {
        $url = $this->url('portal_sessions/%s/logout', $id);

        return $this->post($url, [], $headers);
    }
1061714
public function refund(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/refund', $id);

        return $this->post($url, $data, $headers);
    }
902748
public function stopDunning(string $id, array $headers = [])
    {
        $url = $this->url('invoices/%s/stop_dunning', $id);

        return $this->post($url, [], $headers);
    }
1051387
public function findBy($id, array $parameters = [], array $headers = [])
    {
        return $this->getFactory()->create(
            $this->getApi()->findBy($id, $parameters, $headers)
        );
    }