Webhook operations such as your second & third operations will be solved in your situation.
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.
Payment redirection is made with javascript after the page is loaded. If you don't see any error on console, redirection should be done after a while
We've discovered an issue on our side. We'll release a patch version for it.
Also your credit is refunded.
Hi @willignicolas@gmail.com
Can you find the payload of webhook request from Stripe dashboard?
The error says there are has some invalid arguments. If you can share the payload, we can investigate which one is it.
Hi @christophe.baille
You can't use Volo.Payment.Web and Volo.Payment.Stripe.Web packages inside your Blazor WebAssembly. Web layers are only compatible with Blazor Server.
Thank you for your answer, I'll plan to publish an article about making payments in Blazor UI.
Blazor Server works hybrid. it includes MVC endpoints too. If you redirect to /GatewaySelection?paymentRequestId=THE_ID_OF_PAYMENTREQUEST after creating a PaymentRequest, an MVC page will handle and a page will be shown for payment provider selection.
Before doing that, make sure your project has reference to Volo.Payment.Web and Volo.Payment.Stripe.Web.
If you include Web layers in a Blazor project, it will switch to razor pages when required.
Please use forceLoad while redirecting with NavigationManager:
NavigationManager.NavigateTo("/GatewaySelection?paymentRequestId=X", forceLoad: true);
You can see an already built example form identity module: https://github.com/abpframework/abp/blob/afc99acdb94aff74ed4745a6f3910f99c3f2119b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/UserManagement.razor#L22-L30
And columns were configured like this: https://github.com/abpframework/abp/blob/afc99acdb94aff74ed4745a6f3910f99c3f2119b/modules/identity/src/Volo.Abp.Identity.Blazor/Pages/Identity/RoleManagement.razor.cs#L78-L92
We'll work on those endpoints in the next milestone. It'll be compatible with distributed systems and tiered solutions.
You can review how we do in eShopOnAbp. All logic will work on HttpApi instead of Web layer
Can you check if Account Pro module is updated too or any dependency which depends on account module is updated?
For now, you can include AbpPaymentApplicationModule in your Web project as a workaround until we'll release an update for it
Yes, it's an MVC Tiered solution, however your suggestion did not resolve the issue. Can you please explain how the payment application service can be called directly from the web projects code?
What I find a little odd is in you Volo.Payment.Application source you have 3 App Services defined for the Payment Module as shown below.
However in the Volo.Payment.HttpAPI source there is a Gateway and Plan controller that essentially call the application services as shown above but you don't have a 'PaymentRequestController' in the HttpAPI project as shown below.
Why is that?
Hi @Spospisil Payment operations are done by directly Web project for some security reasons. But in that case, you're right. It seems PaymentRequestController is missing. If we provide endpoints for that AppService, there will be a security problem. Because all complete or endpoints that perform update operations on PaymentReuqest will be accessible publicly. We'll
work on this in the next version.
Also your credit is refunded