Ejemplo n.º 1
0
 /**
  * @param Customer $customer
  * @return mixed
  */
 private function prepareCustomerData(Customer $customer)
 {
     /** @var Customer $customer */
     $data = ['external_id' => $customer->getUsername(), 'gender' => $customer->getSalutation() == 1 ? 'M' : 'F', 'company' => $customer->getCompany(), 'address' => $customer->getStreet() . '-' . $customer->getStreetNr(), 'first_name' => $customer->getFirstName(), 'last_name' => $customer->getLastName(), 'zip_code' => $customer->getPostCode(), 'city' => $customer->getCity(), 'phone_number' => $customer->getPhone(), 'email' => $customer->getEmail(), 'status' => $customer->getIsActive() ? 'active' : 'blocked', 'country' => $customer->getCountry()->getId()];
     if ($customer->getAccountHolder() && $customer->getAccountNumber()) {
         $data['payment_data']['bank_account'] = ['account_holder' => $customer->getAccountHolder(), 'account_number' => $customer->getAccountNumber(), 'bank_name' => $customer->getBankName(), 'bank_code' => $customer->getBankCode()];
     } elseif ($customer->getCreditCardOwner() && $customer->getCreditCardNumber()) {
         $data['payment_data']['credit_card'] = ['card_number' => $customer->getCreditCardNumber(), 'card_type' => $customer->getCreditCardType(), 'card_holder' => $customer->getCreditCardOwner(), 'card_cvc_holder' => $customer->getSecurityCode(), 'card_expiration_date' => $customer->getExpirationMonth() . '/' . $customer->getExpirationYear()];
     } elseif ($customer->getBankSwift() && $customer->getBankIban()) {
         $data['payment_data']['sepa_direct_debit'] = ['bic' => $customer->getBankSwift(), 'iban' => $customer->getBankIban()];
     }
     return $data;
 }