/** * Get from webservice installments for direct payment. * @param PagSeguroCredentials $credentials * @param $amount * @param $cardBrand * @param $maxInstallmentNoInterest * @return bool|PagSeguroInstallment * @throws Exception * @throws PagSeguroServiceException */ public static function getInstallments(PagSeguroCredentials $credentials, $amount, $cardBrand = null, $maxInstallmentNoInterest = null) { $amount = PagSeguroHelper::decimalFormat($amount); LogPagSeguro::info("PagSeguroInstallmentService.getInstallments(" . $amount . ") - begin"); self::$connectionData = new PagSeguroConnectionData($credentials, self::SERVICE_NAME); try { $connection = new PagSeguroHttpConnection(); $connection->get(self::buildInstallmentURL(self::$connectionData, $amount, $cardBrand, $maxInstallmentNoInterest), self::$connectionData->getServiceTimeout(), self::$connectionData->getCharset()); $httpStatus = new PagSeguroHttpStatus($connection->getStatus()); switch ($httpStatus->getType()) { case 'OK': $installments = PagSeguroInstallmentParser::readInstallments($connection->getResponse()); LogPagSeguro::info("PagSeguroInstallmentService.getInstallments() - end "); break; case 'BAD_REQUEST': $errors = PagSeguroInstallmentParser::readErrors($connection->getResponse()); $e = new PagSeguroServiceException($httpStatus, $errors); LogPagSeguro::error("PagSeguroInstallmentService.getInstallments() - error " . $e->getOneLineMessage()); throw $e; break; default: $e = new PagSeguroServiceException($httpStatus); LogPagSeguro::error("PagSeguroInstallmentService.getInstallments() - error " . $e->getOneLineMessage()); throw $e; break; } return isset($installments) ? $installments : false; } catch (PagSeguroServiceException $e) { throw $e; } catch (Exception $e) { LogPagSeguro::error("Exception: " . $e->getMessage()); throw $e; } }
/** * @param $payment PagSeguroPaymentRequest * @return mixed */ public static function getData($payment) { $data = null; // 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)) { $data['senderCPF'] = $document->getValue(); } } } } } // 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'] = $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(); } } } } } // 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; }
public static function getData($payment) { // 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(); } } } // 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'] = $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(); } return $data; }
/** * Extra Amount * @return extra amount */ private function extraAmount() { $discountAmount = self::toFloat($this->order->getBaseDiscountAmount()); $taxAmount = self::toFloat($this->order->getTaxAmount()); return PagSeguroHelper::decimalFormat($discountAmount + $taxAmount); }
/** * Generates shipping data to PagSeguro transaction * @param stdClass $deliveryAddress * @param float $shippingCost * @return \PagSeguroShipping */ private function _generateShippingData($order) { $shipping = new PagSeguroShipping(); $shipping->setAddress($this->_generateShippingAddressData($order)); $shipping->setType($this->_generateShippingType()); $shipping->setCost(PagSeguroHelper::decimalFormat((double) $order->order_shipping_price)); return $shipping; }
/** * Generates shipping data to PagSeguro transaction * @param stdClass $deliveryAddress * @param float $shippingCost * @return \PagSeguroShipping */ private function _generateShippingData($deliveryAddress, $shippingCost) { $shipping = new PagSeguroShipping(); $shipping->setAddress($this->_generateShippingAddressData($deliveryAddress)); $shipping->setType($this->_generateShippingType()); $shipping->setCost(PagSeguroHelper::decimalFormat((double) $shippingCost)); return $shipping; }
/** * @param $preApproval * @return array */ public static function getCharge($preApproval) { $data = array(); if ($preApproval->getReference() != null) { $data["reference"] = $preApproval->getReference(); } if ($preApproval->getPreApprovalCode() != null) { $data["preApprovalCode"] = $preApproval->getPreApprovalCode(); } // items $items = $preApproval->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; } } } return $data; }
public function getItemsTotalAmount($items, $shipping = false) { foreach ($items as $item) { if (isset($amount)) { $amount = $amount + $item->getAmount() * $item->getQuantity(); if ($shipping) { $amount = $amount + $item->getShippingCost(); } } else { $amount = $item->getAmount() * $item->getQuantity(); if ($shipping) { $amount = $amount + $item->getShippingCost(); } } } return PagSeguroHelper::decimalFormat($amount); }
public function setValue($value) { $this->value = PagSeguroHelper::decimalFormat($value); }
public static function getData($payment) { $data = null; $data = parent::getData($payment); // paymentMode if ($payment->getPaymentMode() != null) { $data["paymentMode"] = $payment->getPaymentMode()->getValue(); } // paymentMethod if ($payment->getPaymentMethod()->getPaymentMethod() != null) { $data["paymentMethod"] = $payment->getPaymentMethod()->getPaymentMethod(); } // senderHash if ($payment->getSenderHash() != null) { $data["senderHash"] = $payment->getSenderHash(); } // receiverEmail if ($payment->getReceiverEmail() != null) { $data["receiverEmail"] = $payment->getReceiverEmail(); } // Bank name if ($payment->getOnlineDebit() != null) { $data["bankName"] = $payment->getOnlineDebit()->getBankName(); } //Credit Card if ($payment->getCreditCard() != null) { //Token if ($payment->getCreditCard()->getToken() != null) { $data['creditCardToken'] = $payment->getCreditCard()->getToken(); } //Installments if ($payment->getCreditCard()->getInstallment() != null) { $installment = $payment->getCreditCard()->getInstallment(); if ($installment->getQuantity() != null && $installment->getValue()) { $data['installmentQuantity'] = $installment->getQuantity(); $data['installmentValue'] = PagSeguroHelper::decimalFormat($installment->getValue()); } } //Holder if ($payment->getCreditCard()->getHolder() != null) { $holder = $payment->getCreditCard()->getHolder(); if ($holder->getName() != null) { $data['creditCardHolderName'] = $holder->getName(); } // documents /*** @var $document PagSeguroDocument */ if ($payment->getCreditCard()->getHolder()->getDocuments() != null) { $documents = $payment->getCreditCard()->getHolder()->getDocuments(); $data['creditCardHolderCPF'] = $documents->getValue(); } if ($holder->getBirthDate() != null) { $data['creditCardHolderBirthDate'] = $holder->getBirthDate(); } // phone if ($holder->getPhone() != null) { if ($holder->getPhone()->getAreaCode() != null) { $data['creditCardHolderAreaCode'] = $holder->getPhone()->getAreaCode(); } if ($holder->getPhone()->getNumber() != null) { $data['creditCardHolderPhone'] = $holder->getPhone()->getNumber(); } } } //Billing Address if ($payment->getCreditCard()->getBilling() != null) { $billingAddress = $payment->getCreditCard()->getBilling()->getAddress(); if ($billingAddress->getStreet() != null) { $data['billingAddressStreet'] = $billingAddress->getStreet(); } if ($billingAddress->getNumber() != null) { $data['billingAddressNumber'] = $billingAddress->getNumber(); } if ($billingAddress->getComplement() != null) { $data['billingAddressComplement'] = $billingAddress->getComplement(); } if ($billingAddress->getCity() != null) { $data['billingAddressCity'] = $billingAddress->getCity(); } if ($billingAddress->getState() != null) { $data['billingAddressState'] = $billingAddress->getState(); } if ($billingAddress->getDistrict() != null) { $data['billingAddressDistrict'] = $billingAddress->getDistrict(); } if ($billingAddress->getPostalCode() != null) { $data['billingAddressPostalCode'] = $billingAddress->getPostalCode(); } if ($billingAddress->getCountry() != null) { $data['billingAddressCountry'] = $billingAddress->getCountry(); } } } return $data; }
/** * Extra Amount * @return extra amount */ private function _extraAmount() { $_tax_amount = self::toFloat($this->Order->getTaxAmount()); $_discount_amount = self::toFloat($this->Order->getBaseDiscountAmount()); return PagSeguroHelper::decimalFormat($_discount_amount + $_tax_amount); }