in membership-attribute-service/app/services/zuora/payment/PaymentService.scala [52:66]
private def buildBankTransferPaymentMethod(defaultMandateIdIfApplicable: Option[String], m: Queries.PaymentMethod): Option[PaymentMethod] = {
for {
mandateId <- m.mandateId.orElse(defaultMandateIdIfApplicable)
accountName <- m.bankTransferAccountName
accountNumber <- m.bankTransferAccountNumberMask
paymentMethod <-
(m.bankTransferType, m.bankCode) match {
case (Some("SEPA"), _) =>
Some(Sepa(mandateId, accountName, accountNumber, m.numConsecutiveFailures, m.paymentMethodStatus))
case (_, Some(sortCode)) =>
Some(GoCardless(mandateId, accountName, accountNumber, sortCode, m.numConsecutiveFailures, m.paymentMethodStatus))
case _ => None
}
} yield paymentMethod
}