Activities of "hinairusu"

This is the http.api log output for the request I'm making:

Code for the calls: (this snip was from my test domain where I tried it externally visible incase it's a routing issue. Localhost I'm testing using the stripe CLI to intercept the responses - No difference in result between the two.) The second call is hitting the stripe API, the first is not. And still no redirect to pay.

Okay, so after updating to 7.4.0 and a lot of messing around, I can get it to hit the stripe API. But It uses none of the methods you have provided in your documentation. I can hit the API if I call var foobar = new PaymentRequestStartDto() { CancelUrl = "https://testurl.co.uk", PaymentRequestId = paymentRequest.Id, ReturnUrl = "https://testurl.com/Payment/GatewaySelection?paymentRequestId=" + paymentRequest.Id }; _paymentRequestAppService.StartAsync("Stripe", foobar);

which will give me a

I still do not get the choice of payment gateways for my single option, and nothing redirects to the payment page. According to the stripe logs, I should be getting a JSON back with a checkout URL, but that's not hitting my system at all.

if I do not call the StartAsync() method, it does not hit stripe.

Hi,

Why is Paypal not listed as an option.

https://docs.abp.io/en/commercial/latest/modules/payment#subscriptions Subscription logic supports only Stripe for now. So, this payment plans are for subscription logic. If you configured your Secret Keys in appsettings.json you can make payments on your application by following Creating One-Time Payment documentation.

Why is it not letting me set a second Gateway Plan

It seems the error doesn't explain well, We'll update the error. But the reason is, you can add gateway plan per a gateway, you can't add 2 different plan from a gateway. Otherwise the subscription logic can't know which one is used while getting paid.

According to the docs, I set up a subscription by handing in a GUID to the PlanId property on PaymentRequestProductCreateDto. How exactly do I get this GUID code side, when the plans are not hard coded? (Your sample lists DemoAppData.Plan_2_Id, which seems to come from nowhere)

You should get a PaymentPlanId from the database and pass it as parameter, it'll automatically use the ExternalSubscriptionId from it. So the External Subscription Id should be a Price Id or Product Id from Stripe

Using that logic, I replaced my payment with the following: PaymentRequest.Products.Add(new PaymentRequestProductCreateDto() { Code = "OneTimePayment", Name = "Test Payment", Count = 1, UnitPrice = float.Parse(OneTimePrice.ToString()), TotalPrice = float.Parse(OneTimePrice.ToString()) });

So it should then allow for other gateways as it is no longer a subscription. I am expecting to see this page: However that does not appear, I have no option of selecting my payment gateway, and the status is hung on waiting. The page also isn't redirecting anywhere, but I suspect thats because its not hitting the above payment gateway.

If the idea is you set up one gateway plan per gateway, why is your UI a list for more to be included. That seems really poor design as that isn't clear at all.

Fetching the ID from the DB I can do (as soon as I figure out what the correct call to fetch that is and what permissions I have to give to my users to be able to access it). I'll go test that side now and update this once I have more there,

For more details on #3, this is the line I'm using for my product setup similar to the docs)

and while I'm getting a sucess on my Payment Requests tab:

It's not actually calling out or doing anything.

It feels like something is broken with the payment module I can't see, or there is a config that's missing to click it all in to place.

Haviong checked the logs for the HttpApi.Host, I get the below:

[21:13:58 WRN] Savepoints are disabled because Multiple Active Result Sets (MARS) is enabled. If 'SaveChanges' fails, then the transaction cannot be automatically rolled back to a known clean state. Instead, the transaction should be rolled back by the application before retrying 'SaveChanges'. See https://go.microsoft.com/fwlink/?linkid=2149338 for more information and examples. To identify the code which triggers this warning, call 'ConfigureWarnings(w => w.Throw(SqlServerEventId.SavepointsDisabledBecauseOfMARS))'. [21:13:58 ERR] Failed executing DbCommand (3ms) [Parameters=[@p0='?' (Size = 450), @p1='?' (DbType = Guid), @p2='?' (Size = 4000), @p3='?' (Size = 4000)], CommandType='Text', CommandTimeout='30'] SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [PayGatewayPlans] ([Gateway], [PlanId], [ExternalId], [ExtraProperties]) VALUES (@p0, @p1, @p2, @p3); [21:13:58 ERR] An exception occurred in the database while saving changes for context type 'Volo.Payment.EntityFrameworkCore.PaymentDbContext'. Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_PayGatewayPlans'. Cannot insert duplicate key in object 'dbo.PayGatewayPlans'. The duplicate key value is (2e60ddf8-ea28-c3f2-3bcb-3a0e18803a3e, stripe). The statement has been terminated. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__208_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) ClientConnectionId:b1dce277-c7a9-44f2-8757-e7c6cf5ae230 Error Number:2627,State:1,Class:14 --- End of inner exception stack trace --- at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Update.Internal.SqlServerModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList1 entriesToSave, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken)Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_PayGatewayPlans'. Cannot insert duplicate key in object 'dbo.PayGatewayPlans'. The duplicate key value is (2e60ddf8-ea28-c3f2-3bcb-3a0e18803a3e, stripe). The statement has been terminated. at Microsoft.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__208_0(Task1 result) at System.Threading.Tasks.ContinuationResultTaskFromResultTask2.InnerInvoke() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) ClientConnectionId:b1dce277-c7a9-44f2-8757-e7c6cf5ae230 Error Number:2627,State:1,Class:14 --- End of inner exception stack trace --- at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Update.Internal.SqlServerModificationCommandBatch.ExecuteAsync(IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Update.Internal.BatchExecutor.ExecuteAsync(IEnumerable1 commandBatches, IRelationalConnection connection, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(IList1 entriesToSave, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChangesAsync(StateManager stateManager, Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func4 operation, Func4 verifySucceeded, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Volo.Abp.EntityFrameworkCore.AbpDbContext`1.SaveChangesAsync(Boolean acceptAllChangesOnSuccess, CancellationToken cancellationToken) at Volo.Abp.Uow.UnitOfWork.SaveChangesAsync(CancellationToken cancellationToken) at Volo.Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.SaveChangesAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager) at Volo.Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.SaveChangesAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager) at Volo.Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.

[21:13:58 ERR] An error occurred while saving the entity changes. See the inner exception for details. Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_PayGatewayPlans'. Cannot insert duplicate key in object 'dbo.PayGatewayPlans'. The duplicate key value is (2e60ddf8-ea28-c3f2-3bcb-3a0e18803a3e, stripe). The statement has been terminated. at Microsoft.Data.SqlClient.SqlCommand.<>c.

Which would indicate that we can't have multiple External Ids?

The Docs however state:

So, Multiple products? Multiple plans? Do we need to configure a plan and a gateway for each seperate product?

Hi Team.

I have a blazor server Tiered setup, running v7.3.3. (Updated to v7.4.0 as part of trying to resolve this) I have installed the Payment module as per the page https://docs.abp.io/en/commercial/latest/modules/payment using ABP Suite. I have configured my appsettings to look like the following for local testing (I've included all the gateway options in case we wanted to set up the others):

{
  "App": {
    "SelfUrl": "https://localhost:44312",
    "DisablePII": "false"
  },
  "RemoteServices": {
    "Default": {
      "BaseUrl": "https://localhost:44325/"
    },
    "AbpAccountPublic": {
      "BaseUrl": "https://localhost:44391/"
    }
  },
  "Redis": {
    "Configuration": "127.0.0.1"
  },
  "AuthServer": {
    "Authority": "https://localhost:44391",
    "RequireHttpsMetadata": "true",
    "ClientId": "TheDragonsHoard_BlazorServerTiered",
    "ClientSecret": "1q2w3e*"
  },
  "StringEncryption": {
    "DefaultPassPhrase": "WibblyWobblyTestyWestyNumber1"
  },
  "Payment": {
    "PaymentWebOptions": {
      "CallbackUrl": "https://localhost:44312/PaymentConfirmation",
      "RootUrl": "",
      "GatewaySelectionCheckoutButtonStyle": "",
      "Gateways": {
        "Stripe": {
          "Name": "Stripe",
          "PrePaymentUrl": "/Subscribe",
          "PostPaymentUrl": "/PaymentConfirmation",
          "Order": "1",
          "Recommended": true,
          "ExtraInfos": [ "Test 1" ]
        },
        "Paypal": {
          "Name": "Paypal",
          "PrePaymentUrl": "/Subscribe",
          "PostPaymentUrl": "/PaymentConfirmation",
          "Order": "2",
          "Recommended": false,
          "ExtraInfos": [ "Test 2" ]
        }
      }
    },
    "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": "KEY",
      "SecretKey": "SECRET",
      "WebhookSecret":  "MY SECRET", 
      "PaymentMethodTypes": [ "alipay" ]
    },
    "Iyzico": {
      "ApiKey": "API_KEY",
      "SecretKey": "SECRET_KEY",
      "BaseUrl": "https://sandbox-api.iyzipay.com",
      "Locale": "en",
      "Currency": "USD"
    }
  }

I am aware that these values need subbing out for the actual used values, and in the case of Stripe I have got my secrets present for testing. My Depends on has the following listed in the modules: However: when I try setting up a new gateway: And after checking the console:

I assume that there only being stripe is why I don't see a Payment Gateway Selection popup when I try processing a payment.

What I need to solve:

  1. Why is Paypal not listed as an option.
  2. Why is it not letting me set a second Gateway Plan
  3. According to the docs, I set up a subscription by handing in a GUID to the PlanId property on PaymentRequestProductCreateDto. How exactly do I get this GUID code side, when the plans are not hard coded? (Your sample lists DemoAppData.Plan_2_Id, which seems to come from nowhere)

At this point I'm happy to share my solution, logs, or anything else you need. I've spent months trying to get this payment gateway up and running, and I'm running out of hope it'll ever actually work.

Last bug on my list for now, When you update a project from 7.3.2 to 7.3.3 via ABP Suite, it updates the Lepton theme to the preview build (3. instead of 2.3.3), which breaks it. (along with a few other packages, but this is the big one)

Not an issue if you manually downgrade from prereleases to stables it works fine, but the automatic process is supposed to stop this manual requirement :D

Documentation / UI Bug

CMS Kit, after install the UI looks nothing like before, and widgets no longer load. Many options are now also missing from the interface

Widgets:

Bug since upgrading from 7.2 to 7.3, whenever we deploy to K8s the authorisation for a tiered blazor application fails. Looks like the HTTPS is being stripped out, but the helm charts used are exactly the same as they were in 7.2. Could be a local environment issue, but I don't understand why it would have changed from a version flip.

Not sure if this is a bug or something but I can't for the life of me find where I can change the text ("ProjectName") here. Logo I know how to change.

It does not appear to use AppName or anything else I've found in the code?       
      
public class TodoManagerBrandingProvider : DefaultBrandingProvider      
{      
    public override string AppName => "My new name here";      
}      

Anyone still alive in here?

hi, this is not a bug! To get help on this customization question, you can create a new ticket.
this topic is only for bugs

If this is declared as not a bug, but trying the obvious doesn't' work, then it's a bug. Provide the work-around or fix the problem, please. Thanks ABP team. I know you are better than this smug reply to a real problem. Creating a ticket only to get a refund for not fixing what should work by design? Even the base class defaultbrandingprovider has these properties to override. Additionally, overriding in global css shouldn't have to be the solution when the defaultbrandingprovider exposes light logo dark logo and AppName

Agreed. The provided answer so far seems more like "we don't know why it isn't working but we have bigger problems to focus on right now". This remains an unresolved bug until a solution is provided or instructions on how to do it. Thanks.

Apparently, that name is now hardcoded into the image which is also why changes to the AppName don't have any effect (as it used to have from what I can remember).

https://github.com/abpframework/abp/issues/17601

Adding in my +1 on this. The only way I've found to fix it is to update the css directly. Even more so if you want to change the branding on the auth server pages, as that's also not updating via the branding provider.

Showing 31 to 40 of 86 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13