public void OnFailure(TransactionFailureResult result) { // Get information about the rejected transaction TransactionType transType = result.TransactionType; TransactionId ecrTransId = result.EcrTransactionId; TransactionId terminalTransId = result.TerminalTransactionId; FailureErrorType errorType = result.Error; string additionalReason = result.AdditionalReason; List <Receipt> receipts = result.Receipts; foreach (Receipt receipt in receipts) { DocumentType documentType = receipt.DocumentType; bool? signatureRequired = receipt.SignatureRequired; ReceiptContent receiptContent = receipt.Content; if (receiptContent.Format == ReceiptFormatType.Text) { ContentText contentText = receiptContent.Text; string plainTextReceipt = contentText.PlainText; } } List <Token> tokens = result.Tokens; foreach (Token token in tokens) { TokenType tokenType = token.Type; string tokenValue = token.Value; DateTime? tokenExpiry = token.Expiry; string tokenSchemeId = token.SchemeId; EnrolmentStatusType?enrolmentStatusType = token.EnrolmentStatus; } // TokenResponses give info about the result of token lookups and // provides an alternative way to get the token when the lookup was successful. List <TokenResponse> tokenResponses = result.TokenResponses; foreach (TokenResponse tokenResponse in tokenResponses) { TokenRequest tokenRequest = tokenResponse.TokenRequest; string tokenSchemeId = tokenRequest.SchemeId; if (tokenResponse.Result == TokenResultType.Success) { Token token = tokenResponse.Token; } else { TokenFailureErrorType?tokenErrorType = tokenResponse.Error; string tokenErrorDescription = tokenResponse.AdditionalReason; } } }
public void OnSuccess(TransactionResult result) { // Get information about the approved transaction TransactionType transType = result.TransactionType; decimal transAmount = result.AuthorizedAmount; decimal cashbackAmount = result.CashbackAmount; decimal tipAmount = result.TipAmount; TransactionId ecrTransId = result.EcrTransactionId; TransactionId terminalTransId = result.TerminalTransactionId; string approvalCode = result.ApprovalCode; PaymentInstrumentData instrumentData = result.PaymentInstrumentData; PaymentInstrumentType?instrumentType = instrumentData?.PaymentInstrumentType; if (instrumentType == PaymentInstrumentType.Card) { CardData cardData = instrumentData.CardData; EntryModeType entryMode = cardData.EntryMode; string paymentBrand = cardData.PaymentBrand; string maskedPan = cardData.MaskedPan; } else if (instrumentType == PaymentInstrumentType.AlternativePayment) { AlternativePaymentData alternativePaymentData = instrumentData.AlternativePaymentData; string alternativePaymentBrand = alternativePaymentData.AlternativePaymentBrand; EntryModeType entryMode = alternativePaymentData.EntryMode; TransactionId providerTransactionId = alternativePaymentData.ProviderTransactionId; } List <Receipt> receipts = result.Receipts; foreach (Receipt receipt in receipts) { DocumentType documentType = receipt.DocumentType; bool? signatureRequired = receipt.SignatureRequired; ReceiptContent receiptContent = receipt.Content; if (receiptContent.Format == ReceiptFormatType.Text) { ContentText contentText = receiptContent.Text; string plainTextReceipt = contentText.PlainText; } } List <Token> tokens = result.Tokens; foreach (Token token in tokens) { TokenType tokenType = token.Type; string tokenValue = token.Value; DateTime? tokenExpiry = token.Expiry; string tokenSchemeId = token.SchemeId; EnrolmentStatusType?enrolmentStatusType = token.EnrolmentStatus; } // TokenResponses give info about the result of token lookups and // provides an alternative way to get the token when the lookup was successful. List <TokenResponse> tokenResponses = result.TokenResponses; foreach (TokenResponse tokenResponse in tokenResponses) { TokenRequest tokenRequest = tokenResponse.TokenRequest; string tokenSchemeId = tokenRequest.SchemeId; if (tokenResponse.Result == TokenResultType.Success) { Token token = tokenResponse.Token; } else { TokenFailureErrorType?tokenErrorType = tokenResponse.Error; string tokenErrorDescription = tokenResponse.AdditionalReason; } } }