public PosPaymentCloudApi(Client client)
     : base(client)
 {
     IsApiKeyRequired            = true;
     _saleToPoiMessageSerializer = new SaleToPoiMessageSerializer();
     _terminalApiAsync           = new TerminalApi(this, true);
     _terminalApiSync            = new TerminalApi(this, false);
 }
示例#2
0
 public PosPaymentLocalApi(Client client)
     : base(client)
 {
     _terminalApiLocal                  = new TerminalApiLocal(this);
     _saleToPoiMessageSerializer        = new SaleToPoiMessageSerializer();
     _messageSecuredEncryptor           = new SaleToPoiMessageSecuredEncryptor();
     _saleToPoiMessageSecuredSerializer = new SaleToPoiMessageSecuredSerializer();
 }
 public PosPayment(Client client)
     : base(client)
 {
     _saleToPoiMessageSerializer        = new SaleToPoiMessageSerializer();
     _messageSecuredEncryptor           = new SaleToPoiMessageSecuredEncryptor();
     _saleToPoiMessageSecuredSerializer = new SaleToPoiMessageSecuredSerializer();
     _terminalApiAsync = new TerminalApi(this, true);
     _terminalApiSync  = new TerminalApi(this, false);
 }
        public void EnumSerializerTest()
        {
            var saleToPoiMessageSerializer = new SaleToPoiMessageSerializer();
            var saleToMessageOnLine        = saleToPoiMessageSerializer.Deserialize(GetSaleToPoiMessage("OnlinePin"));
            var saleToMessageOnline        = saleToPoiMessageSerializer.Deserialize(GetSaleToPoiMessage("OnLinePin"));
            var paymentResponseOnLine      = (PaymentResponse)saleToMessageOnLine.MessagePayload;
            var paymentResponseOnline      = (PaymentResponse)saleToMessageOnline.MessagePayload;

            Assert.AreEqual(paymentResponseOnline.PaymentResult.AuthenticationMethod[0], AuthenticationMethodType.OnLinePIN);
            Assert.AreEqual(paymentResponseOnLine.PaymentResult.AuthenticationMethod[0], AuthenticationMethodType.OnLinePIN);
        }
示例#5
0
        public void TestSaleToPoiMessageEscapeStringDecryption()
        {
            var saleToPoiRequest                  = MockPosApiRequest.CreateSaleToPOIPrintRequestEscape();
            var messageHeader                     = MockPosApiRequest.CreateSaleToPOIPrintRequestEscape().MessageHeader;
            var saleToPoiMessageSerializer        = new SaleToPoiMessageSerializer();
            var saleToPoiRequestMessageSerialized = saleToPoiMessageSerializer.Serialize(saleToPoiRequest);
            var saleToPoiMessageSecured           = _messageSecuredEncryptor.Encrypt(saleToPoiRequestMessageSerialized, messageHeader, _encryptionCredentialDetails);
            var saleToPoiRequestDecrypt           = _messageSecuredEncryptor.Decrypt(saleToPoiMessageSecured, _encryptionCredentialDetails);

            Assert.IsNotNull(saleToPoiRequestDecrypt);
            Assert.AreEqual(MockPosApiRequest.MockNexoJsonPrintRequest(), saleToPoiRequestDecrypt);
        }
示例#6
0
 public void TestCloudApiCardAcquisition()
 {
     try
     {
         var mockPath = GetMockFilePath("Mocks/terminalapi/pospayment-card-acquisition-request.json");
         var message  = MockFileToString(mockPath);
         var saleToPoiMessageSerializer = new SaleToPoiMessageSerializer();
         var saleToMessage  = saleToPoiMessageSerializer.Deserialize(message);
         var messagePayload = (CardAcquisitionRequest)saleToMessage.MessagePayload;
         Assert.IsNotNull(messagePayload);
         Assert.IsNotNull(messagePayload.CardAcquisitionTransaction.ForceEntryMode);
         Assert.AreEqual(messagePayload.CardAcquisitionTransaction.ForceEntryMode[0], ForceEntryModeType.MagStripe);
         Assert.AreEqual(messagePayload.CardAcquisitionTransaction.ForceEntryMode[1], ForceEntryModeType.Contactless);
     }
     catch (Exception)
     {
         Assert.Fail();
     }
 }