Search in sources :

Example 1 with MiraklIbanBankAccountInformation

use of com.mirakl.client.mmp.domain.shop.bank.MiraklIbanBankAccountInformation in project mirakl-hyperwallet-connector by paypal.

the class MiraklShopToIBANBankAccountModelConverterStrategy method execute.

/**
 * {@inheritDoc}
 */
@Override
public IBANBankAccountModel execute(@NonNull final MiraklShop source) {
    final MiraklPaymentInformation paymentInformation = source.getPaymentInformation();
    final MiraklIbanBankAccountInformation miraklIbanBankAccountInformation = (MiraklIbanBankAccountInformation) paymentInformation;
    final MiraklContactInformation contactInformation = source.getContactInformation();
    // @formatter:off
    return IBANBankAccountModel.builder().transferMethodCountry(contactInformation.getCountry()).transferMethodCurrency(source.getCurrencyIsoCode().name()).transferType(TransferType.BANK_ACCOUNT).type(BankAccountType.IBAN).bankBic(miraklIbanBankAccountInformation.getBic()).bankAccountNumber(miraklIbanBankAccountInformation.getIban()).businessName(Optional.ofNullable(source.getProfessionalInformation()).map(MiraklProfessionalInformation::getCorporateName).orElse(null)).firstName(contactInformation.getFirstname()).lastName(contactInformation.getLastname()).country(contactInformation.getCountry()).addressLine1(contactInformation.getStreet1()).addressLine2(Optional.ofNullable(contactInformation.getStreet2()).orElse(StringUtils.EMPTY)).city(miraklIbanBankAccountInformation.getBankCity()).stateProvince(source.getAdditionalFieldValues()).token(source.getAdditionalFieldValues()).hyperwalletProgram(source.getAdditionalFieldValues()).build();
// @formatter:on
}
Also used : MiraklContactInformation(com.mirakl.client.mmp.domain.shop.MiraklContactInformation) MiraklPaymentInformation(com.mirakl.client.mmp.domain.shop.bank.MiraklPaymentInformation) MiraklIbanBankAccountInformation(com.mirakl.client.mmp.domain.shop.bank.MiraklIbanBankAccountInformation) MiraklProfessionalInformation(com.mirakl.client.mmp.domain.shop.MiraklProfessionalInformation)

Aggregations

MiraklContactInformation (com.mirakl.client.mmp.domain.shop.MiraklContactInformation)1 MiraklProfessionalInformation (com.mirakl.client.mmp.domain.shop.MiraklProfessionalInformation)1 MiraklIbanBankAccountInformation (com.mirakl.client.mmp.domain.shop.bank.MiraklIbanBankAccountInformation)1 MiraklPaymentInformation (com.mirakl.client.mmp.domain.shop.bank.MiraklPaymentInformation)1