Activities of "willignicolas@gmail.com"

  • ABP Framework version: v5.0.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Hi,

We are experiencing three issues in our payment processes with stripe.

The first :

When you make a subscription everything goes well, the Payment/GatewaySelection page redirects to Payment/Stripe/PrePayment but this last page does not redirect to the stripe payment page. No errors in the logs. We can retrieve payment url from stripe logs and make payment however.

The second :

When we cancel a subscription the webhook customer.subscription.deleted is well marked as successful in the stripe logs, and we see it passed without error in the abp logs. However, there is no impact on the current edition of the tenant. We were expecting to have null as the editionid on the tenant to protect ourselves in the event that a customer no longer pays for their subscription.

The third :

Still in the webhook part we systematically notice the webhook checkout.session.completed in error in the stripe logs, we do not know the effects of this problem. On the abp logs side we see an exception:

2022-01-16 13:44:05.299 +00:00 [INF] Request starting HTTP/1.1 POST http://*******/payment/stripe/webhook application/json;+charset=utf-8 2186
2022-01-16 13:44:05.337 +00:00 [INF] Executing endpoint 'Volo.Payment.Stripe.StripeWebHookController.Webhook (Volo.Payment.Stripe.HttpApi)'
2022-01-16 13:44:05.339 +00:00 [INF] Route matched with {action = "Webhook", controller = "StripeWebHook", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Webhook() on controller Volo.Payment.Stripe.StripeWebHookController (Volo.Payment.Stripe.HttpApi).
2022-01-16 13:44:05.339 +00:00 [INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy
2022-01-16 13:44:05.787 +00:00 [INF] Executed action Volo.Payment.Stripe.StripeWebHookController.Webhook (Volo.Payment.Stripe.HttpApi) in 447.6455ms
2022-01-16 13:44:05.787 +00:00 [INF] Executed endpoint 'Volo.Payment.Stripe.StripeWebHookController.Webhook (Volo.Payment.Stripe.HttpApi)'
2022-01-16 13:44:06.866 +00:00 [ERR] An unhandled exception has occurred while executing the request.
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: The best overloaded method match for 'Volo.Payment.Requests.IPaymentRequestAppService.SetCurrencyAsync(Volo.Payment.Requests.SetPaymentRequestCurrencyDto)' has some invalid arguments
   at CallSite.Target(Closure , CallSite , IPaymentRequestAppService , Object )
   at Volo.Payment.Stripe.StripeWebHookController.kHxFUx2kvD(Event stripeEvent)
   at Volo.Payment.Stripe.StripeWebHookController.Webhook()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ExceptionContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Volo.Abp.AspNetCore.Serilog.AbpSerilogMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at IdentityServer4.Hosting.IdentityServerMiddleware.Invoke(HttpContext context, IEndpointRouter router, IUserSession session, IEventService events, IBackChannelLogoutService backChannelLogoutService)
   at IdentityServer4.Hosting.MutualTlsEndpointMiddleware.Invoke(HttpContext context, IAuthenticationSchemeProvider schemes)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext context)
   at Volo.Abp.AspNetCore.Uow.AbpUnitOfWorkMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Volo.Abp.AspNetCore.MultiTenancy.MultiTenancyMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Builder.ApplicationBuilderAbpJwtTokenMiddlewareExtension.<>c__DisplayClass0_0.<<UseJwtTokenMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
   at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

Thank you in advance for your help.

  • ABP Framework version: v4.3.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Hello,

We want to show a popup to users only one time for a user session so we go for user claims.

We make a ClaimsPrincipalContributor and the creation process of the new claim work perfectly.

We have a applicationservice's method to get the claim value from icurrentuser or currentprincipalaccessor to know if we must or not show the popup.

Our read method use : _currentPrincipalAccessor.Principal.Identities.First().FindFirst(ClaimsConst.WelcomePopupShowedClaimName);

But when it is time to update the value of the claim when the popup has been displayed to the user we fail to get good results despite our many attempts.

For exemple if we do this code the claim seems to update but on the read method the claim still have "false" value

var claimsIdentity = _currentPrincipalAccessor.Principal.Identities.First();

claimsIdentity.AddOrReplace(new Claim(ClaimsConst.WelcomePopupShowedClaimName, "true"));

await _httpContextAccessor.HttpContext.SignOutAsync();
await _httpContextAccessor.HttpContext.SignInAsync(_currentPrincipalAccessor.Principal);

And so here is our question: How to update an existing user claim (on the call of a applicationservice's method) when the user is connected ?

Thanks for you help.

Nicolas

  • ABP Framework version: v4.2.2
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no

Hello,

We would like to be able to translate into French the many default strings of the different modules that are not yet translated.

We looked in the documentation, it is explained how to translate via the "Language Text" tool but this one does not allow to put a default value and allows to translate only for a tenant.

We would like to be able to translate strings and that these strings be used in the host, existing tenants and new tenants.

What is the procedure for this?

Thank you in advance.

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

  • ABP Framework version: v4.0.0
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Seperated (Angular): no
  1. I want to have a navigation property that is mandatory but I don't see any option on abp suite to specify it.

I can do it manually by delete the "?" (nullable) on the generate navigation property and pass this property in generate constructor but if I update my entity after the modification (to add another property) the navigation property is not nullable any more and is not present in the constructor.

  1. In the same subject if I add manually a navigation object property (Shopfloor) in addition of my navigation id property (ShopfloorId) on my entity when I make an update on abp suite this navigation object is deleted.

You can see the 2 problems on this screen:

Thanks for your help. Nicolas.

Showing 1 to 4 of 4 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11