static void Main(string[] args)
        {
            // Setting comerce data
            Onepay.SharedSecret    = "?XW#WOLG##FBAGEAYSNQ5APD#JF@$AYZ";
            Onepay.ApiKey          = "dKVhq1WGt_XapIYirTXNyUKoWTDFfxaEV63-O5jcsdw";
            Onepay.IntegrationType = Transbank.Onepay.Enums.OnepayIntegrationType.Test;

            // Setting items to the shopping cart
            ShoppingCart cart = new ShoppingCart();

            cart.Add(new Item(
                         description: "Zapatos",
                         quantity: 1,
                         amount: 10000,
                         additionalData: null,
                         expire: 10));

            cart.Add(new Item("Pantalon", 1, 5000, null, -1));

            // Send transaction to Transbank
            TransactionCreateResponse response = Transaction.Create(cart);

            Console.WriteLine(response.ToString());

            var bytes = Convert.FromBase64String(response.QrCodeAsBase64);

            using (var imageFile = new FileStream(@"Qr.jpg", FileMode.Create))
            {
                imageFile.Write(bytes, 0, bytes.Length);
                imageFile.Flush();
            }

            Console.WriteLine("Pay with the app and then press any key to continue....");
            Console.ReadKey();

            TransactionCommitResponse commitResponse = Transaction.Commit(
                response.Occ, response.ExternalUniqueNumber);

            Console.WriteLine(commitResponse.ToString());

            Console.WriteLine("Press any key to Refund Transaction...");
            Console.ReadKey();

            RefundCreateResponse refundResponse = Refund.Create(commitResponse.Amount,
                                                                commitResponse.Occ, response.ExternalUniqueNumber,
                                                                commitResponse.AuthorizationCode);

            Console.WriteLine(refundResponse.ToString());

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        public void TestOnepaySendtransaction()
        {
            var cart = CreateCart();
            TransactionCreateResponse response = Transaction.Create(cart);

            Assert.IsNotNull(response);

            Assert.AreEqual("1807983490979289", response.Occ);
            Assert.AreEqual(64181789, response.Ott);
            Assert.AreEqual("USrtuoyAU3l5qeG3Gm2fnxKRs++jQaf1wc8lwA6EZ2o=", response.Signature);
            Assert.AreEqual("f506a955-800c-4185-8818-4ef9fca97aae", response.ExternalUniqueNumber);
            Assert.AreEqual(1532103896, response.IssuedAt);

            string qrBase64 = "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAADmElEQVR42u3dQW4CMRBE0bn/peEEbBCmq9rvS9lFxDP221jEfl6SPvZ4BRIgEiASIBIgEiASIBIgEiASIJIAkQCRAJEAkQCRAJEAkQCRAJEAkQSIBIgEiASIdAuQ53kqfn71XKffT9rntMwXIIAAAggggAACCCCAAAIIIIAAAsh/FlLLeKYWxunP2TpfgAACCCCAAAIIIIAAAggggAACCCDfPeDUQto6ntvmCxBAAAEEEEAAAQQQQAABBBBAAAHkTiBT4zw9HkAAAQQQQAABBBBAAAEEEEAAAQQQQG5+4S3breYLEEAAAQQQQAABBBBAAAEEEEAAASTlAZMW8FYgm9cPIIAAAggggAACCCCAAAIIIIAAAkjPcfp+3/UHgAACCCCAAAIIIIAAAggggAACyA1A2ku7tiBxIa2de68AEAECiAABBBBAAAEEEEAAuQhI+wJrv55gapynxw8IIIAAAggggAACCCCAAAIIIIAA8h8gUwvg9IJp34adGqdv8wICCCCAAAIIIIAAAggggAACCCA7gLRc4pm2UG/bZgcEEEAAAQQQQAABBBBAAAEEEEAAyQTSss3Ycl1C2vYyIIAAAggggAACCCCAAAIIIIAAAkjmwXFp1wGkPW/atvDWeQEEEEAAAQQQQAABBBBAAAEEEEAA+W4i2hd2y/O2/8szIIAAAggggAACCCCAAAIIIIAAAkjmtu3Ugkw7mK4dDiCAAAIIIIAAAggggAACCCCAAALI7m3etG3JlvfQAhYQQAABBBBAAAEEEEAAAQQQQAAB5M6D47aCmgLYcrAeIIAAAggggAACCCCAAAIIIIAAAsju2oG3XBvhy4qAAAIIIIAAAggggAgQQAQIIJnbvGk/p8ffAnPrNjIggAACCCCAAAIIIIAAAggggAACyG8numXbNm27Mu3vblg/gAACCCCAAAIIIIAAAggggAACCCBz26q3HYzWsp0OCCCAAAIIIIAAAggggAACCCCAAALIiRfe8qXKtHlJPCAOEEAAAQQQQAABBBBAAAEEEEAAAWTvNm/L52z9u4AAAggggAACCCCAAAIIIIAAAgggs0BawJ4eT/sCa4IACCCAAAIIIIAAAggggAACCCCAAOL6gy2XeG49cA8QQAABBBBAAAEEEEAAAQQQQAABROoOEAkQCRAJEAkQCRAJEAkQCRAJEEmASIBIgEiASIBIgEiASIBIgEiASAJEAkQCRAJESugNVyLVvcNSF1EAAAAASUVORK5CYII=";

            Assert.AreEqual(qrBase64, response.QrCodeAsBase64);
        }
Beispiel #3
0
        public async Task <ActionResult <TransactionCreateResponse> > Create([FromBody] TransactionCreateRequest request)
        {
            request.EnsureValidation();
            TransactionCreateArgs transactionCreateArgs = new TransactionCreateArgs
            {
                TransactionName   = request.Name,
                DebitAccountId    = request.DebitAccountId,
                CreditAccountId   = request.CreditAccountId,
                TransactionAmount = request.Amount,
                IssuedTime        = request.IssuedTime
            };
            IMediator mediator = Factory.Resolve <IMediator>();
            TransactionCreateResult transactionCreateResult = await mediator.Send(new TransactionCreateCommand(transactionCreateArgs));

            transactionCreateResult.EnsureSuccess();
            TransactionCreateResponse response = new TransactionCreateResponse
            {
                IsSuccess = true
            };

            return(Ok(response));
        }