/** * Constructs and returns a BankCardTransaction object from a given JSONObject. * * @param o_json json containing the BankCardTransaction type * @return the newly created bank card transaction * @author Ryan Murphy <*****@*****.**> * @author Steven Wright <*****@*****.**> * @author Rob Kurst <*****@*****.**> */ static function buildFromJSON($vo_json) { $o_bct = new BankCardTransaction(); if (array_key_exists('bank_card_transaction_billing_address', $vo_json)) { $o_bct->setBillingAddress(Address::buildFromJSON($vo_json['bank_card_transaction_billing_address'])); } if (array_key_exists('bank_card_transaction_name', $vo_json)) { $o_bct->setCardName($vo_json['bank_card_transaction_name']); } if (array_key_exists('token', $vo_json)) { $o_bct->setToken($vo_json['token']); } if (array_key_exists('bank_card_transaction_card_number', $vo_json)) { $o_bct->setCardNumber($vo_json['bank_card_transaction_card_number']); } if (array_key_exists('bank_card_transaction_expiration_month', $vo_json)) { $o_bct->setCardExpirationMonth($vo_json['bank_card_transaction_expiration_month']); } if (array_key_exists('bank_card_transaction_expiration_year', $vo_json)) { $o_bct->setCardExpirationYear($vo_json['bank_card_transaction_expiration_year']); } if (array_key_exists('bank_card_transaction_billing_address', $vo_json)) { $o_bct->setBillingAddress(Address::buildFromJSON($vo_json['bank_card_transaction_billing_address'])); } if (array_key_exists('bank_card_transaction_type', $vo_json)) { if (gettype($vo_json['bank_card_transaction_type']) === "array") { $o_type = (array) $vo_json['bank_card_transaction_type']; if (array_key_exists('bank_card_transaction_type_name', $o_type)) { $o_bct->setType($o_type['bank_card_transaction_type_name']); } } else { $o_bct->setType($vo_json['bank_card_transaction_type']); } } if (array_key_exists('bank_card_transaction_po_number', $vo_json)) { $o_bct->setPONumber($vo_json['bank_card_transaction_po_number']); } if (array_key_exists('bank_card_transaction_amount', $vo_json)) { $o_bct->setAmount($vo_json['bank_card_transaction_amount']); } if (array_key_exists('bank_card_transaction_tax_amount', $vo_json)) { $o_bct->setTaxAmount($vo_json['bank_card_transaction_tax_amount']); } if (array_key_exists('bank_card_transaction_tip_amount', $vo_json)) { $o_bct->setTipAmount($vo_json['bank_card_transaction_tip_amount']); } if (array_key_exists('bank_card_transaction_ip_address', $vo_json)) { $o_bct->setIPAddress($vo_json['bank_card_transaction_ip_address']); } if (array_key_exists('bank_card_transaction_merchant_transaction_id', $vo_json)) { $o_bct->setMerchantTransactionID($vo_json['bank_card_transaction_merchant_transaction_id']); } if (array_key_exists('bank_card_transaction_status', $vo_json)) { if (gettype($vo_json['bank_card_transaction_status']) === "array") { $o_status = (array) $vo_json['bank_card_transaction_status']; if (array_key_exists('bank_card_transaction_status_name', $o_status)) { $o_bct->setStatus($o_status['bank_card_transaction_status_name']); } } else { $o_bct->setStatus($vo_json['bank_card_transaction_status']); } } if (array_key_exists('bank_card_transction_check_secure_code', $vo_json)) { $o_bct->setCheckSecureCode($vo_json['bank_card_transction_check_secure_code']); } if (array_key_exists('bank_card_transaction_response_message', $vo_json)) { $o_bct->setResponseMessage($vo_json['bank_card_transaction_response_message']); } if (array_key_exists('bank_card_transaction_response_code', $vo_json)) { $o_bct->setResponseCode($vo_json['bank_card_transaction_response_code']); } if (array_key_exists('bank_card_transaction_avs_response_code', $vo_json)) { $o_bct->setAVSResponseCode($vo_json['bank_card_transaction_avs_response_code']); } if (array_key_exists('bank_card_transaction_cvv_response_code', $vo_json)) { $o_bct->setCVVResponseCode($vo_json['bank_card_transaction_cvv_response_code']); } if (array_key_exists('bank_card_transaction_card_cvv2', $vo_json)) { $o_bct->setCardCVV2($vo_json['bank_card_transaction_card_cvv2']); } if (array_key_exists('bank_card_transaction_authorization_code', $vo_json)) { $o_bct->setAuthorizationCode($vo_json['bank_card_transaction_authorization_code']); } if (array_key_exists('bank_card_transaction_id', $vo_json)) { $o_bct->setTransactionID($vo_json['bank_card_transaction_id']); } if (array_key_exists('bank_card_transaction_verify_complete_url', $vo_json)) { $o_bct->setVerifyCompleteURL($vo_json['bank_card_transaction_verify_complete_url']); } if (array_key_exists('bank_card_transaction_verify_url', $vo_json)) { $o_bct->setVerifyURL($vo_json['bank_card_transaction_verify_url']); } if (array_key_exists("bank_card_transaction_encrypted_track_data", $vo_json)) { $o_bct->setEncryptedTrackData($vo_json['bank_card_transaction_encrypted_track_data']); } if (array_key_exists('bank_card_transaction_recurring_indicator', $vo_json)) { $o_bct->setRecurringIndicator($vo_json['bank_card_transaction_recurring_indicator']); } if (array_key_exists('bank_card_transaction_settlement_batch_id', $vo_json)) { $o_bct->setSettlementBatchID($vo_json['bank_card_transaction_settlement_batch_id']); } if (array_key_exists('bank_card_transaction_settlement_date', $vo_json)) { $o_bct->setSettlementDate(date("m/d/Y H:i:s", strtotime($vo_json['bank_card_transaction_settlement_date']))); } if (array_key_exists('bank_card_transaction_creation_date', $vo_json)) { $o_bct->setCreationDate(date("m/d/Y H:i:s", strtotime($vo_json['bank_card_transaction_creation_date']))); } if (array_key_exists("bank_card_transaction_custom_field1", $vo_json)) { $o_bct->setCustomField1($vo_json["bank_card_transaction_custom_field1"]); } if (array_key_exists("bank_card_transaction_custom_field2", $vo_json)) { $o_bct->setCustomField2($vo_json["bank_card_transaction_custom_field2"]); } if (array_key_exists("bank_card_transaction_custom_field3", $vo_json)) { $o_bct->setCustomField3($vo_json["bank_card_transaction_custom_field3"]); } if (array_key_exists("bank_card_transaction_custom_field4", $vo_json)) { $o_bct->setCustomField4($vo_json["bank_card_transaction_custom_field4"]); } if (array_key_exists("bank_card_transaction_custom_field5", $vo_json)) { $o_bct->setCustomField5($vo_json["bank_card_transaction_custom_field5"]); } if (array_key_exists("bank_card_transaction_custom_field6", $vo_json)) { $o_bct->setCustomField6($vo_json["bank_card_transaction_custom_field6"]); } if (array_key_exists("bank_card_transaction_custom_field7", $vo_json)) { $o_bct->setCustomField7($vo_json["bank_card_transaction_custom_field7"]); } if (array_key_exists("bank_card_transaction_custom_field8", $vo_json)) { $o_bct->setCustomField8($vo_json["bank_card_transaction_custom_field8"]); } if (array_key_exists("bank_card_transaction_custom_field9", $vo_json)) { $o_bct->setCustomField9($vo_json["bank_card_transaction_custom_field9"]); } if (array_key_exists("bank_card_transaction_custom_field10", $vo_json)) { $o_bct->setCustomField10($vo_json["bank_card_transaction_custom_field10"]); } if (array_key_exists("bank_card_transaction_cipher_pay_uuid", $vo_json)) { $o_bct->setCipherPayUUID($vo_json["bank_card_transaction_cipher_pay_uuid"]); } return $o_bct; }
protected function processCreditCardTransaction($data, $as_partner = 0) { Debugger::log($data); $o_bct = new BankCardTransaction(); $o_bct->setToken($data['payer_vault_id']); $o_bct->setType(BankCardTransaction::$XS_BCT_TYPE_SALE); $o_bct->setAmount($data['total_amt']); if (isset($data['fee_amt']) && !empty($data['fee_amt']) && isset($data['rsq_vault_id']) && !empty($data['rsq_vault_id'])) { $cf10val = $data['rsq_vault_id'] . "," . $data['fee_amt']; $o_bct->setCustomField10($cf10val); } if ($as_partner == 0) { $o_bcpc = new BaseCommerceClient(RENTSQUARE_MERCH_USER, RENTSQUARE_MERCH_PASS, RENTSQUARE_MERCH_KEY); } else { $o_bcpc = new BaseCommerceClient(RENTSQUARE_PARTNER_USER, RENTSQUARE_PARTNER_PASS, RENTSQUARE_PARTNER_KEY); } $o_bcpc->setSandbox(BC_SANDBOXVALUE); Debugger::log($o_bct); Debugger::log($o_bcpc); $o_bct = $o_bcpc->processBankCardTransaction($o_bct); if ($o_bct->isStatus(BankCardTransaction::$XS_BCT_STATUS_FAILED)) { //Transaction Failed return array('status' => '0', 'info' => $o_bct->getMessages()); } else { if ($o_bct->isStatus(BankCardTransaction::$XS_BCT_STATUS_DECLINED)) { //Transaction Failed return array('status' => '0', 'info' => $o_bct->getMessages()); } else { if ($o_bct->isStatus(BankCardTransaction::$XS_BCT_STATUS_CAPTURED)) { //Transaction went through successfully return array('status' => '1', 'info' => $o_bct->getTransactionID()); } } } }