Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

Commit

Permalink
Release 3.47.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
IngenicoEPayments committed Feb 14, 2024
1 parent ff720e6 commit 5aba23c
Show file tree
Hide file tree
Showing 109 changed files with 386 additions and 395 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Deploy

on:
push:
tags: ['[0-9]+.[0-9]+*']

env:
SDK_VERSION: ${{ github.ref_name }}

jobs:
deploy:
# Build on Windows 2022 to support .NET Framework 4.5
runs-on: windows-2022
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
2.1
3.1
- name: Build
run: |
dotnet restore connect-sdk-dotnet
dotnet build -c Release connect-sdk-dotnet
dotnet pack -c Release connect-sdk-dotnet
dotnet restore connect-sdk-dotnet.StrongName
dotnet build -c Release connect-sdk-dotnet.StrongName
dotnet pack -c Release connect-sdk-dotnet.StrongName
- name: Deploy
run: |
dotnet nuget push connect-sdk-dotnet/bin/Release/connect-sdk-dotnet.${env:SDK_VERSION}.nupkg --api-key "${env:NUGET_API_KEY}" --source https://api.nuget.org/v3/index.json
dotnet nuget push connect-sdk-dotnet.StrongName/bin/Release/connect-sdk-dotnet.StrongName.${env:SDK_VERSION}.nupkg --api-key "${env:NUGET_API_KEY}" --source https://api.nuget.org/v3/index.json
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Dispute;
using Ingenico.Connect.Sdk.Merchant.Disputes;
using System.IO;

namespace Ingenico.Connect.Sdk.Merchant.Disputes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Payment;
using Ingenico.Connect.Sdk.Merchant.Payments;

namespace Ingenico.Connect.Sdk.Merchant.Payments
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Payout;
using Ingenico.Connect.Sdk.Merchant.Payouts;

namespace Ingenico.Connect.Sdk.Merchant.Payouts
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Productgroups;

namespace Ingenico.Connect.Sdk.Merchant.Productgroups
{
Expand All @@ -20,6 +19,7 @@ public async void Example()
query.Locale = "en_US";
query.Amount = 1000L;
query.IsRecurring = true;
query.IsInstallments = true;
query.AddHide("fields");

PaymentProductGroupResponse response = await client.Merchant("merchantId").Productgroups().Get("cards", query);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Productgroups;

namespace Ingenico.Connect.Sdk.Merchant.Productgroups
{
Expand All @@ -20,6 +19,7 @@ public async void Example()
query.Locale = "en_US";
query.Amount = 1000L;
query.IsRecurring = true;
query.IsInstallments = true;
query.AddHide("fields");

PaymentProductGroups response = await client.Merchant("merchantId").Productgroups().Find(query);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Products;

namespace Ingenico.Connect.Sdk.Merchant.Products
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Products;

namespace Ingenico.Connect.Sdk.Merchant.Products
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Products;

namespace Ingenico.Connect.Sdk.Merchant.Products
{
Expand All @@ -20,6 +19,7 @@ public async void Example()
query.Locale = "en_US";
query.Amount = 1000L;
query.IsRecurring = true;
query.IsInstallments = true;
query.ForceBasicFlow = false;
query.AddHide("fields");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Product;
using Ingenico.Connect.Sdk.Merchant.Products;

namespace Ingenico.Connect.Sdk.Merchant.Products
{
Expand All @@ -20,6 +19,7 @@ public async void Example()
query.Locale = "en_US";
query.Amount = 1000L;
query.IsRecurring = true;
query.IsInstallments = true;
query.AddHide("fields");

PaymentProducts response = await client.Merchant("merchantId").Products().Find(query);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Refund;
using Ingenico.Connect.Sdk.Merchant.Refunds;

namespace Ingenico.Connect.Sdk.Merchant.Refunds
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Services;
using Ingenico.Connect.Sdk.Merchant.Services;

namespace Ingenico.Connect.Sdk.Merchant.Services
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Domain.Services;
using Ingenico.Connect.Sdk.Merchant.Services;

namespace Ingenico.Connect.Sdk.Merchant.Services
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
* This class was auto-generated from the API references found at
* https://epayments-api.developer-ingenico.com/
*/
using Ingenico.Connect.Sdk.Merchant.Tokens;

namespace Ingenico.Connect.Sdk.Merchant.Tokens
{
public class DeleteTokenExample
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFrameworks>net45;netstandard2.0;netstandard2.1</TargetFrameworks>
<RootNamespace>Ingenico.Connect.Sdk</RootNamespace>
<AssemblyVersion>3.46.0</AssemblyVersion>
<Version>3.46.0</Version>
<AssemblyVersion>3.47.0</AssemblyVersion>
<Version>3.47.0</Version>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Company>Ingenico ePayments</Company>
<Product>Ingenico Connect .NET SDK examples</Product>
Expand Down
4 changes: 2 additions & 2 deletions connect-sdk-dotnet-it/connect-sdk-dotnet-it.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFrameworks>net45;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
<RootNamespace>Ingenico.Connect.Sdk</RootNamespace>
<AssemblyVersion>3.46.0</AssemblyVersion>
<Version>3.46.0</Version>
<AssemblyVersion>3.47.0</AssemblyVersion>
<Version>3.47.0</Version>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Company>Ingenico ePayments</Company>
<Product>Ingenico Connect .NET SDK integration tests</Product>
Expand Down
8 changes: 4 additions & 4 deletions connect-sdk-dotnet-tests/CommunicatorTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ public void TestToURIWithoutRequestParams()
sessionMock.SetupGet(x => x.ApiEndpoint).Returns(baseUri);
Communicator communicator =
new Communicator(sessionMock.Object, DefaultImpl.DefaultMarshaller.Instance);
Uri uri = communicator.ToAbsoluteURI("v1/merchant/20000/convertamount", new List<RequestParam>());
Uri uri2 = communicator.ToAbsoluteURI("/v1/merchant/20000/convertamount", new List<RequestParam>());
Uri uri = communicator.ToAbsoluteUri("v1/merchant/20000/convertamount", new List<RequestParam>());
Uri uri2 = communicator.ToAbsoluteUri("/v1/merchant/20000/convertamount", new List<RequestParam>());

Assert.That(uri, Is.EqualTo(new Uri("https://eu.sandbox.api-ingenico.com/v1/merchant/20000/convertamount")));
Assert.That(uri2, Is.EqualTo(new Uri("https://eu.sandbox.api-ingenico.com/v1/merchant/20000/convertamount")));
Expand All @@ -34,8 +34,8 @@ public void TestToURIWithRequestParams()
list.Add(new RequestParam("dummy", "é&%="));
sessionMock.SetupGet(x => x.ApiEndpoint).Returns(baseUri);
var communicator = new Communicator(sessionMock.Object, DefaultImpl.DefaultMarshaller.Instance);
Uri uri = communicator.ToAbsoluteURI("v1/merchant/20000/convertamount", list);
Uri uri2 = communicator.ToAbsoluteURI("/v1/merchant/20000/convertamount", list);
Uri uri = communicator.ToAbsoluteUri("v1/merchant/20000/convertamount", list);
Uri uri2 = communicator.ToAbsoluteUri("/v1/merchant/20000/convertamount", list);

Assert.AreEqual(new Uri("https://eu.sandbox.api-ingenico.com/v1/merchant/20000/convertamount?amount=123&source=USD&target=EUR&dummy=%C3%A9%26%25%3D"), uri);
Assert.AreEqual(new Uri("https://eu.sandbox.api-ingenico.com/v1/merchant/20000/convertamount?amount=123&source=USD&target=EUR&dummy=%C3%A9%26%25%3D"), uri2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,14 @@ public class DefaultAuthenticatorTest
[TestCase]
public void TestToCanonicalizeHeaderValue()
{
DefaultAuthenticator authenticator = new DefaultAuthenticator(AuthorizationType.V1HMAC, "apiKeyId", "secretApiKey");
Assert.AreEqual("aap noot", authenticator.ToCanonicalizeHeaderValue("aap\nnoot "));
Assert.AreEqual("aap noot", authenticator.ToCanonicalizeHeaderValue(" aap\r\n noot"));
Assert.AreEqual("aap noot", DefaultAuthenticator.ToCanonicalizeHeaderValue("aap\nnoot "));
Assert.AreEqual("aap noot", DefaultAuthenticator.ToCanonicalizeHeaderValue(" aap\r\n noot"));
}

[TestCase]
public void TestToCanonicalizeHeaderValue2()
{
DefaultAuthenticator authenticator = new DefaultAuthenticator(AuthorizationType.V1HMAC, "apiKeyId", "secretApiKey");
var val1 = authenticator.ToCanonicalizeHeaderValue(" some value \r\n \n with some \r\n spaces ");
var val1 = DefaultAuthenticator.ToCanonicalizeHeaderValue(" some value \r\n \n with some \r\n spaces ");
Assert.AreEqual("some value with some spaces", val1);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ public void TestLogWithException()
{
ICommunicatorLogger logger = SystemConsoleCommunicatorLogger.Instance;
var exception = new Exception();
try{
try
{
throw exception;
}
catch (Exception e) {
Expand Down
4 changes: 2 additions & 2 deletions connect-sdk-dotnet-tests/connect-sdk-dotnet-tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFrameworks>net45;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
<RootNamespace>Ingenico.Connect.Sdk</RootNamespace>
<AssemblyVersion>3.46.0</AssemblyVersion>
<Version>3.46.0</Version>
<AssemblyVersion>3.47.0</AssemblyVersion>
<Version>3.47.0</Version>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Company>Ingenico ePayments</Company>
<Product>Ingenico Connect .NET SDK unit tests</Product>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<PropertyGroup>
<TargetFrameworks>net45;netstandard2.0;netstandard2.1</TargetFrameworks>
<RootNamespace>Ingenico.Connect.Sdk</RootNamespace>
<AssemblyVersion>3.46.0</AssemblyVersion>
<Version>3.46.0</Version>
<AssemblyVersion>3.47.0</AssemblyVersion>
<Version>3.47.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Company>Ingenico ePayments</Company>
<Product>Ingenico Connect .NET SDK</Product>
Expand Down
4 changes: 2 additions & 2 deletions connect-sdk-dotnet/AbstractParamRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ namespace Ingenico.Connect.Sdk
/// <summary>
/// Represents a set of request parameters.
/// </summary>
abstract public class AbstractParamRequest
public abstract class AbstractParamRequest
{
abstract public IEnumerable<RequestParam> ToRequestParameters();
public abstract IEnumerable<RequestParam> ToRequestParameters();
}
}
32 changes: 15 additions & 17 deletions connect-sdk-dotnet/ApiResource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ protected List<RequestHeader> ClientHeaders

protected ApiResource(ApiResource parent, IDictionary<string, string> pathContext)
{
_parent = parent ?? throw new ArgumentException("parent is required"); ;
_parent = parent ?? throw new ArgumentException("parent is required");
_communicator = parent._communicator;
_pathContext = pathContext;
_clientMetaInfo = parent._clientMetaInfo;
Expand All @@ -50,7 +50,7 @@ protected ApiResource(ApiResource parent, IDictionary<string, string> pathContex
protected ApiResource(Communicator communicator, string clientMetaInfo, IDictionary<string, string> pathContext)
{
_parent = null;
_communicator = communicator ?? throw new ArgumentException("communicator is required"); ;
_communicator = communicator ?? throw new ArgumentException("communicator is required");
_pathContext = pathContext;
_clientMetaInfo = clientMetaInfo;
}
Expand All @@ -63,49 +63,48 @@ protected string InstantiateUri(string uri, IDictionary<string, string> pathCont
return uri;
}

protected Exception CreateException(System.Net.HttpStatusCode statusCode, string responseBody, object errorObject, CallContext context)
protected Exception CreateException(HttpStatusCode statusCode, string responseBody, object errorObject, CallContext context)
{
if (errorObject is PaymentErrorResponse && ((PaymentErrorResponse)errorObject).PaymentResult != null)
PaymentErrorResponse paymentErrorResponse = errorObject as PaymentErrorResponse;
if (paymentErrorResponse?.PaymentResult != null)
{
return new DeclinedPaymentException(statusCode, responseBody, (PaymentErrorResponse)errorObject);
}
if (errorObject is PayoutErrorResponse && ((PayoutErrorResponse)errorObject).PayoutResult != null)
PayoutErrorResponse payoutErrorResponse = errorObject as PayoutErrorResponse;
if (payoutErrorResponse?.PayoutResult != null)
{
return new DeclinedPayoutException(statusCode, responseBody, (PayoutErrorResponse)errorObject);
}
if (errorObject is RefundErrorResponse && ((RefundErrorResponse)errorObject).RefundResult != null)
RefundErrorResponse refundErrorResponse = errorObject as RefundErrorResponse;
if (refundErrorResponse?.RefundResult != null)
{
return new DeclinedRefundException(statusCode, responseBody, (RefundErrorResponse)errorObject);
}

string errorId;
IList<APIError> errors;
if (errorObject is PaymentErrorResponse)
if (paymentErrorResponse != null)
{
PaymentErrorResponse paymentErrorResponse = (PaymentErrorResponse)errorObject;
errorId = paymentErrorResponse.ErrorId;
errors = paymentErrorResponse.Errors;
}
else if (errorObject is PayoutErrorResponse)
else if (payoutErrorResponse != null)
{
PayoutErrorResponse payoutErrorResponse = (PayoutErrorResponse)errorObject;
errorId = payoutErrorResponse.ErrorId;
errors = payoutErrorResponse.Errors;
}
else if (errorObject is RefundErrorResponse)
else if (refundErrorResponse != null)
{
RefundErrorResponse refundErrorResponse = (RefundErrorResponse)errorObject;
errorId = refundErrorResponse.ErrorId;
errors = refundErrorResponse.Errors;
}
else if (errorObject is ErrorResponse)
else if (errorObject is ErrorResponse errorResponse)
{
ErrorResponse errorResponse = (ErrorResponse)errorObject;
errorId = errorResponse.ErrorId;
errors = errorResponse.Errors;
}
else {
throw new ArgumentException("unsupported error object type: " + errorObject.GetType().ToString());
throw new ArgumentException("unsupported error object type: " + errorObject.GetType());
}

switch (statusCode)
Expand Down Expand Up @@ -164,8 +163,7 @@ static string ReplaceAll(string uri, IDictionary<string, string> pathContext)

static bool IsIdempotenceError(IEnumerable<APIError> errors, CallContext context)
{
return context != null
&& context.IdempotenceKey != null
return context?.IdempotenceKey != null
&& errors.Count() == 1
&& "1409".Equals(errors.ElementAt(0).Code);
}
Expand Down
Loading

0 comments on commit 5aba23c

Please sign in to comment.