/** * Prepare customer address for assert. * * @param PaypalCustomer $customer * @return string */ protected function prepareCustomerAddress(PaypalCustomer $customer) { /** @var PaypalAddress $customerAddress */ $customerAddress = $customer->getDataFieldConfig('address')['source']->getAddresses()[0]; $availableFields = []; foreach ($this->addressPattern as $key => $lineItems) { foreach ($lineItems as $lineItem) { if ($customerAddress->hasData($lineItem)) { $availableFields[$key][] = $customerAddress->getData($lineItem); } } $availableFields[$key] = $key === 'implode_with_comma' ? implode(', ', $availableFields[$key]) : implode(' ', $availableFields[$key]); } $availableFields = implode("\n", $availableFields); return $availableFields; }
/** * Select customer address. * * @param PaypalCustomer $customer * @return void */ protected function selectCustomerAddress(PaypalCustomer $customer) { $reviewBlock = $this->paypalPage->getReviewBlock(); if ($reviewBlock->checkChangeAddressAbility()) { $address = $customer->getDataFieldConfig('address')['source']->getAddresses()[0]; $reviewBlock->getAddressesBlock()->selectAddress($address); $reviewBlock->waitLoader(); } }