Helix.BankOfGeorgia.IpayClient
1.7.0
dotnet add package Helix.BankOfGeorgia.IpayClient --version 1.7.0
NuGet\Install-Package Helix.BankOfGeorgia.IpayClient -Version 1.7.0
<PackageReference Include="Helix.BankOfGeorgia.IpayClient" Version="1.7.0" />
paket add Helix.BankOfGeorgia.IpayClient --version 1.7.0
#r "nuget: Helix.BankOfGeorgia.IpayClient, 1.7.0"
// Install Helix.BankOfGeorgia.IpayClient as a Cake Addin #addin nuget:?package=Helix.BankOfGeorgia.IpayClient&version=1.7.0 // Install Helix.BankOfGeorgia.IpayClient as a Cake Tool #tool nuget:?package=Helix.BankOfGeorgia.IpayClient&version=1.7.0
Bank of Georgia iPay Card Payments Gateway Client (.NET Library)
Helix.BankOfGeorgia.IpayClient is a .NET client library for using Bank of Georgia iPay Visa, Master Card and Americal Express payments gateway.
Official API reference can be found here:
https://api.bog.ge/docs/en/ipay/introduction
How To Use
See ASP.NET Core integration guide below
Define options
var clientOptions = new BankOfGeorgiaIpayClientOptions()
{
ClientId = "your-ipay-client-id",
SecretKey = "your-ipay-client-secret",
};
Create client
var client = new BankOfGeorgiaIpayClient(clientOptions);
Integrating with ASP.NET Core
To integrate the client with ASP.NET Core dependency injection pipeline, use the following steps:
Add an entry in your appSettings.json file and specify your iPay
ClientId
andSecretKey
):{ //...other options "iPay": { "ClientId": "your-ipay-client-id", "SecretKey": "your-ipay-client-secret", } //...other options }
If you want to play with the DEMO mode, you can use the following configuration parameters:
{ //...other options "iPay": { "ClientId": "1006", "SecretKey": "581ba5eeadd657c8ccddc74c839bd3ad", "BaseUrl": "https://dev.ipay.ge/opay/api/v1" } //...other options }
⚠️ BaseUrl is NOT required for production use. If you leave this parameter empty or remove it completely, the default production URL will be used: https://ipay.ge/opay/api/v1
Call
AddBankOfGeorgiaIpay
inConfigureServices
method ofStartup.cs
and specify the configuration parameter name containing the options array (for this example we called the entryiPay
):services.AddBankOfGeorgiaIpay( Configuration.GetBankOfGeorgiaIpayClientOptions("iPay") );
Make sure you have access to
Configuration
. If you are missing configuration, you can inject it in yourStartup
):public class Startup { public IConfiguration Configuration { get; } public Startup(IConfiguration configuration) { Configuration = configuration; } }
Inject
IBankOfGeorgiaIpayClient
and use in your code:public class HomeController : Controller { private readonly IBankOfGeorgiaIpayClient _iPayClient; public HomeController(IBankOfGeorgiaIpayClient iPayClient) { _iPayClient = iPayClient; } }
Methods
No manual authentication is required. Access token will be requested when needed and when it expires automatically.
MakeOrderAsync
Place an one-time orderThis method encapsulates a /api/v1/checkout/orders endpoint and simplifies the request model.
MakeRecurringOrderAsync
Place an order for a recurring payments without user's interraction. You need to create an initial order to use recurring payments, where the user will enter their credit card details for the Bank to remember. You will need an ID of an existing order to perform additional reocurring orders.
If you don't want to charge the user for the first time and want the Bank to remember the card details for future use, you will still have to create an initial order for the minimum amount of 0.10 GEL and then you refund it.This method encapsulates a /api/v1/checkout/payment/subscription.
MakeRecurringOrderAsync There are two ways the transaction can be processed, called the
capture_method
:
- AUTOMATIC
- MANUAL
See this for more details https://api.bog.ge/docs/en/ipay/create-order
If the transaction was created usingMANUAL
capture method, it needs to be confirmed by calling this method.This method encapsulates a /api/v1/checkout/payment/{order_id}/pre-auth/completion.
RefundAsync Refund the transaction fully or partially
This method encapsulates a /api/v1/checkout/refund.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- JWT (>= 9.0.3)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.Extensions.Configuration.Abstractions (>= 5.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 5.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 5.0.0)
- Microsoft.Extensions.Http (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v1.7.0
- Fixed decimal parsing
v1.6.0
- Fixed an issue with null reference on HTTP request
v1.5.0
- Fixed an issue with null reference on HTTP request
v1.4.0
- Downgrade dependent packaged to .NET 5
v1.3.0
- Method responses not contain the actual request information that is submitted to iPay (RequestURL, RequestMethod, RawRequestPayload)
- Added 'BindProperty' attributed to callback methods to be used in MVC controller action parameters
- Upgrade dependent packaged to .NET 6
v1.2.0
- Added demo endpoint support
v1.1.0
- Cleanups and package reference fixes
v1.0.0
- Hello, world!