public static function getData($payment) { $data = null; // pre-approval if (property_exists($payment, 'preApproval')) { if ($payment->getPreApproval() != null) { $data = PagSeguroPreApprovalParser::getData($payment->getPreApproval()); } } // reference if ($payment->getReference() != null) { $data["reference"] = $payment->getReference(); } // sender if ($payment->getSender() != null) { if ($payment->getSender()->getName() != null) { $data['senderName'] = $payment->getSender()->getName(); } if ($payment->getSender()->getEmail() != null) { $data['senderEmail'] = $payment->getSender()->getEmail(); } // phone if ($payment->getSender()->getPhone() != null) { if ($payment->getSender()->getPhone()->getAreaCode() != null) { $data['senderAreaCode'] = $payment->getSender()->getPhone()->getAreaCode(); } if ($payment->getSender()->getPhone()->getNumber() != null) { $data['senderPhone'] = $payment->getSender()->getPhone()->getNumber(); } } // documents /*** @var $document PagSeguroDocument */ if ($payment->getSender()->getDocuments() != null) { $documents = $payment->getSender()->getDocuments(); if (is_array($documents) && count($documents) == 1) { foreach ($documents as $document) { if (!is_null($document)) { $document->getType() == "CPF" ? $data['senderCPF'] = $document->getValue() : ($data['senderCNPJ'] = $document->getValue()); } } } } if ($payment->getSender()->getIP() != null) { $data['ip'] = $payment->getSender()->getIP(); } } // currency if ($payment->getCurrency() != null) { $data['currency'] = $payment->getCurrency(); } // items $items = $payment->getItems(); if (count($items) > 0) { $i = 0; foreach ($items as $key => $value) { $i++; if ($items[$key]->getId() != null) { $data["itemId{$i}"] = $items[$key]->getId(); } if ($items[$key]->getDescription() != null) { $data["itemDescription{$i}"] = $items[$key]->getDescription(); } if ($items[$key]->getQuantity() != null) { $data["itemQuantity{$i}"] = $items[$key]->getQuantity(); } if ($items[$key]->getAmount() != null) { $amount = PagSeguroHelper::decimalFormat($items[$key]->getAmount()); $data["itemAmount{$i}"] = $amount; } if ($items[$key]->getWeight() != null) { $data["itemWeight{$i}"] = $items[$key]->getWeight(); } if ($items[$key]->getShippingCost() != null) { $data["itemShippingCost{$i}"] = PagSeguroHelper::decimalFormat($items[$key]->getShippingCost()); } } } // extraAmount if ($payment->getExtraAmount() != null) { $data['extraAmount'] = PagSeguroHelper::decimalFormat($payment->getExtraAmount()); } // shipping if ($payment->getShipping() != null) { if ($payment->getShipping()->getType() != null && $payment->getShipping()->getType()->getValue() != null) { $data['shippingType'] = $payment->getShipping()->getType()->getValue(); } if ($payment->getShipping()->getCost() != null && $payment->getShipping()->getCost() != null) { $data['shippingCost'] = PagSeguroHelper::decimalFormat($payment->getShipping()->getCost()); } // address if ($payment->getShipping()->getAddress() != null) { if ($payment->getShipping()->getAddress()->getStreet() != null) { $data['shippingAddressStreet'] = $payment->getShipping()->getAddress()->getStreet(); } if ($payment->getShipping()->getAddress()->getNumber() != null) { $data['shippingAddressNumber'] = $payment->getShipping()->getAddress()->getNumber(); } if ($payment->getShipping()->getAddress()->getComplement() != null) { $data['shippingAddressComplement'] = $payment->getShipping()->getAddress()->getComplement(); } if ($payment->getShipping()->getAddress()->getCity() != null) { $data['shippingAddressCity'] = $payment->getShipping()->getAddress()->getCity(); } if ($payment->getShipping()->getAddress()->getState() != null) { $data['shippingAddressState'] = $payment->getShipping()->getAddress()->getState(); } if ($payment->getShipping()->getAddress()->getDistrict() != null) { $data['shippingAddressDistrict'] = $payment->getShipping()->getAddress()->getDistrict(); } if ($payment->getShipping()->getAddress()->getPostalCode() != null) { $data['shippingAddressPostalCode'] = $payment->getShipping()->getAddress()->getPostalCode(); } if ($payment->getShipping()->getAddress()->getCountry() != null) { $data['shippingAddressCountry'] = $payment->getShipping()->getAddress()->getCountry(); } } } // maxAge if ($payment->getMaxAge() != null) { $data['maxAge'] = $payment->getMaxAge(); } // maxUses if ($payment->getMaxUses() != null) { $data['maxUses'] = $payment->getMaxUses(); } // redirectURL if ($payment->getRedirectURL() != null) { $data['redirectURL'] = $payment->getRedirectURL(); } // notificationURL if ($payment->getNotificationURL() != null) { $data['notificationURL'] = $payment->getNotificationURL(); } // metadata if (count($payment->getMetaData()->getItems()) > 0) { $i = 0; foreach ($payment->getMetaData()->getItems() as $item) { if ($item instanceof PagSeguroMetaDataItem) { if (!PagSeguroHelper::isEmpty($item->getKey()) && !PagSeguroHelper::isEmpty($item->getValue())) { $i++; $data['metadataItemKey' . $i] = $item->getKey(); $data['metadataItemValue' . $i] = $item->getValue(); if (!PagSeguroHelper::isEmpty($item->getGroup())) { $data['metadataItemGroup' . $i] = $item->getGroup(); } } } } } // paymentMethodConfig if (count($payment->getPaymentMethodConfig()->getConfig()) > 0) { $i = 0; foreach ($payment->getPaymentMethodConfig()->getConfig() as $config) { if ($config instanceof PagSeguroPaymentMethodConfigItem) { if (!PagSeguroHelper::isEmpty($config->getKey()) && !PagSeguroHelper::isEmpty($config->getValue())) { $i++; if (!PagSeguroHelper::isEmpty($config->getGroup())) { $data['paymentMethodGroup' . $i] = $config->getGroup(); } $data['paymentMethodConfigKey' . $i . "_1"] = $config->getKey(); $data['paymentMethodConfigValue' . $i . "_1"] = $config->getValue(); } } } } // AcceptedPaymentMethod if (count($payment->getAcceptedPaymentMethod()->getConfig()) > 0) { $i = 0; foreach ($payment->getAcceptedPaymentMethod()->getConfig() as $acceptedPayment) { if ($acceptedPayment instanceof PagSeguroAcceptPaymentMethod) { $data['acceptPaymentMethodGroup'] = $acceptedPayment->getGroup(); $data['acceptPaymentMethodName'] = $acceptedPayment->getName(); } if ($acceptedPayment instanceof PagSeguroExcludePaymentMethod) { $data['excludePaymentMethodGroup'] = $acceptedPayment->getGroup(); $data['excludePaymentMethodName'] = $acceptedPayment->getName(); } } } // parameter if (count($payment->getParameter()->getItems()) > 0) { foreach ($payment->getParameter()->getItems() as $item) { if ($item instanceof PagSeguroParameterItem) { if (!PagSeguroHelper::isEmpty($item->getKey()) && !PagSeguroHelper::isEmpty($item->getValue())) { if (!PagSeguroHelper::isEmpty($item->getGroup())) { $data[$item->getKey() . '' . $item->getGroup()] = $item->getValue(); } else { $data[$item->getKey()] = $item->getValue(); } } } } } return $data; }
/** * @param $connection * @param null $code * @return null|PagSeguroParserData * @throws PagSeguroServiceException */ private function getResult($connection, $code = null) { $httpStatus = new PagSeguroHttpStatus($connection->getStatus()); $response = $connection->getResponse(); switch ($httpStatus->getType()) { case 'OK': switch (self::$service) { case "FindByCode": $result = PagSeguroPreApprovalParser::readPreApproval($response); break; case "FindByNotification": $result = PagSeguroPreApprovalParser::readPreApproval($response); break; case "FindByDayInterval": $result = PagSeguroPreApprovalParser::readSearchResult($response); break; case "FindByDateInterval": $result = PagSeguroPreApprovalParser::readSearchResult($response); break; case "FindByReference": $result = PagSeguroPreApprovalParser::readSearchResult($response); break; } //Logging if (is_null($code) && self::$service == "PreApprovalRequest") { $log['text'] = sprintf("PagSeguroPreApprovalService.%s(" . $response->toString() . ") - end ", self::$service); LogPagSeguro::info($log['text'] . ")"); } else { $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - end ", self::$service); LogPagSeguro::info($log['text']); } break; case 'BAD_REQUEST': $errors = PagSeguroServiceParser::readErrors($response); $errors = new PagSeguroServiceException($httpStatus, $errors); //Logging $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - error ", self::$service); LogPagSeguro::error($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; default: $errors = new PagSeguroServiceException($httpStatus); //Logging $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - error ", self::$service); LogPagSeguro::error($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; } return isset($result) ? $result : null; }
/** * @param $connection * @param null $code * @return null|PagSeguroParserData * @throws PagSeguroServiceException */ private function getResult($connection, $code = null) { $httpStatus = new PagSeguroHttpStatus($connection->getStatus()); $response = $connection->getResponse(); switch ($httpStatus->getType()) { case 'OK': switch (self::$service) { case "PreApprovalRequest": $response = PagSeguroPreApprovalParser::readSuccessXml($response); $result = array('code' => $response->getCode(), 'cancelUrl' => self::buildPreApprovalCancelUrl(self::$connectionData, $response->getCode()), 'checkoutUrl' => self::buildPreApprovalRequestUrl(self::$connectionData, $response->getCode())); break; case "PreApprovalCancel": $result = PagSeguroPreApprovalParser::readCancelXml($response); break; case "PreApprovalPaymentCharge": $result = PagSeguroPreApprovalParser::readTransactionXml($response); break; } //Logging if (is_null($code) && self::$service == "PreApprovalRequest") { $log['text'] = sprintf("PagSeguroPreApprovalService.%s(" . $response->toString() . ") - end ", self::$service); LogPagSeguro::info($log['text'] . ")"); } else { $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - end ", self::$service); LogPagSeguro::info($log['text']); } break; case 'BAD_REQUEST': $errors = PagSeguroServiceParser::readErrors($response); $errors = new PagSeguroServiceException($httpStatus, $errors); //Logging $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - error ", self::$service); LogPagSeguro::error($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; default: $errors = new PagSeguroServiceException($httpStatus); //Logging $log['text'] = sprintf("PagSeguroPreApprovalService.%s({$code}) - error ", self::$service); LogPagSeguro::error($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; } return isset($result) ? $result : null; }
public static function cancelPreApproval(PagSeguroCredentials $credentials, $notificationCode) { LogPagSeguro::info("PagSeguroNotificationService.cancelPreApproval(notificationCode={$notificationCode}) - begin"); $connectionData = new PagSeguroConnectionData($credentials, self::SERVICE_NAME); try { $connection = new PagSeguroHttpConnection(); $connection->get(self::buildCancelUrl($connectionData, $notificationCode), $connectionData->getServiceTimeout(), $connectionData->getCharset()); $httpStatus = new PagSeguroHttpStatus($connection->getStatus()); switch ($httpStatus->getType()) { case 'OK': $paymentParserData = PagSeguroPreApprovalParser::readCancelXml($connection->getResponse()); LogPagSeguro::info("PagSeguroPreApprovalService.cancelPreApproval({$parserData}) - end \\{{$notificationCode}\\}"); break; case 'BAD_REQUEST': $errors = PagSeguroPreApprovalParser::readErrors($connection->getResponse()); $e = new PagSeguroServiceException($httpStatus, $errors); LogPagSeguro::error("PagSeguroPreApprovalService.cancelPreApproval(notificationCode={$notificationCode}) - error " . $e->getOneLineMessage()); throw $e; break; default: $e = new PagSeguroServiceException($httpStatus); LogPagSeguro::error("PagSeguroPreApprovalService.cancelPreApproval(notificationCode={$notificationCode}) - error " . $e->getOneLineMessage()); throw $e; break; } return isset($paymentParserData) ? $paymentParserData : false; } catch (PagSeguroServiceException $err) { LogPagSeguro::error("PagSeguroServiceException: " . $err->getMessage()); throw $err; } catch (Exception $err) { LogPagSeguro::error("Exception: " . $err->getMessage()); throw $err; } }
/** * @param PagSeguroConnectionData $connection * @param $code * @return null|PagSeguroAuthorization|PagSeguroParserData|PagSeguroTransaction * @throws PagSeguroServiceException */ private static function getResult($connection, $code) { $httpStatus = new PagSeguroHttpStatus($connection->getStatus()); $response = $connection->getResponse(); switch ($httpStatus->getType()) { case 'OK': switch (self::$service) { case "CheckPreApproval": $response = PagSeguroPreApprovalParser::readPreApproval($response); break; case "CheckAuthorization": $response = PagSeguroAuthorizationParser::readAuthorization($response); break; case "CheckTransaction": $response = PagSeguroTransactionParser::readTransaction($response); break; } //Logging $log['text'] = sprintf("PagSeguroNotificationService.%s(notificationCode={$code}) - end ", self::$service); $log['action'] = $response->toString(); LogPagSeguro::info($log['text'] . $log['action'] . ")"); break; case 'BAD_REQUEST': $errors = PagSeguroServiceParser::readErrors($connection->getResponse()); $errors = new PagSeguroServiceException($httpStatus, $errors); //Logging $log['text'] = sprintf("PagSeguroNotificationService.%s(notificationCode={$code}) - error ", self::$service); LogPagSeguro::error($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; default: $errors = new PagSeguroServiceException($httpStatus); //Logging $log['text'] = sprintf("PagSeguroNotificationService.%s(notificationCode={$code}) - error ", self::$service); LogPagSeguro::info($log['text'] . $errors->getOneLineMessage()); //Exception throw $errors; break; } return isset($response) ? $response : null; }