public function getCustomerReference()
    {
        if (!$this->isRecurring()) {
            return '';
        }
        if (!$this->planResponse) {
            /** @var \Omnipay\AuthorizeNet\AIMGateway $gateway */
            $gateway = Omnipay::create('AuthorizeNet_AIM');
            $gateway->setApiLoginId($this->request->getApiLoginId());
            $gateway->setHashSecret($this->request->getHashSecret());
            $gateway->setTransactionKey($this->request->getTransactionKey());
            $data = array('recurringReference' => $this->getRecurringReference());
            $this->planResponse = $gateway->paymentPlanQuery($data)->send();
        }
        return $this->planResponse->getContactReference();
    }