Example #1
0
 /**
  * @param Response\TransactionInfo $response
  */
 public function transactionInfoResponse(Response\TransactionInfo $response)
 {
     $transactionData = [];
     if (null !== $response->getApiResponse('a001')) {
         parse_str($response->getApiResponse('a001'), $transactionData);
     }
     $transactionInfo = function ($key) use($transactionData) {
         return false === isset($transactionData[$key]) ? null : $transactionData[$key];
     };
     $response->setSuccess($transactionInfo('FinalStatus') === 'success');
     if ($transactionInfo('FinalStatus') !== null) {
         $creditCard = new Helper\CreditCard();
         $cardExp = $transactionInfo('card-exp');
         $cardExpMonth = null;
         $cardExpYear = null;
         if (sizeOf($cardExp)) {
             list($cardExpMonth, $cardExpYear) = explode('/', $cardExp);
             $cardExpYear += 2000;
             $creditCard->setCardExpiry($cardExpMonth, $cardExpYear);
         }
         $creditCard->setName($transactionInfo('card-name'));
         $creditCard->setAddress1($transactionInfo('card-address1'));
         $creditCard->setAddress2($transactionInfo('card-address2'));
         $creditCard->setCity($transactionInfo('card-city'));
         $creditCard->setState($transactionInfo('card-state'));
         $creditCard->setZipCode($transactionInfo('card-zip'));
         $creditCard->setCountry($transactionInfo('card-country'));
         $creditCard->setCardNumber($transactionInfo('card-number'));
         $response->setCreditCard($creditCard);
         $response->setAmount($transactionInfo('card-amount'));
         $response->setOperation($transactionInfo('operation'));
         $response->setDate(new \DateTime($transactionInfo('trans_date')));
     }
 }
Example #2
0
 /**
  * @param Response\TransactionInfo $response
  */
 public function transactionInfoResponse(Response\TransactionInfo $response)
 {
     $transactionData = [];
     if (null !== $response->getApiResponse('a001')) {
         parse_str($response->getApiResponse('a001'), $transactionData);
     }
     $transactionInfo = function ($key) use($transactionData) {
         return false === isset($transactionData[$key]) ? null : $transactionData[$key];
     };
     $this->setSuccess($response, $transactionInfo('status') === 'Approved');
     if ($transactionInfo('status') !== null) {
         $creditCard = new Helper\CreditCard();
         $cardExp = $transactionInfo('expiration');
         if (sizeOf($cardExp)) {
             $creditCard->setCardExpiry(substr($cardExp, 0, 2), (int) substr($cardExp, 2) + 2000);
         }
         $creditCard->setCardNumber($transactionInfo('account'));
         $response->setCreditCard($creditCard);
         $response->setAmount($transactionInfo('total'));
         $response->setOperation($transactionInfo('trantype'));
         $response->setVoided($transactionInfo('voided') === 'true');
         $response->setDate(new \DateTime($transactionInfo('transdatetime')));
     }
 }
Example #3
0
 /**
  * @param Helper\Transaction $transaction
  * @param callable $success
  * @param callable $failure
  *
  * @return Response\TransactionInfo
  */
 public final function transactionInfo(Helper\Transaction $transaction, callable $success, callable $failure)
 {
     $this->apiCheck(__FUNCTION__);
     $response = new Response\TransactionInfo($this->getApi());
     $response->setTransaction($transaction);
     $this->execute($response, __FUNCTION__, $success, $failure);
     return $response;
 }