diff --git a/src/Samples/Sample.AspNetCore.UiTests/cypress/e2e/paymentorder/creditcard/creditcard-e2e.spec.cy.js b/src/Samples/Sample.AspNetCore.UiTests/cypress/e2e/paymentorder/creditcard/creditcard-e2e.spec.cy.js index cffd4a30f9..86901bb931 100644 --- a/src/Samples/Sample.AspNetCore.UiTests/cypress/e2e/paymentorder/creditcard/creditcard-e2e.spec.cy.js +++ b/src/Samples/Sample.AspNetCore.UiTests/cypress/e2e/paymentorder/creditcard/creditcard-e2e.spec.cy.js @@ -14,7 +14,7 @@ describe('Pay with Credit card', () => { new SwedbankBlock().payWithSwedbank(PaymentMethods.card); - cy.get('h2', {timeout: 30000}).then(($h) => { + cy.get('h2', {timeout: 60000}).then(($h) => { expect($h).to.contain('Thanks!'); cy.getByAutomation('paymentorderlink').then(($paymentOrderLink) => { @@ -39,7 +39,7 @@ describe('Pay with Credit card', () => { new SwedbankBlock().payWithSwedbank(PaymentMethods.card); - cy.get('h2', {timeout: 30000}).then(($h) => { + cy.get('h2', {timeout: 60000}).then(($h) => { expect($h).to.contain('Thanks!'); cy.getByAutomation('paymentorderlink').then(($paymentOrderLink) => { @@ -111,7 +111,7 @@ describe('Pay with Credit card and Payment token', () => { let swedbankBlock = new SwedbankBlock(); swedbankBlock.payWithSwedbank(PaymentMethods.card); - cy.get('h2', {timeout: 30000}).then(($h) => { + cy.get('h2', {timeout: 60000}).then(($h) => { expect($h).to.contain('Thanks!'); cy.getByAutomation('paymentorderlink').then(($paymentOrderLink) => { @@ -136,7 +136,7 @@ describe('Pay with Credit card', () => { new SwedbankBlock().payWithSwedbank(PaymentMethods.card); - cy.get('h2', {timeout: 30000}).then(($h) => { + cy.get('h2', {timeout: 60000}).then(($h) => { expect($h).to.contain('Thanks!'); cy.getByAutomation('paymentorderlink').then(($paymentOrderLink) => { @@ -161,7 +161,7 @@ describe('Pay with Credit card', () => { new SwedbankBlock().payWithSwedbank(PaymentMethods.card); - cy.get('h2', {timeout: 30000}).then(($h) => { + cy.get('h2', {timeout: 60000}).then(($h) => { expect($h).to.contain('Thanks!'); cy.getByAutomation('paymentorderlink').then(($paymentOrderLink) => { diff --git a/src/Samples/Sample.AspNetCore/Controllers/CheckOutController.cs b/src/Samples/Sample.AspNetCore/Controllers/CheckOutController.cs index 26dc1f3328..835d5ad121 100644 --- a/src/Samples/Sample.AspNetCore/Controllers/CheckOutController.cs +++ b/src/Samples/Sample.AspNetCore/Controllers/CheckOutController.cs @@ -29,6 +29,7 @@ public class CheckOutController : Controller private readonly StoreDbContext _context; private readonly PayeeInfoConfig _payeeInfoOptions; private readonly ISwedbankPayClient _swedbankPayClient; + private readonly PayerReference _payerReference; private readonly UrlsOptions _urls; @@ -37,7 +38,8 @@ public CheckOutController(IOptionsSnapshot payeeInfoOptionsAcce Cart cart, ILogger logger, StoreDbContext storeDbContext, - ISwedbankPayClient payClient) + ISwedbankPayClient payClient, + PayerReference payerReference) { _payeeInfoOptions = payeeInfoOptionsAccessor.Value; _urls = urlsAccessor.Value; @@ -45,6 +47,7 @@ public CheckOutController(IOptionsSnapshot payeeInfoOptionsAcce _logger = logger; _context = storeDbContext; _swedbankPayClient = payClient; + _payerReference = payerReference; } public void Callback([FromBody] CallbackInfo callbackInfo) @@ -172,13 +175,12 @@ public async Task CreatePaymentOrder(bool? generatePaymen paymentOrderRequest.Metadata = null; paymentOrderRequest.GenerateRecurrenceToken = generateRecurrenceToken; paymentOrderRequest.GenerateUnscheduledToken = generateUnscheduledToken; - ; paymentOrderRequest.Payer = new Payer { FirstName = "Olivia", LastName = "Nyhuus", - PayerReference = "AB1234", + PayerReference = _payerReference.Id, Email = new EmailAddress("olivia.nyhuus@payex.com"), Msisdn = new Msisdn("+46739000001"), WorkPhoneNumber = new Msisdn("+4787654321"), diff --git a/src/Samples/Sample.AspNetCore/Controllers/PaymentController.cs b/src/Samples/Sample.AspNetCore/Controllers/PaymentController.cs index e4c498e48f..69c080af9e 100644 --- a/src/Samples/Sample.AspNetCore/Controllers/PaymentController.cs +++ b/src/Samples/Sample.AspNetCore/Controllers/PaymentController.cs @@ -29,6 +29,7 @@ public class PaymentController : Controller private readonly StoreDbContext _context; private readonly PayeeInfoConfig _payeeInfoOptions; private readonly ISwedbankPayClient _swedbankPayClient; + private readonly PayerReference _payerReference; private readonly UrlsOptions _urls; @@ -37,12 +38,14 @@ public PaymentController( Cart cart, StoreDbContext dbContext, ISwedbankPayClient payClient, - IOptionsSnapshot urlsAccessor) + IOptionsSnapshot urlsAccessor, + PayerReference payerReference) { _payeeInfoOptions = payeeInfoOptionsAccessor.Value; _cartService = cart; _context = dbContext; _swedbankPayClient = payClient; + _payerReference = payerReference; _urls = urlsAccessor.Value; } @@ -293,7 +296,7 @@ private async Task GetRecurringRequest(string description, OrderItems = orderItems.ToList(), Payer = new Payer { - PayerReference = "AB1234", + PayerReference = _payerReference.Id, } }; @@ -322,7 +325,7 @@ private async Task GetUnscheduledRequest(string description OrderItems = orderItems.ToList(), Payer = new Payer { - PayerReference = "AB1234", + PayerReference = _payerReference.Id, } }; diff --git a/src/Samples/Sample.AspNetCore/Controllers/TokensController.cs b/src/Samples/Sample.AspNetCore/Controllers/TokensController.cs index 045ed645c2..2e75febf09 100644 --- a/src/Samples/Sample.AspNetCore/Controllers/TokensController.cs +++ b/src/Samples/Sample.AspNetCore/Controllers/TokensController.cs @@ -19,14 +19,17 @@ public class TokensController : Controller private readonly ISwedbankPayClient _swedbankPayClient; private readonly ILogger _logger; private readonly Cart _cart; + private readonly PayerReference _payerReference; public TokensController(ISwedbankPayClient swedbankPayClient, ILogger logger, - Cart cart) + Cart cart, + PayerReference payerReference) { _swedbankPayClient = swedbankPayClient; _logger = logger; _cart = cart; + _payerReference = payerReference; } @@ -106,7 +109,7 @@ private async Task GetViewModel() try { - var tokenResponse = await _swedbankPayClient.PaymentOrders.GetOwnedTokens("AB1234"); + var tokenResponse = await _swedbankPayClient.PaymentOrders.GetOwnedTokens(_payerReference.Id); viewModel.Id = tokenResponse?.Id; viewModel.PayerReference = tokenResponse?.PayerReference; viewModel.Tokens = tokenResponse?.Tokens; diff --git a/src/Samples/Sample.AspNetCore/PayerReference.cs b/src/Samples/Sample.AspNetCore/PayerReference.cs new file mode 100644 index 0000000000..11b1e099a0 --- /dev/null +++ b/src/Samples/Sample.AspNetCore/PayerReference.cs @@ -0,0 +1,14 @@ +using System; + +namespace Sample.AspNetCore; + +public class PayerReference +{ + public PayerReference() + { + Id = Guid.NewGuid().ToString().Replace("-", ""); + } + + public string Id { get; } + +} \ No newline at end of file diff --git a/src/Samples/Sample.AspNetCore/Startup.cs b/src/Samples/Sample.AspNetCore/Startup.cs index d85d6f3648..de785e889a 100644 --- a/src/Samples/Sample.AspNetCore/Startup.cs +++ b/src/Samples/Sample.AspNetCore/Startup.cs @@ -80,6 +80,9 @@ public void ConfigureServices(IServiceCollection services) services.Configure(Configuration.GetSection("Urls")); services.AddScoped(provider => SessionCart.GetCart(provider)); + + services.AddSingleton(); + services.AddTransient(); services.AddSwedbankPayClient(swedBankPayOptions.ApiBaseUrl, swedBankPayOptions.Token); services.AddSession();