Beispiel #1
0
 /**
  * Update track number (logistics number)
  * @param $logisticsNo
  * @throws PilipayError
  */
 public function updateTrackNo($logisticsNo)
 {
     $params = array('orderNo' => $this->orderNo, 'merchantNo' => $this->merchantNO, 'logisticsNo' => $logisticsNo);
     PilipayLogger::instance()->log('info', "Update track NO: " . json_encode($params));
     $curl = new PilipayCurl();
     $response = $curl->post(PilipayConfig::getUpdateTrackNoUrl(), $params);
     PilipayLogger::instance()->log('info', 'Update track NO result: ' . print_r(array('request' => $params, 'response' => array('statusCode' => $curl->getResponseStatusCode(), 'statusText' => $curl->getResponseStatusText(), 'content' => $curl->getResponseContent())), true));
     if (!$response) {
         throw new PilipayError(PilipayError::EMPTY_RESPONSE, 'Updating tacking number');
     }
     if (strcasecmp(trim($response), 'success') !== 0) {
         throw new PilipayError(PilipayError::UPDATE_FAILED, 'Update tracking number failed: ' . $response);
     }
 }
 /**
  * 提交订单
  * @return array
  * @throws PilipayError
  */
 public function submit()
 {
     $this->notifyType = 'html';
     $orderData = $this->toApiArray();
     PilipayLogger::instance()->log('info', 'Submit order begin: ' . Tools::jsonEncode($orderData));
     // submit
     $curl = new PilipayCurl();
     $curl->post(PilipayConfig::getSubmitOrderUrl(), $orderData);
     $responseStatusCode = $curl->getResponseStatusCode();
     $nextUrl = $curl->getResponseRedirectUrl();
     PilipayLogger::instance()->log('info', 'Submit order end: ' . print_r(array('url' => PilipayConfig::getSubmitOrderUrl(), 'request' => $orderData, 'response' => array('statusCode' => $curl->getResponseStatusCode(), 'statusText' => $curl->getResponseStatusText(), 'nextUrl' => $nextUrl, 'content' => $curl->getResponseContent())), true));
     return array('success' => $responseStatusCode < 400 && !empty($nextUrl), 'errorCode' => $responseStatusCode, 'message' => $curl->getResponseContent(), 'nextUrl' => $nextUrl);
 }