/**
  * {@inheritdoc}
  *
  * @param  mixed                                            $data
  * @return \Wooppay\Objects\Response\CreateInvoiceExtended
  * @throws \Wooppay\Objects\Exceptions\BadCredentials
  * @throws \Wooppay\Objects\Exceptions\UnsuccessfulResponse
  */
 public static function factory($data)
 {
     $response = new self();
     if (self::checkResponse($data)) {
         $response->setOperationId($data->response->operationId)->setOperationUrl($data->response->operationUrl);
     }
     return $response;
 }