private void EmvTxCtl_TxCompleted(object sender, EventArgs e) { if ((e as TxCompletedEventArgs).TxResult == TxResult.Cancelled) { UpdateView(ViewState.StepTxCtl); } if ((e as TxCompletedEventArgs).EMV_Data.IsPresent()) { //the contact app would have already gone online, and the TxResult would be approved or declined //the reason going online for contactless is handled differently to going online for //contact is that with contact we have to go online and then back to the card before we can //process the transaction on the backend, for contacless we can choose to go online and process //the transaction in one call if ((e as TxCompletedEventArgs).TxResult == TxResult.ContactlessOnline) { EMVApproverRequest auth = new EMVApproverRequest() { EMV_Data = (e as TxCompletedEventArgs).EMV_Data.Get() }; try { EMVApproverResponse response = (EMVApproverResponse)onlineApprover.DoAuth(auth); emvTxCtl.SetTxFinalResultLabel("CTLS Online:" + response.ResponseMessage); } catch (Exception ex) { emvTxCtl.SetTxFinalResultLabel("CTLS Online:" + ex.Message); } } } if ((e as TxCompletedEventArgs).QR_Data.IsPresent()) { if ((e as TxCompletedEventArgs).TxResult == TxResult.QRCodeScanned) { //send qr code auth request QRCodeApproverRequest auth = new QRCodeApproverRequest() { QRData = (e as TxCompletedEventArgs).QR_Data.Get() }; try { QRCodeApproverResponse response = (QRCodeApproverResponse)onlineApprover.DoAuth(auth); emvTxCtl.SetTxFinalResultLabel("QRCode Online:" + response.ResponseMessage); } catch (Exception ex) { emvTxCtl.SetTxFinalResultLabel("QRCode Online:" + ex.Message); } } } }
private void EmvTxCtl_TxCompleted(object sender, EventArgs e) { if ((e as TxCompletedEventArgs).QR_Data.IsPresent()) { if ((e as TxCompletedEventArgs).TxResult == TxResult.QRCodeToPoll) { //query if tx was approved QRCodeApproverRequest auth = new QRCodeApproverRequest() { QRData = (e as TxCompletedEventArgs).QR_Data.Get() }; try { QRCodeApproverResponse response = (QRCodeApproverResponse)onlineApprover.DoCheckAuthStatus(auth); emvTxCtl.SetTxFinalResultLabel("QRCode Online Check:" + response.ResponseMessage); } catch (Exception ex) { emvTxCtl.SetTxFinalResultLabel("QRCode Online Check:" + ex.Message); } } } }