/** * @param array $data * @return \SubscribePro\Service\Subscription\SubscriptionInterface */ public function create(array $data = []) { $addressData = $this->getFieldData($data, SubscriptionInterface::SHIPPING_ADDRESS); $data[SubscriptionInterface::SHIPPING_ADDRESS] = $this->addressFactory->create($addressData); $paymentProfileData = $this->getFieldData($data, SubscriptionInterface::PAYMENT_PROFILE); $data[SubscriptionInterface::PAYMENT_PROFILE] = $this->paymentProfileFactory->create($paymentProfileData); return new $this->instanceName($data); }
/** * @param array $data * @return \SubscribePro\Service\Webhook\Event\DestinationInterface[] */ protected function createDestinationItems(array $data = []) { return array_map(function ($itemData) { return $this->destinationFactory->create($itemData); }, $data); }
/** * @param array $data * @return \SubscribePro\Service\PaymentProfile\PaymentProfileInterface */ public function create(array $data = []) { $addressData = $this->getFieldData($data, PaymentProfileInterface::BILLING_ADDRESS); $data[PaymentProfileInterface::BILLING_ADDRESS] = $this->addressFactory->create($addressData); return new $this->instanceName($data); }
/** * @param array $data * @return \SubscribePro\Service\DataInterface[] */ private function createItems(array $data = []) { return array_map(function ($itemData) { return $this->dataFactory->create($itemData); }, $data); }