Activities of "kirotech"

We already checked that same comment before posting this support request. It is not relevant. It does not look like configuration issue for us.

Could you please check it and fix bug or provide the solution?

Any update?

  • ABP Framework version: v7.0.0
  • UI type: MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Exception message and stack trace:
`2023-01-19 18:38:22.315 +02:00 [INF] Executing endpoint 'Volo.Payment.Requests.PaymentRequestController.HandleWebhookAsync (Volo.Payment.HttpApi)'
2023-01-19 18:38:22.320 +02:00 [INF] Route matched with {area = "payment", action = "HandleWebhook", controller = "PaymentRequest", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[System.Boolean] HandleWebhookAsync(System.String, System.String, System.Collections.Generic.Dictionary`2[System.String,System.String]) on controller Volo.Payment.Requests.PaymentRequestController (Volo.Payment.HttpApi).
2023-01-19 18:38:22.362 +02:00 [ERR] ---------- RemoteServiceErrorInfo ----------
{
  "code": null,
  "message": "An internal error occurred during your request!",
  "details": null,
  "data": {},
  "validationErrors": null
}

2023-01-19 18:38:22.363 +02:00 [ERR] The signature for the webhook is not present in the Stripe-Signature header.
Stripe.StripeException: The signature for the webhook is not present in the Stripe-Signature header.
   at Stripe.EventUtility.ValidateSignature(String json, String stripeSignatureHeader, String secret, Int64 tolerance, Int64 utcNow)
   at Stripe.EventUtility.ConstructEvent(String json, String stripeSignatureHeader, String secret, Int64 tolerance, Int64 utcNow, Boolean throwOnApiVersionMismatch)
   at Stripe.EventUtility.ConstructEvent(String json, String stripeSignatureHeader, String secret, Int64 tolerance, Boolean throwOnApiVersionMismatch)
   at Volo.Payment.Stripe.StripePaymentGateway.HandleWebhookAsync(String payload, Dictionary`2 headers)
   at Volo.Payment.Requests.PaymentRequestAppService.HandleWebhookAsync(String paymentGateway, String payload, Dictionary`2 headers)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
   at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at lambda_method5116(Closure, Object)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, 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()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2023-01-19 18:38:22.372 +02:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
2023-01-19 18:38:22.376 +02:00 [INF] Executed action Volo.Payment.Requests.PaymentRequestController.HandleWebhookAsync (Volo.Payment.HttpApi) in 56.2772ms
2023-01-19 18:38:22.376 +02:00 [INF] Executed endpoint 'Volo.Payment.Requests.PaymentRequestController.HandleWebhookAsync (Volo.Payment.HttpApi)'
2023-01-19 18:38:22.389 +02:00 [DBG] Added 0 entity changes to the current audit log
2023-01-19 18:38:22.390 +02:00 [DBG] Added 0 entity changes to the current audit log
2023-01-19 18:38:22.391 +02:00 [INF] Request finished HTTP/1.1 POST https://localhost:44339/api/payment/stripe/webhook application/json;+charset=utf-8 2759 - 500 - application/json;+charset=utf-8 78.1126ms
2023-01-19 18:38:22.544 +02:00 [DBG] Executing HealthCheck collector HostedService.`
  • Steps to reproduce the issue:"
  • generate new mvc solution using suite
  • install payments module
  • add stripe settings
  • run stripe cli events listen " ./stripe.exe listen --forward-to https://localhost:44339/api/payment/stripe/webhook --events checkout.session.completed --skip-verify --log-level=debug"
  • make a payment and wait for webhook call forward
  • ABP commercial payment webhook api responds with 500 error
    • 2023-01-19 18:38:22.363 +02:00 [ERR] The signature for the webhook is not present in the Stripe-Signature header. Stripe.StripeException: The signature for the webhook is not present in the Stripe-Signature header.

Question Is this a bug or stripe testing cli doesn't work with payments module? Or we do something wrong? Or we have work around for this? We need solution to move forward with stripe payments and this blocks us from progress.

?

Thank you for your help muhammedaltug,

Change post_logout_redirect_uri http://localhost:4200 to http://localhost:4200/logout

Where we supposed to do this exactly?

When we logout abp commercial angular we need to logout RP (Relying party) too.

When we logout RP (Relying party) we need to logout abp commercial angular. As i understand your sample covers this case? After RP logout we redirect to this new angular endpoint? But what about post logout redirect when we logout abp commercial angular?

This way you will not know which account to look at?

You will see payment request was done, but you check your stripe account and there are no funds. How do i know which payment gateway this payment was used to make? Where is this data stored?

Hello,

We didn't modify anything in your commercial abp angular application. We expect it to work as abp designed it.

After that said we expect you to explain why your commercial abp product doesn't respect logout redirect urls.

If you have any documentation explaining how to use your open iddict applications functionality to make your commercial abp angular app respect logout redirects uri config please provide it.

Do you understand?

?

?

Hello, thank you for your response, but this doesn't help because this solution is not full yet.

We have a external relying party which is using abp openiddict application to implement single signon function and it works.

We do not know how to make abp logout our external relying party system together with angular app logout.

We would like to logout our Relying Party (RP) external ecommerce system together with abp angular logout.

Question is. How to configure abp application to make angular logout external oauth relying party too.

We call url https://localhost:44374/connect/logout?post_logout_redirect_uri=https://support.abp.io/&client_id=Angular_App&id_token_hint=access_token

Everything works and we get proper redirect, but angular application is still logged in.

Also looks like angular logout doesn't respect logout redirect uris? Because logout uri redirect is set in the app, but after angular logout we do not get redirect.

Do you understand?

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