Closed ShahramNo closed 1 year ago
درود لطفاً کدهای تنظیمات رو اینجا قرار بدید.
`
builder.Services.AddParbad()
.ConfigureGateways(gateways =>
{
gateways
.AddMellat()
.WithAccounts(source => source.Add<GatewaysAccounts>(ServiceLifetime.Transient));
gateways
.AddParsian()
.WithAccounts(source => source.Add<GatewaysAccounts>(ServiceLifetime.Transient));
gateways.AddPasargad()
.WithAccounts(source => source.Add<GatewaysAccounts>(ServiceLifetime.Transient));
gateways.AddSaman()
.WithAccounts(source => source.Add<GatewaysAccounts>(ServiceLifetime.Transient));
gateways
.AddZarinPal()
.WithAccounts(source => source.Add<GatewaysAccounts>(ServiceLifetime.Transient));
gateways
.AddParbadVirtual()
.WithOptions(option => option.GatewayPath = "/MyVirtualGateway");
})
.ConfigureHttpContext(httpContextBuilder => httpContextBuilder.UseDefaultAspNetCore())
.ConfigureStorage(builder => builder.UseMemoryCache())
.ConfigureOptions(options =>
{
options.EnableLogging = true;
})
.ConfigureAutoIncrementTrackingNumber(options =>
{
options.MinimumValue = 1000;
options.Increment = 1;
})
.ConfigureStorage(storageBuilder => storageBuilder.UseEfCore(options =>
{
string connectionString = builder.Configuration.GetConnectionString(name: "Web");
var migrationsAssemblyName = typeof(BranchConfig).Assembly.GetName().Name;
options.ConfigureDbContext = db => db.UseSqlServer(connectionString, sql =>
{
sql.MigrationsAssembly(migrationsAssemblyName);
sql.MigrationsHistoryTable("ParbadMigration");
});
options.DefaultSchema = "parbad";
options.PaymentTableOptions.Name = "Payments";
options.PaymentTableOptions.Schema = "parbad";
options.TransactionTableOptions.Name = "Transactions";
options.TransactionTableOptions.Schema = "parbad";
}));
`
`public async Task AddAccountsAsync(IGatewayAccountCollection<MellatGatewayAccount> accounts)
{
var payment = await _businessService.GetPaymentMethods(CancellationToken.None);
var info = await _businessService.GetCurrentBusinessInfoForFront(CancellationToken.None);
accounts.Add(new MellatGatewayAccount()
{
Name = info.Name,
UserName = payment.BehPardakhtGateway.UserName,
UserPassword = payment.BehPardakhtGateway.Password,
TerminalId = payment.BehPardakhtGateway.TerminalId.Value
});
}`
جناب مهندس من روی صفحه pay چندین بار رفرش زدم و چندین بار ارور داد . ولی بلخره وارد شد . ایرادشو نمیدونم این هم لاگ گرفتم که مشخصه:
2023-07-20 00:42:41.7627|ERROR|Shop.Web.Controllers.PaymentController|An error occurred: The tracking number already exists in database. Use a unique one for each requests.| 2023-07-20 00:42:47.5737|ERROR|Shop.Web.Controllers.PaymentController|An error occurred: The tracking number already exists in database. Use a unique one for each requests.| 2023-07-20 00:42:50.3596|ERROR|Shop.Web.Controllers.PaymentController|An error occurred: The tracking number already exists in database. Use a unique one for each requests.| 2023-07-20 00:42:52.6011|info|Shop.Web.Controllers.PaymentController|TransportToGateway: True| 2023-07-20 00:43:46.0489|ERROR|Microsoft.EntityFrameworkCore.Database.Connection|An error occurred using the connection to database 'zzzzz_DB' on server '.'.|database=zzzzz_DB, server=., EventId=20004, EventName=Microsoft.EntityFrameworkCore.Database.Connection.ConnectionError 2023-07-20 00:44:25.1043|info|Shop.Web.Controllers.PaymentController|TransportToGateway: True|
کدهای تنظیمات درست به نظر میرسه. البته شما ۲ بار متد تنظیم مخزن داده رو صدا زدین. یکبار برای مموری کش و بار دوم برای پایگاه داده. مموری کش رو حذف کنید و دوباره تست کنید ببینید مشکل رفع میشه یا خیر.
ممنونم از پاسختون . بله مشکل از همین جا بود .
با سلام . من بادرگاه بانک ملت این خطارو دارم. Parbad.AspNetCore" Version="1.3.0"
The tracking number already exists in database. Use a unique one for each requests