Created a new Blazor server app: changed the layout to top menu and I got this:
So same error.
Hi, as I can understand you're using Blazor WebAssembly. And did you updated your bundles after changing layout with abp bundle command?
You can follow those steps If you haven't done: https://docs.abp.io/en/commercial/latest/themes/lepton-x/blazor?UI=Blazor#updating-bundles-on-layout-changes
Sorry for late answer, Unfortunately we couldn't reproduce the problem. Can you please provide us minimum reproduction steps to achieve this?
Did you configured properly according to the documentation: https://docs.abp.io/en/commercial/latest/modules/payment#paymentoptions
You should add at least one of the payment provider as gateway. You can see each payment gateway has different parameters to configure.
You can use your appsettings.json to configure them properly. You can use the following boilerplate from the documentation:
"Payment": {
"Payu": {
"Merchant": "TEST",
"Signature": "SECRET_KEY",
"LanguageCode": "en",
"CurrencyCode": "USD",
"VatRate": "0",
"PriceType": "GROSS",
"Shipping": "0",
"Installment": "1",
"TestOrder": "1",
"Debug": "1"
},
"TwoCheckout": {
"Signature": "SECRET_KEY",
"CheckoutUrl": "https://secure.2checkout.com/order/checkout.php",
"LanguageCode": "en",
"CurrencyCode": "USD",
"TestOrder": "1"
},
"PayPal": {
"ClientId": "CLIENT_ID",
"Secret": "SECRET",
"CurrencyCode": "USD",
"Environment": "Sandbox",
"Locale": "en_US"
},
"Stripe": {
"PublishableKey": "PUBLISHABLE_KEY",
"SecretKey": "SECRET_KEY",
"PaymentMethodTypes": ["alipay"]
},
"Iyzico": {
"ApiKey": "API_KEY",
"SecretKey": "SECRET_KEY",
"BaseUrl": "https://sandbox-api.iyzipay.com",
"Locale": "en",
"Currency": "USD"
},
"Alipay": {
"AppId": "APP_ID",
"GatewayHost": "openapi.alipaydev.com",
"AlipayPublicKey": "ALIPAY_PUBLIC_KEY",
"MerchantPrivateKey": "MERCHANT_PRIVATE_KEY"
}
}
You should redirect a POST method to /Payment/GatewaySelection?paymentRequestId= instead GET. You can submit a form and redirect that request with LocalRedirectPreserveMethod().
The example shows it but it seems it's not clearly described in the documentation, I'll update the documentation according to this issue.
Are you using the latest version of LeptonX?
Also make sure you changed theme package in package.json file
"@volo/abp.aspnetcore.mvc.ui.theme.leptonx": "~2.0.3",
"@volo/aspnetcore.components.server.leptonxtheme": "~2.0.3",
And run abp install-libs command.
Then all the css & javascript files should be updated.
Thanks for reporting those bugs.
Since they're bugs, your credit is refunded
Hi,Issue 2 and Issue 3 are known issues and will be solved in the next version.
I'm creating internal issues for Issue 1 and Issue 4.
Can you please provide which LeptonX version are you using?
Multiple gateways aren't supported by Payment module right now. I'm creating an issue for it into our backlog & we'll develop a feature that allows saving more than one gateway at the same time
When collecting payment by credit card, it is not possible to ask the interface to collect the customer's address. This is problematic for the first invoice. Even if I collect the address later and save it to Stripe, the address is not there because the invoice is not editable.
You can override PrePayment.cshtml file to perform some operations before payment from Volo.Payment.Stripe.Web assembly.
Let me show the file that you can override:
Pages/Payment/Stripe/PrePayment.cshtml
@page
@model Volo.Payment.Stripe.Pages.Payment.Stripe.PrePaymentModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Redirecting</title>
<script src="https://js.stripe.com/v3/"></script>
<script>
// Do something before redirecting to checkout page.
Stripe("@Model.PublishableKey").redirectToCheckout({ sessionId: "@Model.SessionId"});
</script>
</head>
<body>
<p>Redirecting...</p>
<script src="/client-proxies/payment-proxy.js"></script>
</body>
</html>
This page is returned after a POST request, so you can't post any data in this page, but you can add some javascript code before redirection to stripe checkout page.
You can remove <p>Redirecting...</p> part and place a form that asks some information including address and post that form with javascript client proxies, then you can call scripe redirection function. (Stripe("@Model.PublishableKey").redirectToCheckout({ sessionId: "@Model.SessionId"});)
Webhooks work, information is updated in Saas and custom processing takes place on SubscriptionCreatedEto. But the result in Stripe is still 500.
Can you share the 500 result? If something to do on our side, we can make improvements
This doesn't seem related to ABP. It's natural behavior of Blazor https://github.com/dotnet/aspnetcore/issues/41922