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); }
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)); }