function Step2CreateCreditCard($merchantAccountId) { // $account = get_account_by_merchantAccountId($merchantAccountId); //To save a soap call, you can use sparse objects. $account = new Account(); $account->merchantAccountId = $merchantAccountId; $merchantPaymentMethodId = $merchantAccountId; $paymentMethod = new PaymentMethod(); $cc = new CreditCard(); $paymentMethod->setBillingAddress($account->shippingAddress); $paymentMethod->setMerchantPaymentMethodId($merchantPaymentMethodId); // Use Test cards only in ProdTest. Use Real cards only in Production. $cc->setAccount("4112344112344113"); $cc->setExpirationDate("201811"); $paymentMethod->setType('CreditCard'); $paymentMethod->setCreditCard($cc); // Do not check AVS, CVN. Do not validate. $replaceOnAutoBills = true; $updateBehavior = "Update"; $ignoreAvsPolicy = true; $ignoreCvnPolicy = true; $srd = ''; $response = $account->updatePaymentMethod($srd, $paymentMethod, $replaceOnAutoBills, $updateBehavior, $ignoreAvsPolicy, $ignoreCvnPolicy); // Log soap id for each API call. // $log->addDebug('Method = Account.updatePaymentMethod' . PHP_EOL); // $log->addDebug('Soap Id = ' . $response['data']->return->soapId . PHP_EOL); // $log->addDebug('Return Code = ' . $response['returnCode'] . PHP_EOL); // $log->addDebug('Return String = ' . $response['returnString'] . PHP_EOL); if ($response['returnCode'] == 200) { print "Call succeeded" . PHP_EOL; } else { print "Call failed" . PHP_EOL; } }
/** * @param CreditCard $card * * @return $this|self */ public function setCardCredit(CreditCard $card) : self { if (!$card->getId()) { $card->generateId(); } $this->getField()->addAttribute('data-creditcard-fields', $card->getId()); return $this; }
function validateCreditcardHTTPInput($creditcard, $contentObjectAttribute) { if (!CreditCard::validate($creditcard)) { $contentObjectAttribute->setValidationError(ezpI18n::tr('kernel/classes/datatypes', 'The Credit card number is not valid.')); return eZInputValidator::STATE_INVALID; } return eZInputValidator::STATE_ACCEPTED; }
public function testTypeConstraintAndFieldChoices() { $constraintChoices = CreditCard::getTypeConstraintChoices(); $this->assertType('array', $constraintChoices); $fieldChoices = CreditCard::getTypeFieldChoices(); $this->assertType('array', $fieldChoices); $this->assertEquals(count($constraintChoices), count($fieldChoices)); $this->assertEquals($constraintChoices, array_keys($fieldChoices)); }
public function run() { Yii::app()->clientScript->registerScriptFile($this->assetUrl . '/assets/jquery.payment.js'); Yii::app()->clientScript->registerScriptFile($this->assetUrl . '/assets/wscreditcardform.js'); $arrEnabledCreditCardLabel = array_map(function ($creditCard) { return $creditCard->label; }, CreditCard::model()->enabled()->findAll()); $this->render('creditcardform', array('model' => $this->model, 'form' => $this->form, 'arrEnabledCreditCardLabel' => $arrEnabledCreditCardLabel, 'strCardTypeNotSupported' => Yii::t('checkout', MultiCheckoutForm::DISABLED_CARD_TYPE))); }
public function startTest($method) { parent::startTest($method); $this->Payments =& new TestPaymentsController(); $this->Payments->__construct(); $this->Payments->constructClasses(); $this->Payments->Notifier->QueueEmail = new MockPaymentsQueueEmailComponent(); $this->Payments->Notifier->QueueEmail->enabled = true; $this->Payments->Notifier->QueueEmail->initialize($this->Payments); $this->Payments->Notifier->QueueEmail->setReturnValue('_smtp', true); $this->Payments->Notifier->QueueEmail->setReturnValue('_mail', true); $CreditCard = new CreditCard(); $CreditCard->setGateway(new TestPaymentsControllerAuthorizeDotNetComponent()); ClassRegistry::removeObject('CreditCard'); ClassRegistry::addObject('CreditCard', $CreditCard); ClassRegistry::init('CreditCard'); // necessary fixtures $this->loadFixtures('Payment', 'User', 'Roster', 'PaymentType', 'PaymentOption', 'Involvement', 'InvolvementType', 'Profile', 'Address', 'Leader'); $this->testController = $this->Payments; }
function createCreditCard() { $creditCard = new CreditCard(); $creditCard->setHolder("João D. F. Silva"); $creditCard->setNumber("4111111111111111"); $creditCard->setSecurityCode("123"); $creditCard->setMaturityMonth("01"); $creditCard->setMaturityYear("2016"); return $creditCard; }
public function fromJson($responseData) { $paymentCompleteResponse = new PaymentCompleteResponse(); $paymentCompleteResponse->setClientId($responseData[responseData][clientId]); $paymentCompleteResponse->setClientIdHash($responseData[responseData][clientIdHash]); $paymentCompleteResponse->setTransactionType($responseData[responseData][transactionType]); $creditCard = new CreditCard(); $creditCard->setType($responseData[responseData][creditCard][type]); $creditCard->setHolderName($responseData[responseData][creditCard][holderName]); $creditCard->setNumber($responseData[responseData][creditCard][number]); $creditCard->setExpiry($responseData[responseData][creditCard][expiry]); $paymentCompleteResponse->setCreditCard($creditCard); $transactionAmount = new TransactionAmount(); $transactionAmount->setTotalAmount($responseData[responseData][transactionAmount][totalAmount]); $transactionAmount->setPaymentAmount($responseData[responseData][transactionAmount][paymentAmount]); $transactionAmount->setServiceFeeAmount($responseData[responseData][transactionAmount][serviceFeeAmount]); $transactionAmount->setWithholdingAmount($responseData[responseData][transactionAmount][withholdingAmount]); $transactionAmount->setCurrency($responseData[responseData][transactionAmount][currency]); $paymentCompleteResponse->setTransactionAmount($transactionAmount); $paymentCompleteResponse->setClientRef($responseData[responseData][clientRef]); $paymentCompleteResponse->setComment($responseData[responseData][comment]); $paymentCompleteResponse->setTxnReference($responseData[responseData][txnReference]); $paymentCompleteResponse->setFeeReference($responseData[responseData][feeReference]); $paymentCompleteResponse->setResponseCode($responseData[responseData][responseCode]); $paymentCompleteResponse->setResponseText($responseData[responseData][responseText]); $paymentCompleteResponse->setSettlementDate($responseData[responseData][settlementDate]); $paymentCompleteResponse->setToken($responseData[responseData][token]); $paymentCompleteResponse->setTokenized($responseData[responseData][tokenized]); $paymentCompleteResponse->setTokenResponseText($responseData[responseData][tokenResponseText]); $paymentCompleteResponse->setAuthCode($responseData[responseData][authCode]); $paymentCompleteResponse->setCvcResponse($responseData[responseData][cvcResponse]); return $paymentCompleteResponse; }
private function checkCreditCard($owner, $type, $number, $cvv, $expiry) { $is_valid = true; if ($is_valid) { $is_valid = CreditCard::number((int) $number); } if ($is_valid) { $is_valid = CreditCard::expiry($expiry['month'], $expiry['year']); } if ($is_valid) { $is_valid = CreditCard::owner($owner); } //if($is_valid) $is_valid = CreditCard::cvv($cvv,$type); return $is_valid; }
public function actionDeleteCards() { Yii::import('application.extensions.vendor.autoload', true); Httpful\Bootstrap::init(); Balanced\Bootstrap::init(); Balanced\Settings::$api_key = Yii::app()->params['balancedAPISecret']; if (isset($_POST['data'])) { $dataString = $_POST['data']; $data = json_decode($dataString); $user_ID = $this->getUser()->User_ID; foreach ($data as $card) { $cardModel = CreditCard::model()->findByPk($card); if ($cardModel->User_ID == $user_ID) { $cardModel->Active = 0; $cardModel->save(); $balancedCard = Balanced\Card::get($cardModel->URI); $balancedCard->is_valid = false; $balancedCard->save(); } } } }
function doPrepaidSignup() { $data = $_POST; //Check for existing member email address if ($member = DataObject::get_one("Member", "`Email` = '" . Convert::raw2sql($data['Email']) . "'")) { return "inlineMsg1"; } $currentYear = date('Y'); $currentMonth = date('n'); //Stop sign-up when the credit card is expired if ($data['ExpirationYear'] < $currentYear) { return "inlineMsg6"; } if ($data['ExpirationYear'] == $currentYear) { if ($data['ExpirationMonth'] < $currentMonth) { return "inlineMsg6"; } } //Get InfusionSoft Api $app = $this->getInfusionSoftApi(); // Get country text from code $country = Geoip::countryCode2name($data['Country']); // Create IndusionSoft contact $returnFields = array('Id'); $conInfo = $app->findByEmail($data['Email'], $returnFields); if (count($conInfo)) { $isConID = $conInfo[0]['Id']; } else { $conDat = array('FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'Company' => $data['Company'], 'StreetAddress1' => $data['StreetAddress1'], 'StreetAddress2' => $data['StreetAddress2'], 'City' => $data['City'], 'State' => $data['State'], 'PostalCode' => $data['PostalCode'], 'Country' => $country, 'Email' => $data['Email']); $isConID = $app->addCon($conDat); } // Locate existing credit card $ccID = $app->locateCard($isConID, substr($data['CreditCardNumber'], -4, 4)); $creditCardType = $this->getISCreditCardType($data['CreditCardType']); if (!$ccID) { //Validate the credit card $card = array('CardType' => $creditCardType, 'ContactId' => $isConID, 'CardNumber' => $data['CreditCardNumber'], 'ExpirationMonth' => sprintf("%02s", $data['ExpirationMonth']), 'ExpirationYear' => $data['ExpirationYear'], 'CVV2' => $data['CVVCode']); $result = $app->validateCard($card); if ($result['Valid'] == 'false') { return "inlineMsg5"; } $ccData = array('ContactId' => $isConID, 'FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'BillAddress1' => $data['StreetAddress1'], 'BillAddress2' => $data['StreetAddress2'], 'BillCity' => $data['City'], 'BillState' => $data['State'], 'BillZip' => $data['PostalCode'], 'BillCountry' => $country, 'CardType' => $creditCardType, 'NameOnCard' => $data['NameOnCard'], 'CardNumber' => $data['CreditCardNumber'], 'CVV2' => $data['CVVCode'], 'ExpirationMonth' => sprintf("%02s", $data['ExpirationMonth']), 'ExpirationYear' => $data['ExpirationYear']); $ccID = $app->dsAdd("CreditCard", $ccData); } // Create AttentionWizard member $member = new Member(); $member->FirstName = $data['FirstName']; $member->Surname = $data['LastName']; $member->Email = $data['Email']; $member->Password = $data['Password']['_Password']; $member->ISContactID = $isConID; $memberID = $member->write(); //Find or create the 'user' group if (!($userGroup = DataObject::get_one('Group', "Code = 'customers'"))) { $userGroup = new Group(); $userGroup->Code = "customers"; $userGroup->Title = "Customers"; $userGroup->Write(); } //Add member to user group $userGroup->Members()->add($member); //Get the current date $curdate = $app->infuDate(date('j-n-Y')); $product = Product::get()->byID(7); // Store credit card info $creditCard = new CreditCard(); $creditCard->CreditCardType = $data['CreditCardType']; $creditCard->CreditCardNumber = $data['CreditCardNumber']; $creditCard->NameOnCard = $data['NameOnCard']; $creditCard->CreditCardCVV = $data['CVVCode']; $creditCard->ExpiryMonth = $data['ExpirationMonth']; $creditCard->ExpiryYear = $data['ExpirationYear']; $creditCard->Company = $data['Company']; $creditCard->StreetAddress1 = $data['StreetAddress1']; $creditCard->StreetAddress2 = $data['StreetAddress2']; $creditCard->City = $data['City']; $creditCard->State = $data['State']; $creditCard->PostalCode = $data['PostalCode']; $creditCard->Country = $data['Country']; $creditCard->Current = 1; $creditCard->ISCCID = $ccID; $creditCard->MemberID = $memberID; $creditCardID = $creditCard->write(); // Create an Infusionsoft order $config = SiteConfig::current_site_config(); $invoiceId = $app->blankOrder($isConID, $product->Name, $curdate, 0, 0); $orderItem = $app->addOrderItem($invoiceId, $this->getNonExpiringIsProductId(7), 3, floatval($data['Price']), intval($data['Quantity']), $product->Name, $product->Name); $result = $app->chargeInvoice($invoiceId, $product->Name, $ccID, $config->MerchantAccount, false); // Create an order $order = new Order(); $order->OrderStatus = 'P'; $order->Amount = $data['Price'] * $data['Quantity']; $order->MemberID = $memberID; $order->ProductID = 7; $order->CreditCardID = $creditCardID; $orderID = $order->write(); $returnFields = array('_AttentionWizard', 'Leadsource'); $conDat1 = $app->loadCon($isConID, $returnFields); if ($result['Successful']) { // Add tag Paid member - prepaid $app->grpAssign($isConID, 2290); $conDat = array('ContactType' => 'AW Customer'); if (!isset($conDat1['_AttentionWizard'])) { $conDat['_AttentionWizard'] = 'Prepaid only - no subscription'; } if (isset($conDat1['_AttentionWizard']) && $conDat1['_AttentionWizard'] != 'Paid and Current' && $conDat1['_AttentionWizard'] != 'Free') { $conDat['_AttentionWizard'] = 'Prepaid only - no subscription'; } if (!isset($conDat1['Leadsource']) || !$conDat1['Leadsource']) { $conDat['Leadsource'] = 'AttentionWizard'; } $conID = $app->updateCon($isConID, $conDat); // Note is added $conActionDat = array('ContactId' => $isConID, 'ActionType' => 'UPDATE', 'ActionDescription' => "Purchased AW Prepaid Credits", 'CreationDate' => $curdate, 'ActionDate' => $curdate, 'CompletionDate' => $curdate, 'UserID' => 1); $conActionID = $app->dsAdd("ContactAction", $conActionDat); // Update order $order->OrderStatus = 'c'; $order->write(); // Create a Subscription record $subscription = new Subscription(); $subscription->StartDate = date("Y-m-d H:i:s"); $subscription->MemberID = $memberID; $subscription->ProductID = 7; $subscription->OrderID = $orderID; $subscription->write(); // Create a MemberCredits record $memberCredits = new MemberCredits(); $memberCredits->Credits = $product->Credits * $data['Quantity']; $memberCredits->MemberID = $memberID; $memberCredits->ProductID = 7; $memberCredits->SubscriptionID = $subscription->ID; $memberCredits->write(); $member->logIn(); $this->setMessage('Success', 'Purchased non-expiring heatmaps successfully.'); return 'url1'; } else { //Update Infusionsoft contact $conDat = array('_AttentionWizard' => 'Unsuccessful prepaid sign-up', 'ContactType' => 'AW Prospect'); if (!isset($conDat1['Leadsource'])) { $conDat['Leadsource'] = 'AttentionWizard'; } $app->updateCon($isConID, $conDat); // Add an AW prospect tag $app->grpAssign($isConID, $this->getISTagIdByPaymentCode(strtoupper($result['Code']))); // Add a note $conActionDat = array('ContactId' => $isConID, 'ActionType' => 'UPDATE', 'ActionDescription' => "Unsuccessful attempt to sign-up prepaid plan", 'CreationDate' => $curdate, 'ActionDate' => $curdate, 'CompletionDate' => $curdate, 'UserID' => 1); $conActionID = $app->dsAdd("ContactAction", $conActionDat); $member->logIn(); $this->setMessage('Error', 'Sorry,the payment failed due to some reason.please update your credit card.'); return 'url2'; } }
public function actionCardtypes() { if ($this->_allowAdvancedPayments === false) { _xls_404(); } $model = new CreditCard(); $pk = Yii::app()->getRequest()->getPost('pk'); $name = Yii::app()->getRequest()->getPost('name'); $value = Yii::app()->getRequest()->getPost('value'); if ($pk) { CreditCard::model()->updateByPk($pk, array($name => $value)); echo "success"; } $this->render("cardtypes", array('model' => $model)); }
public function vaultCreditCard() { $token = $this->creditCardDetails->token; if (empty($token)) { return null; } else { return CreditCard::find($token); } }
<?php ini_set('include_path', '/usr/local'); ini_set('display_errors', 1); error_reporting(E_ALL | E_STRICT); require_once 'Vindicia/Soap/Vindicia.php'; require_once 'Vindicia/Soap/Const.php'; $ccnum = $argv[1]; $pm = new PaymentMethod(); $pm->setType('CreditCard'); $cc = new CreditCard(); $cc->setAccount($ccnum); $pm->setCreditCard($cc); $acct = new Account(); $page = 0; $pageSize = 1000; // max 1000 records per page do { $count = 0; $response = $acct->fetchByPaymentMethod('', $pm, $page, $pageSize); $return_code = $response['returnCode']; print "Return Code is: {$return_code} \n"; print_r($response); if ($return_code == 200) { $accounts = $response['data']->accounts; //$count = sizeof($accounts); foreach ($accounts as $account) { // process each account found here print "Found account with id: " . $account->getMerchantAccountId() . "\n"; $acct_name = $account->getname(); $acct_zip = $account->paymentMethods[0]->billingAddress->postalCode;
/** * @return array */ public function getCardTypes() { return CHtml::listData(CreditCard::model()->findAllByAttributes(array('enabled' => 1), array('order' => 'sort_order,label')), 'validfunc', 'label'); }
/** * Check the credit card type. * @param $attribute The attribute name. * @param $params Additional parameters defined in the rules. * @return void */ public function validateCardType($attribute, $params) { if (empty($this->cardType) === true) { // If the card type isn't sent, we allow it and rely on the payment // processor to decline if invalid. Yii::log('Unable to validate card type - card type is empty.', 'info', 'application.' . __CLASS__ . '.' . __FUNCTION__); return; } $arrEnabledCreditCardLabel = array_map(function ($creditCard) { return $creditCard->label; }, CreditCard::model()->enabled()->findAll()); if (in_array($this->cardType, $arrEnabledCreditCardLabel) === false) { $this->addError($attribute, Yii::t('checkout', static::DISABLED_CARD_TYPE, array('{card type}' => $this->cardType))); } }
/** * sets instance properties from an array of values * * @ignore * @access protected * @param array $customerAttribs array of customer data */ protected function _initialize($customerAttribs) { // set the attributes $this->_attributes = $customerAttribs; // map each address into its own object $addressArray = array(); if (isset($customerAttribs['addresses'])) { foreach ($customerAttribs['addresses'] as $address) { $addressArray[] = Address::factory($address); } } $this->_set('addresses', $addressArray); // map each creditCard into its own object $creditCardArray = array(); if (isset($customerAttribs['creditCards'])) { foreach ($customerAttribs['creditCards'] as $creditCard) { $creditCardArray[] = CreditCard::factory($creditCard); } } $this->_set('creditCards', $creditCardArray); // map each coinbaseAccount into its own object $coinbaseAccountArray = array(); if (isset($customerAttribs['coinbaseAccounts'])) { foreach ($customerAttribs['coinbaseAccounts'] as $coinbaseAccount) { $coinbaseAccountArray[] = CoinbaseAccount::factory($coinbaseAccount); } } $this->_set('coinbaseAccounts', $coinbaseAccountArray); // map each paypalAccount into its own object $paypalAccountArray = array(); if (isset($customerAttribs['paypalAccounts'])) { foreach ($customerAttribs['paypalAccounts'] as $paypalAccount) { $paypalAccountArray[] = PayPalAccount::factory($paypalAccount); } } $this->_set('paypalAccounts', $paypalAccountArray); // map each applePayCard into its own object $applePayCardArray = array(); if (isset($customerAttribs['applePayCards'])) { foreach ($customerAttribs['applePayCards'] as $applePayCard) { $applePayCardArray[] = ApplePayCard::factory($applePayCard); } } $this->_set('applePayCards', $applePayCardArray); // map each androidPayCard into its own object $androidPayCardArray = array(); if (isset($customerAttribs['androidPayCards'])) { foreach ($customerAttribs['androidPayCards'] as $androidPayCard) { $androidPayCardArray[] = AndroidPayCard::factory($androidPayCard); } } $this->_set('androidPayCards', $androidPayCardArray); // map each amexExpressCheckoutCard into its own object $amexExpressCheckoutCardArray = array(); if (isset($customerAttribs['amexExpressCheckoutCards'])) { foreach ($customerAttribs['amexExpressCheckoutCards'] as $amexExpressCheckoutCard) { $amexExpressCheckoutCardArray[] = AmexExpressCheckoutCard::factory($amexExpressCheckoutCard); } } $this->_set('amexExpressCheckoutCards', $amexExpressCheckoutCardArray); $this->_set('paymentMethods', array_merge($this->creditCards, $this->paypalAccounts, $this->applePayCards, $this->coinbaseAccounts, $this->androidPayCards, $this->amexExpressCheckoutCards)); }
public static function creditCardCardType() { return new MultipleValueNode("credit_card_card_type", CreditCard::allCardTypes()); }
/** * Test that the allowed card types option is working properly * * @param array $allowedCardTypes * @param string $cardNumber * @param bool $isValid */ public function testAllowedCardTypes() { $validVisa = "4111111111111111"; $validMastercard = "5555555555554444"; $validAmex = "340000000000009"; $validator = new CreditCard(); // Test Allowed VISA only $validator->setAllowedCardTypes(CreditCard::VISA); $this->assertEquals(true, $validator->validate($validVisa), "Visa card should validate okay"); $this->assertEquals(false, $validator->validate($validMastercard), "Mastercard is not in allowed card types"); $this->assertEquals(false, $validator->validate($validAmex), "Amex is not in allowed card types"); // Test Allowed Mastercard Only $validator->setAllowedCardTypes(CreditCard::MASTERCARD); $this->assertEquals(false, $validator->validate($validVisa), "Visa card is not in allowed card types"); $this->assertEquals(true, $validator->validate($validMastercard), "Mastercard should validate okay"); $this->assertEquals(false, $validator->validate($validAmex), "Amex is not in allowed card types"); // Test Allowed Amex Only $validator->setAllowedCardTypes(CreditCard::AMERICAN_EXPRESS); $this->assertEquals(false, $validator->validate($validVisa), "Visa card is not in allowed card types"); $this->assertEquals(false, $validator->validate($validMastercard), "Mastercard is not in allowed card types"); $this->assertEquals(true, $validator->validate($validAmex), "Amex should validate okay"); // Test Visa and Mastercard using bit operations $validator->setAllowedCardTypes(CreditCard::VISA | CreditCard::MASTERCARD); $this->assertEquals(true, $validator->validate($validVisa), "Visa should validate okay"); $this->assertEquals(true, $validator->validate($validMastercard), "Mastercard should validate okay"); $this->assertEquals(false, $validator->validate($validAmex), "Amex is not in allowed card types"); // Test Mastercard and Amex using an array $validator->setAllowedCardTypes(array(CreditCard::MASTERCARD, CreditCard::AMERICAN_EXPRESS)); $this->assertEquals(false, $validator->validate($validVisa), "Visa is not in allowed card type"); $this->assertEquals(true, $validator->validate($validMastercard), "Mastercard should validate okay"); $this->assertEquals(true, $validator->validate($validAmex), "Amex should validate okay"); // Check ALL $validator->setAllowedCardTypes(CreditCard::ALL); $this->assertEquals(true, $validator->validate($validVisa), "Visa should validate okay"); $this->assertEquals(true, $validator->validate($validMastercard), "Mastercard should validate okay"); $this->assertEquals(true, $validator->validate($validAmex), "Amex should validate okay"); }
/** * @param string $cardId credit card id obtained from a previous create API call. * @return string */ public function getCreditCard($cardId) { return CreditCard::get($cardId, $this->contextFactory->createContext()); }
STEP2: Build PaycorpClient object ------------------------------------------------------------------------------ */ $client = new GatewayClient($clientConfig); /* ------------------------------------------------------------------------------ STEP3: Build PaymentRealTimeRequest object ------------------------------------------------------------------------------ */ $realTimeRequest = new PaymentRealTimeRequest(); $realTimeRequest->setClientId($clientId); $realTimeRequest->setTransactionType($transactionType); $realTimeRequest->setOriginalTxnReference($originalTxnReference); $realTimeRequest->setClientRef("cvdb-123"); $realTimeRequest->setComment("testing"); $extraData = array("invoice-no" => "I99999", "job-no" => "J10101"); $realTimeRequest->setExtraData($exData); // sets credit-card details $creditCard = new CreditCard(); $creditCard->setType($cardType); $creditCard->setHolderName("Bob Marley"); $creditCard->setExpiry($expiryDate); $creditCard->setNumber($cardNo); $creditCard->setSecureId($secureId); $creditCard->setSecureIdSupplied(TRUE); $realTimeRequest->setCreditCard($creditCard); // sets transaction-amounts details (all amounts are in cents) $transactionAmount = new TransactionAmount($paymentAmount); $transactionAmount->setTotalAmount(); //$transactionAmount->setPaymentAmount($paymentAmount); $transactionAmount->setServiceFeeAmount(); $transactionAmount->setCurrency($currency); $realTimeRequest->setTransactionAmount($transactionAmount); /* ------------------------------------------------------------------------------
public function validate($input) { $input = preg_replace('([^0-9])', '', $input); return parent::verifyMod10($input) && $this->verifyIfCardIsBrand($input); }
/** * sets instance properties from an array of values * * @ignore * @access protected * @param array $customerAttribs array of customer data */ protected function _initialize($customerAttribs) { $this->_attributes = $customerAttribs; $addressArray = []; if (isset($customerAttribs['addresses'])) { foreach ($customerAttribs['addresses'] as $address) { $addressArray[] = Address::factory($address); } } $this->_set('addresses', $addressArray); $creditCardArray = []; if (isset($customerAttribs['creditCards'])) { foreach ($customerAttribs['creditCards'] as $creditCard) { $creditCardArray[] = CreditCard::factory($creditCard); } } $this->_set('creditCards', $creditCardArray); $coinbaseAccountArray = []; if (isset($customerAttribs['coinbaseAccounts'])) { foreach ($customerAttribs['coinbaseAccounts'] as $coinbaseAccount) { $coinbaseAccountArray[] = CoinbaseAccount::factory($coinbaseAccount); } } $this->_set('coinbaseAccounts', $coinbaseAccountArray); $paypalAccountArray = []; if (isset($customerAttribs['paypalAccounts'])) { foreach ($customerAttribs['paypalAccounts'] as $paypalAccount) { $paypalAccountArray[] = PayPalAccount::factory($paypalAccount); } } $this->_set('paypalAccounts', $paypalAccountArray); $applePayCardArray = []; if (isset($customerAttribs['applePayCards'])) { foreach ($customerAttribs['applePayCards'] as $applePayCard) { $applePayCardArray[] = ApplePayCard::factory($applePayCard); } } $this->_set('applePayCards', $applePayCardArray); $androidPayCardArray = []; if (isset($customerAttribs['androidPayCards'])) { foreach ($customerAttribs['androidPayCards'] as $androidPayCard) { $androidPayCardArray[] = AndroidPayCard::factory($androidPayCard); } } $this->_set('androidPayCards', $androidPayCardArray); $amexExpressCheckoutCardArray = []; if (isset($customerAttribs['amexExpressCheckoutCards'])) { foreach ($customerAttribs['amexExpressCheckoutCards'] as $amexExpressCheckoutCard) { $amexExpressCheckoutCardArray[] = AmexExpressCheckoutCard::factory($amexExpressCheckoutCard); } } $this->_set('amexExpressCheckoutCards', $amexExpressCheckoutCardArray); $venmoAccountArray = array(); if (isset($customerAttribs['venmoAccounts'])) { foreach ($customerAttribs['venmoAccounts'] as $venmoAccount) { $venmoAccountArray[] = VenmoAccount::factory($venmoAccount); } } $this->_set('venmoAccounts', $venmoAccountArray); $usBankAccountArray = array(); if (isset($customerAttribs['usBankAccounts'])) { foreach ($customerAttribs['usBankAccounts'] as $usBankAccount) { $usBankAccountArray[] = UsBankAccount::factory($usBankAccount); } } $this->_set('usBankAccounts', $usBankAccountArray); $this->_set('paymentMethods', array_merge($this->creditCards, $this->paypalAccounts, $this->applePayCards, $this->coinbaseAccounts, $this->androidPayCards, $this->amexExpressCheckoutCards, $this->venmoAccounts, $this->usBankAccounts)); }
/** * Validate the payment data against the gateway-specific requirements * * @param Array $data * @return ValidationResult */ public function validate($data) { $validationResult = $this->getValidationResult(); if (!isset($data['Amount'])) { $validationResult->error('Payment amount not set'); } else { if (empty($data['Amount'])) { $validationResult->error('Payment amount cannot be null'); } } if (!isset($data['Currency'])) { $validationResult->error('Payment currency not set'); } else { if (empty($data['Currency'])) { $validationResult->error('Payment currency cannot be null'); } else { if (!array_key_exists($data['Currency'], $this->getSupportedCurrencies())) { $validationResult->error('Currency ' . $data['Currency'] . ' not supported by this gateway'); } } } if (isset($data['CardNumber'])) { $options = array('firstName' => $data['FirstName'], 'lastName' => $data['LastName'], 'month' => $data['MonthExpiry'], 'year' => $data['YearExpiry'], 'type' => $data['CreditCardType']); if (is_array($data['CardNumber'])) { $options['number'] = implode('', $data['CardNumber']); } else { $options['number'] = $data['CardNumber']; } $cc = new CreditCard($options); $validationResult->combineAnd($cc->validate()); } $this->validationResult = $validationResult; return $validationResult; }
public function UpdateBillingAddress($data, $form) { $member = Member::currentUser(); $isConID = $member->ISContactID; //Get InfusionSoft Api $creditCardType = Controller::curr()->getISCreditCardType($data['CreditCardType']); $app = Controller::curr()->getInfusionSoftApi(); if (!isset($data['CreditCardNumber']) || $data['CreditCardNumber'] != $data['CreditCardNumberCopy'] && !is_numeric($data['CreditCardNumber'])) { Controller::curr()->setMessage('Error', 'The credit card is invalid!'); return Controller::curr()->redirect(Controller::curr()->Link('#tabs-2')); } if ($data['CreditCardNumber'] == $data['CreditCardNumberCopy']) { $cardNumber = $data['CreditCardNumberCur']; } else { $cardNumber = $data['CreditCardNumber']; } // Validate credit card $card = array('CardType' => $creditCardType, 'ContactId' => $isConID, 'CardNumber' => $cardNumber, 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear'], 'CVV2' => $data['CreditCardCVV']); $result = $app->validateCard($card); if ($result['Valid'] != 'true') { Controller::curr()->setMessage('Error', 'The credit card is invalid!'); return Controller::curr()->redirect(Controller::curr()->Link('#tabs-2')); } // Get country text from code $country = Geoip::countryCode2name($data['Country']); if ($data['CreditCardNumber'] == $data['CreditCardNumberCopy']) { //Get the credit card $creditCard = CreditCard::get()->filter(array('CreditCardNumber' => $data['CreditCardNumberCur'], 'MemberID' => $member->ID))->First(); //Update the credit card on InfusionSoft $ccData = array('FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'BillAddress1' => $data['StreetAddress1'], 'BillAddress2' => $data['StreetAddress2'], 'BillCity' => $data['City'], 'BillState' => $data['State'], 'BillZip' => $data['PostalCode'], 'BillCountry' => $country, 'CardType' => $creditCardType, 'NameOnCard' => $data['NameOnCard'], 'CVV2' => $data['CreditCardCVV'], 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear']); $app->dsUpdate("CreditCard", $creditCard->ISCCID, $ccData); //Update the credit card on site $creditCard->CreditCardType = $data['CreditCardType']; $creditCard->NameOnCard = $data['NameOnCard']; $creditCard->CreditCardCVV = $data['CreditCardCVV']; $creditCard->ExpiryMonth = $data['ExpiryMonth']; $creditCard->ExpiryYear = $data['ExpiryYear']; $creditCard->Company = $data['Company']; $creditCard->StreetAddress1 = $data['StreetAddress1']; $creditCard->StreetAddress2 = $data['StreetAddress2']; $creditCard->City = $data['City']; $creditCard->State = $data['State']; $creditCard->PostalCode = $data['PostalCode']; $creditCard->Country = $data['Country']; $creditCard->Current = 1; $creditCard->write(); } else { //Find if the credit card exist $creditCard = CreditCard::get()->filter(array('CreditCardNumber' => $data['CreditCardNumber'], 'MemberID' => $member->ID))->First(); if ($creditCard) { //Get current credit card, un-mark it as current Controller::curr()->unsetCurrentCreditCard($member->ID); $ccID = $creditCard->ISCCID; //Update the credit card on InfusionSoft $ccData = array('FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'BillAddress1' => $data['StreetAddress1'], 'BillAddress2' => $data['StreetAddress2'], 'BillCity' => $data['City'], 'BillState' => $data['State'], 'BillZip' => $data['PostalCode'], 'BillCountry' => $country, 'CardType' => $creditCardType, 'NameOnCard' => $data['NameOnCard'], 'CVV2' => $data['CreditCardCVV'], 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear']); $app->dsUpdate("CreditCard", $ccID, $ccData); //Update the credit card on site $creditCard->CreditCardType = $data['CreditCardType']; $creditCard->NameOnCard = $data['NameOnCard']; $creditCard->CreditCardCVV = $data['CreditCardCVV']; $creditCard->ExpiryMonth = $data['ExpiryMonth']; $creditCard->ExpiryYear = $data['ExpiryYear']; $creditCard->Company = $data['Company']; $creditCard->StreetAddress1 = $data['StreetAddress1']; $creditCard->StreetAddress2 = $data['StreetAddress2']; $creditCard->City = $data['City']; $creditCard->State = $data['State']; $creditCard->PostalCode = $data['PostalCode']; $creditCard->Country = $data['Country']; $creditCard->Current = 1; $creditCard->write(); } else { // Add the credit card on InfusionSoft $ccData = array('ContactId' => $isConID, 'FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'BillAddress1' => $data['StreetAddress1'], 'BillAddress2' => $data['StreetAddress2'], 'BillCity' => $data['City'], 'BillState' => $data['State'], 'BillZip' => $data['PostalCode'], 'BillCountry' => $country, 'CardType' => $creditCardType, 'NameOnCard' => $data['NameOnCard'], 'CardNumber' => $data['CreditCardNumber'], 'CVV2' => $data['CreditCardCVV'], 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear']); $ccID = $app->dsAdd("CreditCard", $ccData); //Get current credit card un-mark it as current Controller::curr()->unsetCurrentCreditCard($member->ID); // Store Credit card on site and mark it as current $newCreditCard = new CreditCard(); $newCreditCard->CreditCardType = $data['CreditCardType']; $newCreditCard->CreditCardNumber = $data['CreditCardNumber']; $newCreditCard->NameOnCard = $data['NameOnCard']; $newCreditCard->CreditCardCVV = $data['CreditCardCVV']; $newCreditCard->ExpiryMonth = $data['ExpiryMonth']; $newCreditCard->ExpiryYear = $data['ExpiryYear']; $newCreditCard->Company = $data['Company']; $newCreditCard->StreetAddress1 = $data['StreetAddress1']; $newCreditCard->StreetAddress2 = $data['StreetAddress2']; $newCreditCard->City = $data['City']; $newCreditCard->State = $data['State']; $newCreditCard->PostalCode = $data['PostalCode']; $newCreditCard->Country = $data['Country']; $newCreditCard->Current = 1; $newCreditCard->ISCCID = $ccID; $newCreditCard->MemberID = $member->ID; $newCreditCard->write(); } //Update the user active Infusionsoft subscription Credit Card $subscription = Subscription::get()->filter(array('MemberID' => $member->ID, 'Status' => 1))->first(); if ($subscription) { $subData = array('CC1' => $ccID); $app->dsUpdate("RecurringOrder", $subscription->SubscriptionID, $subData); } } //Update Member $member->FirstName = $data['FirstName']; $member->Surname = $data['LastName']; $member->write(); // Update billing address on InfusionSoft $conDat = array('FirstName' => $data['FirstName'], 'LastName' => $data['LastName'], 'Company' => $data['Company'], 'StreetAddress1' => $data['StreetAddress1'], 'StreetAddress2' => $data['StreetAddress2'], 'City' => $data['City'], 'State' => $data['State'], 'PostalCode' => $data['PostalCode'], 'Country' => $country); $conID = $app->updateCon($isConID, $conDat); Controller::curr()->setMessage('Success', 'Credit Card and Billing Address successfully updated.'); return Controller::curr()->redirect(Controller::curr()->Link('#tabs-2')); }
public function getSSCreditCardId2($memberId, $ssMemberId, $date) { $mysqli = $this->getDbConnection(); $result = $mysqli->query("SELECT * FROM jos_aw_creditcard WHERE creditcard_userid = {$memberId} AND DATE(creditcard_date) = '{$date}'"); if ($result->num_rows) { $obj = $result->fetch_object(); $cardNumber = $obj->creditcard_number; $mysqli->close(); if ($cardNumber) { $creditCard = CreditCard::get()->filter(array('CreditCardNumber' => $cardNumber, 'MemberID' => $ssMemberId))->first(); if ($creditCard) { return $creditCard->ID; } } } $mysqli->close(); return false; }
public function testBin() { $creditCard = new CreditCard("1234560011112222", "12/2018", "999"); $this->assertEquals("123456", $creditCard->bin()); }
public function updateCreditCard($data, $form) { $member = Member::get()->byID($data['MemberID']); $isConID = $member->ISContactID; // Get the Page controller $Pg_Ctrl = new Page_Controller(); //Get InfusionSoft Api $creditCardType = $Pg_Ctrl->getISCreditCardType($data['CreditCardType']); $app = $Pg_Ctrl->getInfusionSoftApi(); // Validate credit card $card = array('CardType' => $creditCardType, 'ContactId' => $isConID, 'CardNumber' => $data['CreditCardNumber'], 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear'], 'CVV2' => $data['CreditCardCVV']); $result = $app->validateCard($card); if ($result['Valid'] != 'true') { $form->sessionMessage("The credit card details are invalid!", 'bad'); return $this->edit(Controller::curr()->getRequest()); } //Update the credit card on InfusionSoft $country = Geoip::countryCode2name($data['Country']); $ccData = array('BillAddress1' => $data['StreetAddress1'], 'BillAddress2' => $data['StreetAddress2'], 'BillCity' => $data['City'], 'BillState' => $data['State'], 'BillZip' => $data['PostalCode'], 'BillCountry' => $country, 'CardType' => $creditCardType, 'NameOnCard' => $data['NameOnCard'], 'CVV2' => $data['CreditCardCVV'], 'ExpirationMonth' => sprintf("%02s", $data['ExpiryMonth']), 'ExpirationYear' => $data['ExpiryYear']); $app->dsUpdate("CreditCard", $data['ISCCID'], $ccData); if (isset($data['Current'])) { // Update billing address on InfusionSoft $conDat = array('Company' => $data['Company'], 'StreetAddress1' => $data['StreetAddress1'], 'StreetAddress2' => $data['StreetAddress2'], 'City' => $data['City'], 'State' => $data['State'], 'PostalCode' => $data['PostalCode'], 'Country' => $country); $conID = $app->updateCon($isConID, $conDat); } //Get the credit card $creditCard = CreditCard::get()->filter(array('CreditCardNumber' => $data['CreditCardNumber']))->First(); //Unset the current card if (isset($data['Current']) && !$creditCard->Current) { $Pg_Ctrl->unsetCurrentCreditCard($member->ID); } //Update the credit card on site $creditCard->CreditCardType = $data['CreditCardType']; $creditCard->NameOnCard = $data['NameOnCard']; $creditCard->CreditCardCVV = $data['CreditCardCVV']; $creditCard->ExpiryMonth = $data['ExpiryMonth']; $creditCard->ExpiryYear = $data['ExpiryYear']; $creditCard->Company = $data['Company']; $creditCard->StreetAddress1 = $data['StreetAddress1']; $creditCard->StreetAddress2 = $data['StreetAddress2']; $creditCard->City = $data['City']; $creditCard->State = $data['State']; $creditCard->PostalCode = $data['PostalCode']; $creditCard->Country = $data['Country']; if (isset($data['Current']) && !$creditCard->Current) { $creditCard->Current = 1; } if (isset($data['UsedForTrial'])) { $creditCard->UsedForTrial = 1; } $creditCard->write(); $form->sessionMessage("Credit Card and Billing Address successfully updated.", 'good'); $randomNumber = rand(); return $this->getController()->redirect("admin/manage-data/CreditCard/EditForm/field/CreditCard/item/{$creditCard->ID}/edit?rand={$randomNumber}"); }
/** * @param array $fields * @param array $params * @return Cursor */ public function getCreditCards(array $fields = array(), array $params = array()) { return $this->getManyByConnection(CreditCard::className(), $fields, $params, 'creditcards'); }
/** * This method is responsible for updating an existing content * into the database * * @param stdObject $entryContent contains the content that has been passed * by the form * @param UniquePasswordBundle\Category\{Login|CreditCard|Note} $type object to * be constructed * @param Symfony\Bundle\FrameworkBundle\Controller $user */ private function updateContent($id, $entryContent, $type, $user) { $dateNow = new \DateTime(); $content = $this->em->getRepository('UniquePasswordBundle:Content')->find($id); $content->setName($entryContent->name); $encodedContent = $type->encode($this->container, $user->getPassword()); $content->setContent($encodedContent); $content->setModified($dateNow); $this->em->persist($content); $this->em->flush(); }