public function _submitTransaction($transaction, $txnType, $clientTransactionId = null) { $rsp = $this->doRequest($transaction, $clientTransactionId); HpsGatewayResponseValidation::checkResponse($rsp, $txnType); $response = HpsCheckResponse::fromDict($rsp, $txnType); if ($response->responseCode != 0) { throw new HpsCheckException($rsp->Header->GatewayTxnId, $response->details, $response->responseCode, $response->responseText); } return $response; }
public function closeBatch() { $xml = new DOMDocument(); $hpsTransaction = $xml->createElement('hps:Transaction'); $hpsBatchClose = $xml->createElement('hps:BatchClose'); $hpsTransaction->appendChild($hpsBatchClose); $response = $this->doTransaction($hpsTransaction); HpsGatewayResponseValidation::checkResponse($response, 'BatchClose'); //Process the response $batchClose = $response->Transaction->BatchClose; $result = new HpsBatch(); $result->id = isset($batchClose->BatchId) ? $batchClose->BatchId : null; $result->sequenceNumber = isset($batchClose->BatchSeqNbr) ? $batchClose->BatchSeqNbr : null; $result->totalAmount = isset($batchClose->TotalAmt) ? $batchClose->TotalAmt : null; $result->transactionCount = isset($batchClose->TxnCnt) ? $batchClose->TxnCnt : null; return $result; }
public function _submitTransaction($transaction, $txnType, $clientTxnId = null) { $response = $this->doTransaction($transaction, $clientTxnId); HpsGatewayResponseValidation::checkResponse($response, $txnType); HpsIssuerResponseValidation::checkResponse($response->Header->GatewayTxnId, $response->Transaction->{$txnType}->RspCode, $response->Transaction->{$txnType}->RspText); $rvalue = ''; switch ($txnType) { case 'GiftCardActivate': $rvalue = HpsGiftCardActivate::fromDict($response, $txnType, 'HpsGiftCardActivate'); break; case 'GiftCardAddValue': $rvalue = HpsGiftCardAddValue::fromDict($response, $txnType, 'HpsGiftCardAddValue'); break; case 'GiftCardAlias': $rvalue = HpsGiftCardAlias::fromDict($response, $txnType, 'HpsGiftCardAlias'); break; case 'GiftCardBalance': $rvalue = HpsGiftCardBalance::fromDict($response, $txnType, 'HpsGiftCardBalance'); break; case 'GiftCardDeactivate': $rvalue = HpsGiftCardDeactivate::fromDict($response, $txnType, 'HpsGiftCardDeactivate'); break; case 'GiftCardReplace': $rvalue = HpsGiftCardReplace::fromDict($response, $txnType, 'HpsGiftCardReplace'); break; case 'GiftCardReward': $rvalue = HpsGiftCardReward::fromDict($response, $txnType, 'HpsGiftCardReward'); break; case 'GiftCardSale': $rvalue = HpsGiftCardSale::fromDict($response, $txnType, 'HpsGiftCardSale'); break; case 'GiftCardVoid': $rvalue = HpsGiftCardVoid::fromDict($response, $txnType, 'HpsGiftCardVoid'); break; case 'GiftCardReversal': $rvalue = HpsGiftCardReversal::fromDict($response, $txnType, 'HpsGiftCardReversal'); break; default: break; } return $rvalue; }
private function _submitTransaction($transaction, $txnType, $clientTxnId = null) { $response = $this->doTransaction($transaction, $clientTxnId); HpsGatewayResponseValidation::checkResponse($response, $txnType); HpsIssuerResponseValidation::checkResponse($response->Header->GatewayTxnId, $response->Transaction->{$txnType}->RspCode, $response->Transaction->{$txnType}->RspText); $rvalue = ''; if ($txnType == 'GiftCardActivate') { $rvalue = HpsGiftCardActivate::fromDict($response, $txnType, 'HpsGiftCardActivate'); } else { if ($txnType == 'GiftCardAddValue') { $rvalue = HpsGiftCardAddValue::fromDict($response, $txnType, 'HpsGiftCardAddValue'); } else { if ($txnType == 'GiftCardAlias') { $rvalue = HpsGiftCardAlias::fromDict($response, $txnType, 'HpsGiftCardAlias'); } else { if ($txnType == 'GiftCardBalance') { $rvalue = HpsGiftCardBalance::fromDict($response, $txnType, 'HpsGiftCardBalance'); } else { if ($txnType == 'GiftCardDeactivate') { $rvalue = HpsGiftCardDeactivate::fromDict($response, $txnType, 'HpsGiftCardDeactivate'); } else { if ($txnType == 'GiftCardReplace') { $rvalue = HpsGiftCardReplace::fromDict($response, $txnType, 'HpsGiftCardReplace'); } else { if ($txnType == 'GiftCardReward') { $rvalue = HpsGiftCardReward::fromDict($response, $txnType, 'HpsGiftCardReward'); } else { if ($txnType == 'GiftCardSale') { $rvalue = HpsGiftCardSale::fromDict($response, $txnType, 'HpsGiftCardSale'); } else { if ($txnType == 'GiftCardVoid') { $rvalue = HpsGiftCardVoid::fromDict($response, $txnType, 'HpsGiftCardVoid'); } else { if ($txnType == 'GiftCardReversal') { $rvalue = HpsGiftCardReversal::fromDict($response, $txnType, 'HpsGiftCardReversal'); } } } } } } } } } } return $rvalue; }
private function _processChargeGatewayResponse($response, $expectedType) { $gatewayRspCode = isset($response->Header->GatewayRspCode) ? $response->Header->GatewayRspCode : null; $transactionId = isset($response->Header->GatewayTxnId) ? $response->Header->GatewayTxnId : null; if ($gatewayRspCode == '0') { return; } if ($gatewayRspCode == '30') { try { $this->reverse($transactionId, $this->_amount, $this->_currency); } catch (Exception $e) { throw new HpsGatewayException(HpsExceptionCodes::GATEWAY_TIMEOUT_REVERSAL_ERROR, 'Error occurred while reversing a charge due to HPS gateway timeout', $e); } } HpsGatewayResponseValidation::checkResponse($response, $expectedType); }
/** * @param SimpleXMLElement $response raw XML response * @param string $expectedType * @throws HpsAuthenticationException * @throws HpsGatewayException * @throws null */ private function _processGatewayResponse($response, $expectedType) { $gatewayRspCode = isset($response->Header->GatewayRspCode) ? $response->Header->GatewayRspCode : null; $transactionId = isset($response->Header->GatewayTxnId) ? (double) $response->Header->GatewayTxnId : null; if ($gatewayRspCode == '0') { return; } if ($gatewayRspCode == '3') { throw new HpsGatewayException(HpsExceptionCodes::GATEWAY_ERROR, 'Image could not be retrieved for ' . $transactionId); } HpsGatewayResponseValidation::checkResponse($response, $expectedType); }