コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 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());
             }
         }
     }
 }