Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ ThisBuild / organization := "app.softnetwork"

name := "payment"

ThisBuild / version := "0.7.4"
ThisBuild / version := "0.8.0"

ThisBuild / scalaVersion := "2.12.18"

Expand Down
1 change: 1 addition & 0 deletions common/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ payment{
card-route = "card"
payment-method-route = "method"
bank-route = "bank"
account-route = "account"
declaration-route = "declaration"
kyc-route = "kyc"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ object Payment {
cardRoute: String,
paymentMethodRoute: String,
bankRoute: String,
accountRoute: String,
declarationRoute: String,
kycRoute: String,
disableBankAccountDeletion: Boolean,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -639,41 +639,33 @@ object PaymentMessages {
lazy val key: String = transactionId
}

/** Commands related to the bank account */
/** Commands related to the payment account */

case class BankAccountCommand(
bankAccount: BankAccount,
case class UserPaymentAccountCommand(
user: Either[NaturalUser, LegalUser],
acceptedTermsOfPSP: Option[Boolean] = None,
tokenId: Option[String] = None,
bankTokenId: Option[String] = None
tokenId: Option[String] = None
)

object BankAccountCommand {
object UserPaymentAccountCommand {

def apply(
bankAccount: BankAccount,
naturalUser: NaturalUser,
acceptedTermsOfPSP: Option[Boolean],
tokenId: Option[String],
bankTokenId: Option[String]
): BankAccountCommand =
BankAccountCommand(bankAccount, Left(naturalUser), acceptedTermsOfPSP, tokenId, bankTokenId)
tokenId: Option[String]
): UserPaymentAccountCommand =
UserPaymentAccountCommand(Left(naturalUser), acceptedTermsOfPSP, tokenId)

def apply(
bankAccount: BankAccount,
legalUser: LegalUser,
acceptedTermsOfPSP: Option[Boolean],
tokenId: Option[String],
bankTokenId: Option[String]
): BankAccountCommand =
BankAccountCommand(bankAccount, Right(legalUser), acceptedTermsOfPSP, tokenId, bankTokenId)
tokenId: Option[String]
): UserPaymentAccountCommand =
UserPaymentAccountCommand(Right(legalUser), acceptedTermsOfPSP, tokenId)
}

/** @param creditedAccount
* - account to credit
* @param bankAccount
* - bank account
* @param user
* - payment user
* @param acceptedTermsOfPSP
Expand All @@ -686,18 +678,38 @@ object PaymentMessages {
* - optional client id
* @param tokenId
* - optional account token id
* @param bankTokenId
* - optional bank token id
*/
case class CreateOrUpdateBankAccount(
case class CreateOrUpdateUserPaymentAccount(
creditedAccount: String,
bankAccount: BankAccount,
user: Option[PaymentAccount.User] = None,
acceptedTermsOfPSP: Option[Boolean] = None,
ipAddress: Option[String] = None,
userAgent: Option[String],
clientId: Option[String] = None,
tokenId: Option[String] = None,
tokenId: Option[String] = None
) extends PaymentCommandWithKey
with PaymentAccountCommand {
val key: String = creditedAccount
}

case class BankAccountCommand(
bankAccount: BankAccount,
bankTokenId: Option[String] = None
)

/** @param creditedAccount
* - account to credit
* @param bankAccount
* - bank account
* @param clientId
* - optional client id
* @param bankTokenId
* - optional bank token id
*/
case class CreateOrUpdateBankAccount(
creditedAccount: String,
bankAccount: BankAccount,
clientId: Option[String] = None,
bankTokenId: Option[String] = None
) extends PaymentCommandWithKey
with PaymentAccountCommand {
Expand Down Expand Up @@ -1029,14 +1041,18 @@ object PaymentMessages {
case class PaymentAccountLoaded(paymentAccount: PaymentAccount) extends PaymentResult

case class BankAccountCreatedOrUpdated(
bankAccountCreated: Boolean,
bankAccountUpdated: Boolean,
mandateCanceled: Boolean,
paymentAccount: PaymentAccountView
) extends PaymentResult

case class UserPaymentAccountCreatedOrUpdated(
userCreated: Boolean,
userTypeUpdated: Boolean,
kycUpdated: Boolean,
userUpdated: Boolean,
bankAccountCreated: Boolean,
bankAccountUpdated: Boolean,
documentsUpdated: Boolean,
mandateCanceled: Boolean,
uboDeclarationCreated: Boolean,
paymentAccount: PaymentAccountView
) extends PaymentResult
Expand Down Expand Up @@ -1177,6 +1193,9 @@ object PaymentMessages {

case object BankAccountNotCreatedOrUpdated extends PaymentError("BankAccountNotCreatedOrUpdated")

case object UserPaymentAccountNotCreatedOrUpdated
extends PaymentError("UserPaymentAccountNotCreatedOrUpdated")

case object KycDocumentNotAdded extends PaymentError("KycDocumentNotAdded")

case object KycDocumentStatusNotUpdated extends PaymentError("KycDocumentStatusNotUpdated")
Expand Down
Loading