예제 #1
0
 public static function printTransaction(PagSeguroTransaction $transaction)
 {
     echo "<h2>Transaction search by code result";
     echo "<h3>Code: " . $transaction->getCode() . '</h3>';
     echo "<h3>Status: " . $transaction->getStatus()->getTypeFromValue() . '</h3>';
     echo "<h4>Reference: " . $transaction->getReference() . "</h4>";
     echo "grossAmount: " . $transaction->getGrossAmount() . '<br>';
     echo "discountAmount: " . $transaction->getDiscountAmount() . '<br>';
     echo "installmentCount: " . $transaction->getInstallmentCount() . '<br>';
     if ($transaction->getCreditorFees()) {
         echo "<h4>CreditorFees:</h4>";
         echo "intermediationRateAmount: " . $transaction->getCreditorFees()->getIntermediationRateAmount() . '<br>';
         echo "intermediationFeeAmount: " . $transaction->getCreditorFees()->getIntermediationFeeAmount() . '<br>';
     }
     if ($transaction->getItems()) {
         echo "<h4>Items:</h4>";
         if (is_array($transaction->getItems())) {
             foreach ($transaction->getItems() as $key => $item) {
                 echo "Id: " . $item->getId() . '<br>';
                 // prints the item id, e.g. I39
                 echo "Description: " . $item->getDescription() . '<br>';
                 // prints the item description, e.g. Notebook prata
                 echo "Quantidade: " . $item->getQuantity() . '<br>';
                 // prints the item quantity, e.g. 1
                 echo "Amount: " . $item->getAmount() . '<br>';
                 // prints the item unit value, e.g. 3050.68
                 echo "<hr>";
             }
         }
     }
     if ($transaction->getSender()) {
         echo "<h4>Sender data:</h4>";
         echo "Name: " . $transaction->getSender()->getName() . '<br>';
         echo "Email: " . $transaction->getSender()->getEmail() . '<br>';
         if ($transaction->getSender()->getPhone()) {
             echo "Phone: " . $transaction->getSender()->getPhone()->getAreaCode() . " - " . $transaction->getSender()->getPhone()->getNumber();
         }
     }
     if ($transaction->getShipping()) {
         echo "<h4>Shipping information:</h4>";
         if ($transaction->getShipping()->getAddress()) {
             echo "Postal code: " . $transaction->getShipping()->getAddress()->getPostalCode() . '<br>';
             echo "Street: " . $transaction->getShipping()->getAddress()->getStreet() . '<br>';
             echo "Number: " . $transaction->getShipping()->getAddress()->getNumber() . '<br>';
             echo "Complement: " . $transaction->getShipping()->getAddress()->getComplement() . '<br>';
             echo "District: " . $transaction->getShipping()->getAddress()->getDistrict() . '<br>';
             echo "City: " . $transaction->getShipping()->getAddress()->getCity() . '<br>';
             echo "State: " . $transaction->getShipping()->getAddress()->getState() . '<br>';
             echo "Country: " . $transaction->getShipping()->getAddress()->getCountry() . '<br>';
         }
         echo "Shipping type: " . $transaction->getShipping()->getType()->getTypeFromValue() . '<br>';
         echo "Shipping cost: " . $transaction->getShipping()->getCost() . '<br>';
     }
 }
 /**
  * getTransaction
  *
  * Método para buscar a transação no pag reguto
  * @access public
  * @param PagSeguroTransaction $transaction
  * @return array
  */
 public static function getTransaction(PagSeguroTransaction $transaction)
 {
     return array('reference' => $transaction->getReference(), 'status' => $transaction->getStatus()->getValue());
 }
 /**
  * @param $str_xml
  * @return PagSeguroTransaction
  */
 public static function readTransaction($str_xml)
 {
     // Parser
     $parser = new PagSeguroXmlParser($str_xml);
     // <transaction>
     $data = $parser->getResult('transaction');
     $transaction = new PagSeguroTransaction();
     // <transaction> <lastEventDate>
     if (isset($data["lastEventDate"])) {
         $transaction->setLastEventDate($data["lastEventDate"]);
     }
     // <transaction> <date>
     if (isset($data["date"])) {
         $transaction->setDate($data["date"]);
     }
     // <transaction> <code>
     if (isset($data["code"])) {
         $transaction->setCode($data["code"]);
     }
     // <transaction> <reference>
     if (isset($data["reference"])) {
         $transaction->setReference($data["reference"]);
     }
     // <transaction> <type>
     if (isset($data["type"])) {
         $transaction->setType(new PagSeguroTransactionType($data["type"]));
     }
     // <transaction> <status>
     if (isset($data["status"])) {
         $transaction->setStatus(new PagSeguroTransactionStatus($data["status"]));
     }
     if (isset($data["paymentMethod"]) && is_array($data["paymentMethod"])) {
         // <transaction> <paymentMethod>
         $paymentMethod = new PagSeguroPaymentMethod();
         // <transaction> <paymentMethod> <type>
         if (isset($data["paymentMethod"]['type'])) {
             $paymentMethod->setType(new PagSeguroPaymentMethodType($data["paymentMethod"]['type']));
         }
         // <transaction> <paymentMethod> <code>
         if (isset($data["paymentMethod"]['code'])) {
             $paymentMethod->setCode(new PagSeguroPaymentMethodCode($data["paymentMethod"]['code']));
         }
         $transaction->setPaymentMethod($paymentMethod);
     }
     // <transaction> <grossAmount>
     if (isset($data["grossAmount"])) {
         $transaction->setGrossAmount($data["grossAmount"]);
     }
     // <transaction> <discountAmount>
     if (isset($data["discountAmount"])) {
         $transaction->setDiscountAmount($data["discountAmount"]);
     }
     // <transaction> <feeAmount>
     if (isset($data["feeAmount"])) {
         $transaction->setFeeAmount($data["feeAmount"]);
     }
     // <transaction> <netAmount>
     if (isset($data["netAmount"])) {
         $transaction->setNetAmount($data["netAmount"]);
     }
     // <transaction> <extraAmount>
     if (isset($data["extraAmount"])) {
         $transaction->setExtraAmount($data["extraAmount"]);
     }
     // <transaction> <installmentCount>
     if (isset($data["installmentCount"])) {
         $transaction->setInstallmentCount($data["installmentCount"]);
     }
     if (isset($data["items"]['item']) && is_array($data["items"]['item'])) {
         $items = array();
         $i = 0;
         if (isset($data["items"]['item'][0])) {
             foreach ($data["items"]['item'] as $key => $value) {
                 $item = self::parseTransactionItem($value);
                 $items[$i] = $item;
                 $i++;
             }
         } else {
             $items[0] = self::parseTransactionItem($data["items"]['item']);
         }
         // <transaction> <items>
         $transaction->setItems($items);
     }
     if (isset($data["sender"])) {
         // <transaction> <sender>
         $sender = new PagSeguroSender();
         // <transaction> <sender> <name>
         if (isset($data["sender"]["name"])) {
             $sender->setName($data["sender"]["name"]);
         }
         // <transaction> <sender> <email>
         if (isset($data["sender"]["email"])) {
             $sender->setEmail($data["sender"]["email"]);
         }
         if (isset($data["sender"]["phone"])) {
             // <transaction> <sender> <phone>
             $phone = new PagSeguroPhone();
             // <transaction> <sender> <phone> <areaCode>
             if (isset($data["sender"]["phone"]["areaCode"])) {
                 $phone->setAreaCode($data["sender"]["phone"]["areaCode"]);
             }
             // <transaction> <sender> <phone> <number>
             if (isset($data["sender"]["phone"]["number"])) {
                 $phone->setNumber($data["sender"]["phone"]["number"]);
             }
             $sender->setPhone($phone);
         }
         // <transaction><sender><documents>
         if (isset($data['sender']['documents']) && is_array($data['sender']['documents'])) {
             $documents = $data['sender']['documents'];
             if (count($documents) > 0) {
                 foreach ($documents as $document) {
                     $sender->addDocument($document['type'], $document['value']);
                 }
             }
         }
         $transaction->setSender($sender);
     }
     if (isset($data["shipping"]) && is_array($data["shipping"])) {
         // <transaction> <shipping>
         $shipping = new PagSeguroShipping();
         // <transaction> <shipping> <type>
         if (isset($data["shipping"]["type"])) {
             $shipping->setType(new PagSeguroShippingType($data["shipping"]["type"]));
         }
         // <transaction> <shipping> <cost>
         if (isset($data["shipping"]["cost"])) {
             $shipping->setCost($data["shipping"]["cost"]);
         }
         if (isset($data["shipping"]["address"]) && is_array($data["shipping"]["address"])) {
             // <transaction> <shipping> <address>
             $address = new PagSeguroAddress();
             // <transaction> <shipping> <address> <street>
             if (isset($data["shipping"]["address"]["street"])) {
                 $address->setStreet($data["shipping"]["address"]["street"]);
             }
             // <transaction> <shipping> <address> <number>
             if (isset($data["shipping"]["address"]["number"])) {
                 $address->setNumber($data["shipping"]["address"]["number"]);
             }
             // <transaction> <shipping> <address> <complement>
             if (isset($data["shipping"]["address"]["complement"])) {
                 $address->setComplement($data["shipping"]["address"]["complement"]);
             }
             // <transaction> <shipping> <address> <city>
             if (isset($data["shipping"]["address"]["city"])) {
                 $address->setCity($data["shipping"]["address"]["city"]);
             }
             // <transaction> <shipping> <address> <state>
             if (isset($data["shipping"]["address"]["state"])) {
                 $address->setState($data["shipping"]["address"]["state"]);
             }
             // <transaction> <shipping> <address> <district>
             if (isset($data["shipping"]["address"]["district"])) {
                 $address->setDistrict($data["shipping"]["address"]["district"]);
             }
             // <transaction> <shipping> <address> <postalCode>
             if (isset($data["shipping"]["address"]["postalCode"])) {
                 $address->setPostalCode($data["shipping"]["address"]["postalCode"]);
             }
             // <transaction> <shipping> <address> <country>
             if (isset($data["shipping"]["address"]["country"])) {
                 $address->setCountry($data["shipping"]["address"]["country"]);
             }
             $shipping->setAddress($address);
         }
         // <transaction> <shipping>
         $transaction->setShipping($shipping);
     }
     return $transaction;
 }
예제 #4
0
 /**
  * @param PagSeguroTransaction $payment
  * @param Mage_Sales_Model_Order $order
  * @return multitype:string date Ambigous <number, mixed> NULL
  */
 public function build($payment, $order)
 {
     $config = $order->getEntityId() . '/' . $payment->getRecoveryCode();
     // Checkbox of selection for send e-mail
     $checkbox = "<label class='chk_email'>";
     $checkbox .= "<input type='checkbox' name='send_emails[]' class='checkbox' data-config='" . $config . "' />";
     $checkbox .= "</label>";
     //$dateOrder = Mage::app()->getLocale()->date($order->getCreatedAt(), null, null, true);
     // Receives the full html link to edit an order
     $editOrder = "<a class='edit' target='_blank' href='" . $this->getEditOrderUrl($order->getEntityId()) . "'>";
     $editOrder .= $this->__('Ver detalhes') . "</a>";
     $sent = $this->getSentEmailsById($order->getEntityId());
     $sent = current($sent);
     if (empty($sent)) {
         $sent = 0;
     }
     return array('checkbox' => $checkbox, 'date' => $this->getOrderMagetoDateConvert($order->getCreatedAt()), 'id_magento' => "#" . $order->getIncrementId(), 'validity_link' => $this->convertAbandonedDayIntervalToDate($order->getCreatedAt()), 'email' => $sent, 'visualize' => $editOrder);
 }