public function testGetFormData()
 {
     $data = [TokenInterface::TOKEN => 'token', TokenInterface::PAYMENT_METHOD_TYPE => 'type', TokenInterface::CARD_TYPE => 'card type', TokenInterface::NUMBER => '4111 1111 1111 1111', TokenInterface::LAST_FOUR_DIGITS => '1111', TokenInterface::FIRST_SIX_DIGITS => '411111', TokenInterface::VERIFICATION_VALUE => 123, TokenInterface::MONTH => '04', TokenInterface::YEAR => '2019', TokenInterface::FIRST_NAME => 'first name', TokenInterface::LAST_NAME => 'last name', TokenInterface::FULL_NAME => 'full name', TokenInterface::COMPANY => 'company', TokenInterface::ADDRESS1 => 'address', TokenInterface::ADDRESS2 => 'address', TokenInterface::CITY => 'city', TokenInterface::STATE => 'state', TokenInterface::ZIP => 'zip', TokenInterface::COUNTRY => 'country', TokenInterface::PHONE => 'phone', TokenInterface::ELIGIBLE_FOR_CARD_UPDATER => true, TokenInterface::STORAGE_STATE => 'ready', TokenInterface::TEST => 'test', TokenInterface::FINGERPRINT => 'fingerprint', TokenInterface::CREATED_AT => '2016-12-12', TokenInterface::UPDATED_AT => '2016-12-12'];
     $expectedData = [TokenInterface::NUMBER => '4111 1111 1111 1111', TokenInterface::VERIFICATION_VALUE => 123, TokenInterface::MONTH => '04', TokenInterface::YEAR => '2019', TokenInterface::FIRST_NAME => 'first name', TokenInterface::LAST_NAME => 'last name', TokenInterface::COMPANY => 'company', TokenInterface::ADDRESS1 => 'address', TokenInterface::ADDRESS2 => 'address', TokenInterface::CITY => 'city', TokenInterface::STATE => 'state', TokenInterface::ZIP => 'zip', TokenInterface::COUNTRY => 'country', TokenInterface::PHONE => 'phone'];
     $this->token->importData($data);
     $this->assertEquals($expectedData, $this->token->getFormData());
 }
 /**
  * @param \SubscribePro\Service\Token\TokenInterface $token
  * @return \SubscribePro\Service\Token\TokenInterface
  * @throws \SubscribePro\Exception\EntityInvalidDataException
  * @throws \SubscribePro\Exception\HttpException
  */
 public function saveToken(TokenInterface $token)
 {
     if (!$token->isValid()) {
         throw new EntityInvalidDataException('Not all required fields are set.');
     }
     $response = $this->httpClient->post('/services/v1/vault/token.json', [self::API_NAME_TOKEN => $token->getFormData()]);
     return $this->retrieveItem($response, self::API_NAME_TOKEN, $token);
 }