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; }
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); }