EncoreBilisim.Eps
1.6.1
See the version list below for details.
dotnet add package EncoreBilisim.Eps --version 1.6.1
NuGet\Install-Package EncoreBilisim.Eps -Version 1.6.1
<PackageReference Include="EncoreBilisim.Eps" Version="1.6.1" />
paket add EncoreBilisim.Eps --version 1.6.1
#r "nuget: EncoreBilisim.Eps, 1.6.1"
// Install EncoreBilisim.Eps as a Cake Addin #addin nuget:?package=EncoreBilisim.Eps&version=1.6.1 // Install EncoreBilisim.Eps as a Cake Tool #tool nuget:?package=EncoreBilisim.Eps&version=1.6.1
Encore Eps Library
Encore Bilisim yazılımları için ortak Eps ( Ödeme ) kütüphanesi
Nuget paketi:
dotnet add package EncoreBilisim.Eps
Paketin projeye eklenmesi
Eps Event Provider
Kütüphaneyi kullanmak için öncelkle EPS'den gelecek bilgi isteklerini karşılayacak bir EpsEventProvider
classı yaratmak gerekiyor.
Bu class eps den gelen bildirimleri ( kartı okutun, bankaya bağlanıyor. vs ) kullanıcıya göstermeli, ve kullanıcıdan alınması gereken bilgileri alabilmelidir
( kullanılacak puan tutarı, OTP vs. )
Basit bir Console Provider
örneği:
using Encore.Eps;
using Encore.Eps.Models.EpsNotification;
namespace EpsTest
{
internal class ConsoleEventProvider : IEpsEventProvider
{
public Task NotifyMessage(EpsNotifyDataRequest request)
{
Console.WriteLine(request.Message);
return Task.CompletedTask;
}
public Task<EpsPromptDataResult> PromptData(EpsPromptDataRequest request)
{
Console.WriteLine(request.Title + request.Data );
if(request.Points != null) {
foreach(var point in request.Points)
{
Console.WriteLine($"{point.Definition} : {point.Amount}");
}
}
EpsPromptDataResult result = new()
{
Data = Console.ReadLine()
};
return Task.FromResult(result);
}
}
}
Builder Class ile EpsManager oluşturma
Eps işlemleri için öncellikle EpsBuilder kullanılarak bir EPS Manager oluşturulur.
EpsBuiilder
ile Create
metodu kullanılarak önce EventProvider tanımlanır.
EpsBuilder.Create(epsEventProvider);
Sonrasında Log classs ı eklemek için
EpsBuilder.Create(eventProvider:epsEventProvider)
.WithLogger(NullLogger.Instance);
Daha Sonra herhangi bir IEpsProvider
interface ini implemente eden bir provider eklenebilir.
IEpsProvider
interface tanımı:
public interface IEpsProvider
{ string ProviderId { get; }
Task<PayResponse> Pay(PayRequest payRequest, CancellationToken cancellationToken = default);
}
Örnek bir provider şu şekilde eklenir:
IEpsProvider walletProvider = new EWalletProvider();
EpsBuilder.Create(eventProvider:epsEventProvider)
.WithLogger(NullLogger.Instance)
.WithProvider(walletProvider);
Son olarak Build()
metodu ile EpsManager yaratılır
IEpsManager eps = EpsBuilder.Create(eventProvider:epsEventProvider)
.WithLogger(NullLogger.Instance)
.WithProvider(walletProvider)
.Build();
Microsoft Dependency Injection ile EpsManager oluşturma
IServiceCollection
extention metodu kullanılarak service collectiona eps manager eklenir
services.AddEpsService(Configuration,epsEventProvider);
Providerlar
Chippin Provider
Nuget paketi:
dotnet add package EncoreBilisim.Eps.Chippin
Chippin eklentisi ile birlikte aşağıdaki şekilde chippin kullanımı eklenebilir <br>
EncoreBilisim.Eps.Chippin
<br>
Chippin Provider ının provider id si "chippin"
dir.
Builder
.WithChippin(c =>
{
c.Url = "https://test.chippin.com/services/api/";
c.Credentials = new()
{
UserName ="encore_ws",
HashedPassword = "C9E4EEA24AFF6F7E45B34F01BB1A8742"
};
})
Dependency Injection
services.AddChippin(Configuration);
appsettings.json dosyasına ise şu şekilde konfigurasyon yapılmalıdır:
"Chippin": {
"StatusPeriod": 1,
"Timeout": 90,
"Url": "https://test.chippin.com/services/api/",
"Credentials": {
"UserName": "encore_ws",
"HashedPassword": "C9E4EEA24AFF6F7E45B34F01BB1A8742"
}
}
Ingenico EftPos Provider
Ingenico için ve diğer eftpos cihazları için EncoreBilisim.Eft.Device
paketi kullanılır. <br>
Bu paket Eps içinde builtin olarak vardır. Ayrı bir pakete gerek yoktur.
EftPos providerı tanımlanır ve içersine bir ingenico device eklenir. Her device için bir PosId
değeri verilir.
Bu değer eftpos provider çağırılırken kullanılmak istenen pos chazını gösterir.
Genel EftPos providerının provider id si "ortakpos"
dur.
Builder
PosSettings ingenicoSettings = new();
ingenicoSettings.IngenicoInterface.connection.szIP = "192.168.88.57";
ingenicoSettings.IngenicoInterface.connection.Port = 7500;
ingenicoSettings.IngenicoInterface.connection.IsTcpConnection = 1;
ingenicoSettings.IngenicoInterface.DefaultBankId = 10;
.WithEftPos(c => c.AddDevice(posId:1, IngenicoPos.Create(ingenicoSettings)))
Dependency Injection
Her hangi bir eklentiye gerek yoktur. Eps servisi ile otomatik eklenir
appsettings.json dosyasına ise şu şekilde konfigurasyon yapılmalıdır:
"IngenicoDevices": [
{
"PosId": 1,
"Settings": {
"IngenicoInterface": {
"connection": {
"szIP": "192.168.88.57",
"Port": "7500",
"IsTcpConnection": 1
},
"info": {
"ImpProDllLogPath": "c:\\Encore\\Log\\Eps"
},
"DefaultBankId": 62
}
}
}
],
Ödeme Alma
Providerlar tanımlandıktan sonra, artık Eps ödemeleri alınabilir.
İstek yapılırken PayRequest
içersindeki ProviderId
alanı doldurularak ilgili providerın ödemeyi alması sağlanır.
var payResponse = await eps.Pay(new PayRequest()
{
Amount = 1.3M,
Id = Guid.NewGuid().ToString(),
ProviderId = "ortakpos",
PosId = 1,
});
Yukarıdaki örnekte ortak pos providerı kullanılarak 1 numaralı pos cihazından 1.30 ₺ ödeme onayı alınacaktır
Not:Ödeme işlemi sırasında IEpsEventProvider
kullanılarak bilgilendirme mesajları gönderilebilir, veya kullanıcıdan bilgi girişi istenebilir.
Fakat işlem sonunda cevap olarak PayResponse
dönecektir
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net7.0
- EncoreBilisim.Eft.Device (>= 1.5.9)
- Microsoft.Extensions.Configuration (>= 7.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 7.0.4)
- Microsoft.Extensions.Logging (>= 7.0.0)
- Microsoft.Extensions.Logging.Console (>= 7.0.0)
- System.Data.SQLite (>= 1.0.118)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on EncoreBilisim.Eps:
Package | Downloads |
---|---|
EncoreBilisim.Eps.Edenred
Package Description |
|
EncoreBilisim.Eps.ComPay
Package Description |
|
EncoreBilisim.Eps.Chippin
Chipppin extention for Encore Eps Module |
|
EncoreBilisim.Eps.Setcard
Package Description |
|
EncoreBilisim.Eps.IWallet
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.11.5 | 191 | 5/12/2023 |
1.7.2 | 32 | 11/8/2024 |
1.7.1 | 108 | 10/30/2024 |
1.7.0 | 70 | 10/30/2024 |
1.6.10 | 130 | 10/18/2024 |
1.6.9 | 81 | 10/10/2024 |
1.6.8 | 150 | 9/6/2024 |
1.6.7 | 119 | 8/16/2024 |
1.6.6 | 130 | 8/16/2024 |
1.6.5 | 261 | 8/1/2024 |
1.6.4 | 142 | 7/24/2024 |
1.6.3 | 96 | 7/22/2024 |
1.6.2 | 158 | 6/24/2024 |
1.6.1 | 124 | 4/16/2024 |
1.6.0 | 322 | 4/3/2024 |
1.5.9 | 128 | 3/21/2024 |
1.5.8 | 125 | 3/18/2024 |
1.5.7 | 122 | 3/14/2024 |
1.5.6 | 119 | 3/14/2024 |
1.5.5 | 121 | 3/12/2024 |
1.5.4 | 118 | 3/12/2024 |
1.5.3 | 116 | 3/12/2024 |
1.5.2 | 107 | 3/8/2024 |
1.5.1 | 134 | 3/7/2024 |
1.5.0 | 124 | 3/6/2024 |
1.4.6 | 136 | 2/27/2024 |
1.4.5 | 129 | 1/18/2024 |
1.4.3 | 129 | 12/29/2023 |
1.4.2 | 155 | 12/15/2023 |
1.4.1 | 120 | 12/15/2023 |
1.4.0 | 176 | 12/14/2023 |
1.3.3 | 122 | 12/1/2023 |
1.3.2 | 139 | 11/21/2023 |
1.3.1 | 127 | 11/8/2023 |
1.3.0 | 116 | 11/3/2023 |
1.1.1 | 163 | 8/15/2023 |
1.1.0 | 153 | 8/15/2023 |
1.0.0 | 202 | 7/27/2023 |