tweaking the error message for payments

This commit is contained in:
hongwei1 2018-01-11 09:13:58 +01:00
parent 5840e43f8f
commit 5eb48afd89
4 changed files with 20 additions and 24 deletions

View File

@ -323,20 +323,21 @@ val dateformat = new java.text.SimpleDateFormat("yyyy-MM-dd")
val InvalidConnectorResponseForGetChallengeThreshold = "OBP-50206: Connector did not return the set of challenge threshold we requested."
val InvalidConnectorResponseForGetChargeLevel = "OBP-50207: Connector did not return the set of challenge level we requested."
val InvalidConnectorResponseForCreateTransactionRequestImpl210 = "OBP-50208: Connector did not return the set of transactions requests we requested."
val InvalidConnectorResponseForMakePaymentImpl = "OBP-50209: Connector did not return the set of transactions we requested."
val InvalidConnectorResponseForMakePayment = "OBP-50209: Connector did not return the set of transactions we requested."
val InvalidConnectorResponseForMakePaymentv200 = "OBP-50210: Connector did not return the set of transaction id we requested."
// Adapter Exceptions (OBP-6XXXX)
// Reserved for adapter (south of Kafka) messages
// Also used for connector == mapped, and show it as the Internal errors.
val GetStatusException = "INTERNAL-OBP-60001: Save Transaction Exception. "
val GetChargeValueException = "INTERNAL-OBP-60002: Get ChargeValue Exception. "
val CreateTransactionsException = "INTERNAL-OBP-60003: Create transaction Exception. "
val UpdateBankAccountException = "INTERNAL-OBP-60004: Update bank account Exception. "
val SaveTransactionRequestTransactionException = "INTERNAL-OBP-60005: Save Transaction Request Transaction Exception. "
val SaveTransactionRequestChallengeException = "INTERNAL-OBP-60006: Save Transaction Request Challenge Exception. "
val SaveTransactionRequestStatusException = "INTERNAL-OBP-60007: Save Transaction Request Status Exception. "
val GetStatusException = "OBP-60001: Save Transaction Exception. "
val GetChargeValueException = "OBP-60002: Get ChargeValue Exception. "
val CreateTransactionsException = "OBP-60003: Create transaction Exception. "
val UpdateBankAccountException = "OBP-60004: Update bank account Exception. "
val SaveTransactionRequestTransactionException = "OBP-60005: Save Transaction Request Transaction Exception. "
val SaveTransactionRequestChallengeException = "OBP-60006: Save Transaction Request Challenge Exception. "
val SaveTransactionRequestStatusException = "OBP-60007: Save Transaction Request Status Exception. "
val TransactionRequestDetailsExtractException = "OBP-60008: Transaction detail body extract exception. "
///////////

View File

@ -1319,7 +1319,7 @@ trait APIMethods200 {
answerJson <- tryo{json.extract[ChallengeAnswerJSON]} ?~! InvalidJsonFormat
answerOk <- Connector.connector.vend.answerTransactionRequestChallenge(transReqId, answerJson.answer)
//check the transReqId validation.
existingTransactionRequest <- Connector.connector.vend.getTransactionRequestImpl(transReqId) ?~! {ErrorMessages.InvalidTransactionRequestId}
existingTransactionRequest <- Connector.connector.vend.getTransactionRequestImpl(transReqId) ?~! s"${ErrorMessages.InvalidTransactionRequestId} : $transReqId"
//check the input transactionRequestType is same as when the user create the existingTransactionRequest
existingTransactionRequestType <- Full(existingTransactionRequest.`type`)

View File

@ -602,7 +602,7 @@ trait APIMethods210 {
view <- tryo(fromAccount.permittedViews(user).find(_ == viewId)) ?~ {UserNoPermissionAccessView}
// Check transReqId is valid
existingTransactionRequest <- Connector.connector.vend.getTransactionRequestImpl(transReqId) ?~! {InvalidTransactionRequestId}
existingTransactionRequest <- Connector.connector.vend.getTransactionRequestImpl(transReqId) ?~! s"${InvalidTransactionRequestId} : $transReqId"
// Check the Transaction Request is still INITIATED
isTransReqStatueInitiated <- booleanToBox(existingTransactionRequest.status.equals("INITIATED"),TransactionRequestStatusNotInitiated)

View File

@ -388,7 +388,7 @@ trait Connector extends MdcLoggable{
transactionRequestType: TransactionRequestType,
chargePolicy: String): Box[TransactionId] = {
for {
transactionId <- makePaymentImpl(fromAccount, toAccount, transactionRequestCommonBody, amount, description, transactionRequestType, chargePolicy) ?~! InvalidConnectorResponseForMakePaymentImpl
transactionId <- makePaymentImpl(fromAccount, toAccount, transactionRequestCommonBody, amount, description, transactionRequestType, chargePolicy) ?~! InvalidConnectorResponseForMakePayment
} yield transactionId
}
@ -794,7 +794,7 @@ trait Connector extends MdcLoggable{
//It is only used for V140 and V200, has been deprecated from V210.
@deprecated
def answerTransactionRequestChallenge(transReqId: TransactionRequestId, answer: String) : Box[Boolean] = {
val tr = getTransactionRequestImpl(transReqId) ?~ s"${ErrorMessages.InvalidTransactionRequestId} : $transReqId"
val tr = getTransactionRequestImpl(transReqId) ?~! s"${ErrorMessages.InvalidTransactionRequestId} : $transReqId"
tr match {
case Full(tr: TransactionRequest) =>
@ -823,13 +823,13 @@ trait Connector extends MdcLoggable{
def createTransactionAfterChallenge(initiator: User, transReqId: TransactionRequestId) : Box[TransactionRequest] = {
for {
tr <- getTransactionRequestImpl(transReqId) ?~ "Transaction Request not found"
tr <- getTransactionRequestImpl(transReqId) ?~! s"${ErrorMessages.InvalidTransactionRequestId} : $transReqId"
transId <- makePayment(initiator, BankIdAccountId(BankId(tr.from.bank_id), AccountId(tr.from.account_id)),
BankIdAccountId (BankId(tr.body.to.bank_id), AccountId(tr.body.to.account_id)), BigDecimal (tr.body.value.amount), tr.body.description, TransactionRequestType(tr.`type`)) ?~ "Couldn't create Transaction"
BankIdAccountId (BankId(tr.body.to.bank_id), AccountId(tr.body.to.account_id)), BigDecimal (tr.body.value.amount), tr.body.description, TransactionRequestType(tr.`type`)) ?~! InvalidConnectorResponseForMakePayment
didSaveTransId <- saveTransactionRequestTransaction(transReqId, transId)
didSaveStatus <- saveTransactionRequestStatusImpl(transReqId, TransactionRequestStatus.COMPLETED.toString)
//get transaction request again now with updated values
tr <- getTransactionRequestImpl(transReqId)
tr <- getTransactionRequestImpl(transReqId)?~! s"${ErrorMessages.InvalidTransactionRequestId} : $transReqId"
} yield {
tr
}
@ -846,7 +846,7 @@ trait Connector extends MdcLoggable{
transactionRequest.body.description,
TransactionRequestType(transactionRequest.`type`),
"" //Note chargePolicy started to use from V210
) ?~ "Couldn't create Transaction"
) ?~! InvalidConnectorResponseForMakePayment
didSaveTransId <- saveTransactionRequestTransaction(transRequestId, transactionId)
didSaveStatus <- saveTransactionRequestStatusImpl(transRequestId, TransactionRequestStatus.COMPLETED.toString)
@ -866,18 +866,13 @@ trait Connector extends MdcLoggable{
//Note, it should be four different type of details in mappedtransactionrequest.
//But when we design "createTransactionRequest", we try to make it the same as SandBoxTan. There is still some different now.
// Take a look at TransactionRequestDetailsMapperJSON, TransactionRequestDetailsMapperCounterpartyJSON, TransactionRequestDetailsMapperSEPAJSON and TransactionRequestDetailsMapperFreeFormJSON
detailsJsonExtract <- tryo{details.extract[TransactionRequestDetailsMapperJSON]} ?~! s"create transaction detail body, can not extract to $TransactionRequestDetailsMapperJSON "
detailsJsonExtract <- tryo{details.extract[TransactionRequestDetailsMapperJSON]} ?~! s"$TransactionRequestDetailsExtractException It can not extract to $TransactionRequestDetailsMapperJSON "
valueAmount = detailsJsonExtract.value.amount
description = detailsJsonExtract.description
// Note for 'toCounterparty' in the following :
// We update the makePaymentImpl in V210, added the new parameter 'toCounterparty: CounterpartyTrait' for V210
// And it only used for COUNTERPARTY.toString and SEPA.toString ,other types keep it empty now.
toAccount <- TransactionRequestTypes.withName(transactionRequestType) match {
case COUNTERPARTY | SEPA =>
for{
@ -906,12 +901,12 @@ trait Connector extends MdcLoggable{
description,
TransactionRequestType(transactionRequestType),
transactionRequest.charge_policy
) ?~ "Couldn't create Transaction"
) ?~! InvalidConnectorResponseForMakePayment
didSaveTransId <- saveTransactionRequestTransaction(transactionRequestId, transactionId)
didSaveStatus <- saveTransactionRequestStatusImpl(transactionRequestId, TransactionRequestStatus.COMPLETED.toString)
//After `makePaymentv200` and update data for request, we get the new requqest from database again.
transactionReques <- Connector.connector.vend.getTransactionRequestImpl(transactionRequestId) ?~! s"get new Transaction problem..."
transactionReques <- Connector.connector.vend.getTransactionRequestImpl(transactionRequestId) ?~! s"${ErrorMessages.InvalidTransactionRequestId} : $transactionRequestId. Get updated transaction exeception."
} yield {
transactionReques