public function addPaymentProfile($cardType, $cardEnding, $cardName, $legatoCode) { if (AvailablePaymentMethodsData::hasCreditCard()) { $beanStream = new Gateway(_PAYMENT_MERCHANT_NUMBER_, _PAYMENT_PROFILE_API_KEY_, 'www', 'v1'); $profile_create_token = array('token' => array('name' => $cardName, 'code' => $legatoCode)); if (_BEAN_STREAM_PRODUCTION_) { try { $beanStreamProfileID = $beanStream->profiles()->createProfile($profile_create_token); return AuthUserPaymentProfilesData::insertPaymentProfile($this->userID, $cardType, $cardEnding, $cardName, $beanStreamProfileID); } catch (Exception $e) { // todo: record failure somewhere file_put_contents('BeanStreamError.txt', print_r($e, true)); return false; } } else { return AuthUserPaymentProfilesData::insertPaymentProfile($this->userID, $cardType, $cardEnding, $cardName, uniqid()); } } else { return false; } }