Example #1
0
 public function createRequest($method, $url, $body = NULL, array $headers = array())
 {
     $request = new Request($url);
     if ($method === 'GET') {
         $request->setType($method);
     } else {
         $request->setType('POST');
         if ($method !== 'POST') {
             $headers['X-HTTP-METHOD-OVERRIDE'] = $method;
         }
     }
     if (isset($this->authentication)) {
         list($user, $password, $type) = $this->authentication;
         $request->setAuthentication($user, $password, $type);
     }
     if ($body) {
         $request->setData($body);
     }
     foreach ($headers as $name => $value) {
         $request->setHeaderField($name, $value);
     }
     return $request;
 }
Example #2
0
 public function createConsignment(ConsignmentRequest $consignmentRequest)
 {
     $recipient = $consignmentRequest->getRecipient();
     if ($recipient == null) {
         $recipient = new Recipient();
     }
     $labelsRequest = $consignmentRequest->getLabelsRequest();
     $consignmentArray = array('transport_service_id' => $consignmentRequest->getTransportServiceId(), 'address_state' => $recipient->getCountry(), 'register_branch_id' => $consignmentRequest->getRegisterBranchId(), 'destination_branch_id' => $consignmentRequest->getDestinationBranchId(), 'order_number' => $consignmentRequest->getOrderNumber(), 'partner_consignment_id' => $consignmentRequest->getPartnerConsignmentId(), 'parcel_count' => $consignmentRequest->getParcelCount(), 'weight' => $consignmentRequest->getWeight(), 'cash_on_delivery' => $consignmentRequest->getCashOnDelivery(), 'insurance' => $consignmentRequest->getInsurance(), 'stated_price' => $consignmentRequest->getStatedPrice(), 'currency' => $consignmentRequest->getCurrency(), 'variable' => $consignmentRequest->getValiable(), 'password' => $consignmentRequest->getPassword(), 'customer_name' => $recipient->getName(), 'customer_surname' => $recipient->getSurname(), 'company_name' => $recipient->getCompany(), 'customer_phone' => $recipient->getPhone(), 'customer_email' => $recipient->getEmail(), 'address_street' => $recipient->getStreet(), 'address_town' => $recipient->getTown(), 'address_zip' => $recipient->getZip(), 'allow_card_payment' => $consignmentRequest->getAllowCardPayment() ? 1 : 0, 'require_full_age' => $consignmentRequest->getRequireFullAge() ? 1 : 0, 'note' => $consignmentRequest->getNote());
     if (isset($labelsRequest)) {
         $consignmentArray['labels'] = array('type' => $labelsRequest->getType(), 'first_position' => $labelsRequest->getFirstPosition(), 'labels_per_page' => $labelsRequest->getLabelsPerPage());
     }
     $request = new Request($this->apiUrl, $this->shopId, $this->apiKey);
     $request->setType('POST');
     $request->setResource(self::CONSIGNMENT_RESOURCE);
     $request->setData($consignmentArray);
     $response = $request->getResponse();
     if ($response->isError()) {
         $this->errors = $response->getErrors();
         return false;
     } else {
         $data = $response->getData();
         return new Consignment($data[0]);
     }
 }
 public function testConstruct()
 {
     $request = new Request($this->getHttpClient(), $this->getHttpRequest());
     $request->setAccountId(123456);
     $request->setType(100);
     $request->setAmount(10.0);
     $request->setLang('es');
     $request->setApiVersion('prog');
     $request->setChannel(321);
     $request->setReturnUrl('http://example.com/return');
     $request->setNotifyUrl('http://example.com/notify');
     $request->setDescription('description for payment');
     $request->setCurrency('YEN');
     $requestData = $request->getData();
     $this->assertEquals($requestData['id'], 123456);
     $this->assertEquals($requestData['amount'], 10.0);
     $this->assertEquals($requestData['currency'], 'YEN');
     $this->assertEquals($requestData['description'], 'description for payment');
     $this->assertEquals($requestData['lang'], 'es');
     $this->assertEquals($requestData['type'], 100);
     $this->assertEquals($requestData['URL'], 'http://example.com/return');
     $this->assertEquals($requestData['URLC'], 'http://example.com/notify');
     $this->assertEquals($requestData['channel'], 321);
 }