From 93368491e34e178589f0ddc8dff82e4af5de62d3 Mon Sep 17 00:00:00 2001 From: brianmc Date: Thu, 8 Dec 2016 11:16:39 -0800 Subject: [PATCH 001/115] Updated Fraud Management Samples --- .../ApproveOrDeclineHeldTransaction.cs | 26 +++---- FraudManagement/GetHeldTransactionList.cs | 67 +++++++++++++++++++ SampleCode.cs | 10 ++- SampleCode.csproj | 5 +- .../GetUnsettledTransactionList.cs | 2 +- 5 files changed, 91 insertions(+), 19 deletions(-) rename PaymentTransactions/UpdateHeldTransaction.cs => FraudManagement/ApproveOrDeclineHeldTransaction.cs (88%) create mode 100644 FraudManagement/GetHeldTransactionList.cs diff --git a/PaymentTransactions/UpdateHeldTransaction.cs b/FraudManagement/ApproveOrDeclineHeldTransaction.cs similarity index 88% rename from PaymentTransactions/UpdateHeldTransaction.cs rename to FraudManagement/ApproveOrDeclineHeldTransaction.cs index 092504a..6c0cbe3 100644 --- a/PaymentTransactions/UpdateHeldTransaction.cs +++ b/FraudManagement/ApproveOrDeclineHeldTransaction.cs @@ -6,15 +6,15 @@ using AuthorizeNet; using AuthorizeNet.Api.Controllers; using AuthorizeNet.Api.Contracts.V1; -using AuthorizeNet.Api.Controllers.Bases; - -namespace net.authorize.sample.PaymentTransactions -{ - class UpdateHeldTransaction - { +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample.PaymentTransactions +{ + class ApproveOrDeclineHeldTransaction + { public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) { - Console.WriteLine("Update held transaction sample"); + Console.WriteLine("Approve held transaction sample"); ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) @@ -28,8 +28,8 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var request = new updateHeldTransactionRequest(); request.heldTransactionRequest = new heldTransactionRequestType { - action = afdsTransactionEnum.approve, - refTransId = "12345" + action = afdsTransactionEnum.approve, + refTransId = "60012192922" }; // instantiate the controller that will call the service @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var response = controller.GetApiResponse(); if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { - Console.WriteLine(response.ToString()); + Console.WriteLine("Transaction Approved: "+response.transactionResponse.transId); } else if (response != null) { @@ -49,6 +49,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) } return response; - } - } -} + } + } +} diff --git a/FraudManagement/GetHeldTransactionList.cs b/FraudManagement/GetHeldTransactionList.cs new file mode 100644 index 0000000..89b43b1 --- /dev/null +++ b/FraudManagement/GetHeldTransactionList.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AuthorizeNet; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class GetHeldTransactionList + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Get suspicious transaction list sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var request = new getUnsettledTransactionListRequest(); + request.status = TransactionGroupStatusEnum.pendingApproval; + request.statusSpecified = true; + request.paging = new Paging + { + limit = 10, + offset = 1 + }; + request.sorting = new TransactionListSorting + { + orderBy = TransactionListOrderFieldEnum.id, + orderDescending = true + }; + // instantiate the controller that will call the service + var controller = new getUnsettledTransactionListController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.transactions == null) + return response; + + foreach (var item in response.transactions) + { + Console.WriteLine("Transaction Id: {0} was submitted on {1}", item.transId, + item.submitTimeLocal); + } + } + else if(response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + + response.messages.message[0].text); + } + + return response; + } + } +} \ No newline at end of file diff --git a/SampleCode.cs b/SampleCode.cs index c1845f4..03d9bb5 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -124,7 +124,8 @@ private static void ShowMethods() Console.WriteLine(" GetTransactionDetails"); Console.WriteLine(" GetTransactionList"); Console.WriteLine(" UpdateSplitTenderGroup"); - Console.WriteLine(" UpdateHeldTransaction"); + Console.WriteLine(" GetHeldTransactionList"); + Console.WriteLine(" ApproveOrDeclineHeldTransaction"); Console.WriteLine(" GetMerchantDetails"); Console.WriteLine(" GetHostedPaymentPage"); } @@ -317,8 +318,11 @@ private static void RunMethod(String methodName) case "UpdateSplitTenderGroup": UpdateSplitTenderGroup.Run(apiLoginId, transactionKey); break; - case "UpdateHeldTransaction": - UpdateHeldTransaction.Run(apiLoginId, transactionKey); + case "GetHeldTransactionList": + GetHeldTransactionList.Run(apiLoginId, transactionKey); + break; + case "ApproveOrDeclineHeldTransaction": + ApproveOrDeclineHeldTransaction.Run(apiLoginId, transactionKey); break; case "GetMerchantDetails": GetMerchantDetails.Run(apiLoginId, transactionKey); diff --git a/SampleCode.csproj b/SampleCode.csproj index 02e62eb..4a5c881 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -65,6 +65,8 @@ + + @@ -76,7 +78,6 @@ - @@ -118,4 +119,4 @@ --> - + \ No newline at end of file diff --git a/TransactionReporting/GetUnsettledTransactionList.cs b/TransactionReporting/GetUnsettledTransactionList.cs index 500fa91..0bf0ffa 100644 --- a/TransactionReporting/GetUnsettledTransactionList.cs +++ b/TransactionReporting/GetUnsettledTransactionList.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) }; var request = new getUnsettledTransactionListRequest(); - request.status = TransactionGroupStatusEnum.pendingApproval; + request.status = TransactionGroupStatusEnum.any; request.statusSpecified = true; request.paging = new Paging { From 131c8da55b430c6c05622b5e5fc715713a43639c Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Thu, 29 Dec 2016 07:34:14 -0800 Subject: [PATCH 002/115] Update ApproveOrDeclineHeldTransaction.cs --- FraudManagement/ApproveOrDeclineHeldTransaction.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FraudManagement/ApproveOrDeclineHeldTransaction.cs b/FraudManagement/ApproveOrDeclineHeldTransaction.cs index 6c0cbe3..08dae6c 100644 --- a/FraudManagement/ApproveOrDeclineHeldTransaction.cs +++ b/FraudManagement/ApproveOrDeclineHeldTransaction.cs @@ -8,7 +8,7 @@ using AuthorizeNet.Api.Contracts.V1; using AuthorizeNet.Api.Controllers.Bases; -namespace net.authorize.sample.PaymentTransactions +namespace net.authorize.sample.FraudManagement { class ApproveOrDeclineHeldTransaction { From a49134c8348c5bfdfdfd8a7c383e78b4b08800cb Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Thu, 29 Dec 2016 07:34:50 -0800 Subject: [PATCH 003/115] Update GetHeldTransactionList.cs --- FraudManagement/GetHeldTransactionList.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FraudManagement/GetHeldTransactionList.cs b/FraudManagement/GetHeldTransactionList.cs index 89b43b1..bdc1e09 100644 --- a/FraudManagement/GetHeldTransactionList.cs +++ b/FraudManagement/GetHeldTransactionList.cs @@ -8,7 +8,7 @@ using AuthorizeNet.Api.Contracts.V1; using AuthorizeNet.Api.Controllers.Bases; -namespace net.authorize.sample +namespace net.authorize.sample.FraudManagement { public class GetHeldTransactionList { @@ -64,4 +64,4 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) return response; } } -} \ No newline at end of file +} From 1fe3562ea7e415cca3ebbc1afcd02ae16724b060 Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Thu, 29 Dec 2016 07:35:33 -0800 Subject: [PATCH 004/115] Update ApproveOrDeclineHeldTransaction.cs --- FraudManagement/ApproveOrDeclineHeldTransaction.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FraudManagement/ApproveOrDeclineHeldTransaction.cs b/FraudManagement/ApproveOrDeclineHeldTransaction.cs index 08dae6c..a4b1432 100644 --- a/FraudManagement/ApproveOrDeclineHeldTransaction.cs +++ b/FraudManagement/ApproveOrDeclineHeldTransaction.cs @@ -8,7 +8,7 @@ using AuthorizeNet.Api.Contracts.V1; using AuthorizeNet.Api.Controllers.Bases; -namespace net.authorize.sample.FraudManagement +namespace net.authorize.sample { class ApproveOrDeclineHeldTransaction { From 5ec61512a5d8cc4b841dbf79b932e68898ffe90e Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Thu, 29 Dec 2016 07:35:53 -0800 Subject: [PATCH 005/115] Update GetHeldTransactionList.cs --- FraudManagement/GetHeldTransactionList.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FraudManagement/GetHeldTransactionList.cs b/FraudManagement/GetHeldTransactionList.cs index bdc1e09..07bc209 100644 --- a/FraudManagement/GetHeldTransactionList.cs +++ b/FraudManagement/GetHeldTransactionList.cs @@ -8,7 +8,7 @@ using AuthorizeNet.Api.Contracts.V1; using AuthorizeNet.Api.Controllers.Bases; -namespace net.authorize.sample.FraudManagement +namespace net.authorize.sample { public class GetHeldTransactionList { From 3cb0aaf516a6e5789bee5dafb6ec6886da51e431 Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Wed, 25 Jan 2017 07:28:22 -0800 Subject: [PATCH 006/115] Update and rename GetHostedPaymentPage.cs to GetAnAcceptPaymentPage.cs --- .../{GetHostedPaymentPage.cs => GetAnAcceptPaymentPage.cs} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename PaymentTransactions/{GetHostedPaymentPage.cs => GetAnAcceptPaymentPage.cs} (96%) diff --git a/PaymentTransactions/GetHostedPaymentPage.cs b/PaymentTransactions/GetAnAcceptPaymentPage.cs similarity index 96% rename from PaymentTransactions/GetHostedPaymentPage.cs rename to PaymentTransactions/GetAnAcceptPaymentPage.cs index a52ae53..a9eec2b 100644 --- a/PaymentTransactions/GetHostedPaymentPage.cs +++ b/PaymentTransactions/GetAnAcceptPaymentPage.cs @@ -8,11 +8,11 @@ namespace net.authorize.sample.CustomerProfiles { - public class GetHostedPaymentPage + public class GetAnAcceptPaymentPage { public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { - Console.WriteLine("GetHostedPaymentPage Sample"); + Console.WriteLine("GetAnAcceptPaymentPage Sample"); ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() { From 3294c16d08db6bf3a1d8feb47db859cf83138d43 Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Wed, 25 Jan 2017 07:29:13 -0800 Subject: [PATCH 007/115] Update SampleCode.cs --- SampleCode.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SampleCode.cs b/SampleCode.cs index 03d9bb5..e05bde8 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -127,7 +127,7 @@ private static void ShowMethods() Console.WriteLine(" GetHeldTransactionList"); Console.WriteLine(" ApproveOrDeclineHeldTransaction"); Console.WriteLine(" GetMerchantDetails"); - Console.WriteLine(" GetHostedPaymentPage"); + Console.WriteLine(" GetAnAcceptPaymentPage"); } private static void RunMethod(String methodName) @@ -327,8 +327,8 @@ private static void RunMethod(String methodName) case "GetMerchantDetails": GetMerchantDetails.Run(apiLoginId, transactionKey); break; - case "GetHostedPaymentPage": - GetHostedPaymentPage.Run(apiLoginId, transactionKey, 12.23m); + case "GetAnAcceptPaymentPage": + GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, 12.23m); break; default: ShowUsage(); From 17a06be7c754d02aebac6efa6e4f0ca8ddc952f7 Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Wed, 25 Jan 2017 07:29:51 -0800 Subject: [PATCH 008/115] Update SampleCode.csproj --- SampleCode.csproj | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 4a5c881..85b92e8 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -44,7 +44,7 @@ - + @@ -112,11 +112,11 @@ - - \ No newline at end of file + From 1273b2f4fccaee4cf48b1709baeab77c97b4861b Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Wed, 25 Jan 2017 07:30:26 -0800 Subject: [PATCH 009/115] Update TestRunner.cs --- SampleCodeTest/TestRunner.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index 713e662..97591e0 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -426,9 +426,9 @@ public ANetApiResponse TestCreateAnAcceptTransaction() return response; } - public ANetApiResponse TestGetHostedPaymentPage() + public ANetApiResponse TestGetAnAcceptPaymentPage() { - return GetHostedPaymentPage.Run(apiLoginId, transactionKey, GetAmount()); + return GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, GetAmount()); } } } From 683c3028b985f06e7ab67300e2869b45309c484e Mon Sep 17 00:00:00 2001 From: Brian McManus Date: Wed, 25 Jan 2017 07:30:50 -0800 Subject: [PATCH 010/115] Update SampleCodeList.txt --- SampleCodeTest/SampleCodeList.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 2748ab7..8a4c792 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -53,5 +53,5 @@ UpdateSubscription 1 1 CreateCustomerProfile 1 1 CreateCustomerPaymentProfile 1 1 GetMerchantDetails 0 1 -GetHostedPaymentPage 1 1 -UpdateHeldTransaction 1 0 \ No newline at end of file +GetAnAcceptPaymentPage 1 1 +UpdateHeldTransaction 1 0 From a8b906a89280aff6324e748222428432c718dcd0 Mon Sep 17 00:00:00 2001 From: Aaron Wright Date: Mon, 20 Mar 2017 17:10:14 -0600 Subject: [PATCH 011/115] add isPaymentToken Also change cryptogram example to match other SDKs --- PaymentTransactions/ChargeTokenizedCreditCard.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 1174786..f71ea7a 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -29,7 +29,9 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) { cardNumber = "4111111111111111", expirationDate = "0718", - cryptogram = Guid.NewGuid().ToString() // Set this to the value of the cryptogram received from the token provide + // Set the token specific info + isPaymentToken = true, + cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide }; //standard api call to retrieve response From f310d06964c4da9cbd65817b7b20ac134f2f5dca Mon Sep 17 00:00:00 2001 From: Aaron Wright Date: Mon, 20 Mar 2017 17:11:51 -0600 Subject: [PATCH 012/115] formatting README.md --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 27cadaa..b251add 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # Sample C# Code for Authorize.Net -[![Build Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.png?branch=master)] -(https://travis-ci.org/AuthorizeNet/sample-code-csharp) +[![Build Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.png?branch=master)](https://travis-ci.org/AuthorizeNet/sample-code-csharp) This repository contains working code samples which demonstrate C# integration with the Authorize.Net .NET SDK The samples are organized just like our API, which you can also try out directly here: http://developer.authorize.net/api/reference @@ -16,12 +15,12 @@ The samples are all completely independent and self-contained so you can look at `PM> Install-Package AuthorizeNet` Build the project to produce the SampleCode console app. Then run a sample directly by name: -```` +``` > SampleCode [CodeSampleName] -```` +``` e.g. -```` +``` > SampleCode ChargeCreditCard -```` +``` Running SampleCode without a parameter will give you the list of sample names. From f8d5b80e5b480d0155e1a8dcdc88d52cb4d947b3 Mon Sep 17 00:00:00 2001 From: Aaron Wright Date: Mon, 20 Mar 2017 17:13:38 -0600 Subject: [PATCH 013/115] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b251add..b39e33e 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ This repository contains working code samples which demonstrate C# integration w The samples are organized just like our API, which you can also try out directly here: http://developer.authorize.net/api/reference -##Using the Sample Code +## Using the Sample Code The samples are all completely independent and self-contained so you can look at them to get a gist of how the method works, you can use the snippets to try in your own sample project, or you can run each sample from the command line. -##Running the Samples +## Running the Samples Clone this repository. Include the Authorize.Net SDK (https://github.com/AuthorizeNet/sdk-dotnet) `PM> Install-Package AuthorizeNet` From 23f21ecc7c1610994b57e2afc35728b937204c62 Mon Sep 17 00:00:00 2001 From: bselvara Date: Thu, 13 Apr 2017 17:08:32 +0530 Subject: [PATCH 014/115] Sample code updates for dotnet sdk --- SampleCode.cs | 4 ++ SampleCode.csproj | 1 + .../GetCustomerProfileTransactionList.cs | 59 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 TransactionReporting/GetCustomerProfileTransactionList.cs diff --git a/SampleCode.cs b/SampleCode.cs index e05bde8..76e31a9 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -128,6 +128,7 @@ private static void ShowMethods() Console.WriteLine(" ApproveOrDeclineHeldTransaction"); Console.WriteLine(" GetMerchantDetails"); Console.WriteLine(" GetAnAcceptPaymentPage"); + Console.WriteLine(" GetCustomerProfileTransactionList"); } private static void RunMethod(String methodName) @@ -330,6 +331,9 @@ private static void RunMethod(String methodName) case "GetAnAcceptPaymentPage": GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, 12.23m); break; + case "GetCustomerProfileTransactionList": + GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); + break; default: ShowUsage(); break; diff --git a/SampleCode.csproj b/SampleCode.csproj index 85b92e8..ea59ddc 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -101,6 +101,7 @@ + diff --git a/TransactionReporting/GetCustomerProfileTransactionList.cs b/TransactionReporting/GetCustomerProfileTransactionList.cs new file mode 100644 index 0000000..8be3cb9 --- /dev/null +++ b/TransactionReporting/GetCustomerProfileTransactionList.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class GetCustomerProfileTransactionList + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string customerProfileId) + { + Console.WriteLine("Get transaction list sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var request = new getTransactionListForCustomerRequest(); + request.customerProfileId = "1811474252"; + + // instantiate the controller that will call the service + var controller = new getTransactionListForCustomerController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.transactions == null) + return response; + + foreach (var transaction in response.transactions) + { + Console.WriteLine("Transaction Id: {0}", transaction.transId); + Console.WriteLine("Submitted on (Local): {0}", transaction.submitTimeLocal); + Console.WriteLine("Status: {0}", transaction.transactionStatus); + Console.WriteLine("Settle amount: {0}", transaction.settleAmount); + } + } + else if (response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + + response.messages.message[0].text); + } + + return response; + } + } +} From 80ed6b22767f05d5792adc785b7c282a9f9ff777 Mon Sep 17 00:00:00 2001 From: Sunny Raj Rathod Date: Tue, 25 Apr 2017 13:48:07 +0530 Subject: [PATCH 015/115] Update packages.config --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 0770b48..41cf141 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From 58c6947de407dc45f774ff5d6289ec951e502b71 Mon Sep 17 00:00:00 2001 From: Sunny Raj Rathod Date: Tue, 25 Apr 2017 14:07:40 +0530 Subject: [PATCH 016/115] Update SampleCode.csproj --- SampleCode.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index ea59ddc..4767db4 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -33,7 +33,7 @@ - packages\AuthorizeNet.1.9.1\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.2\lib\AuthorizeNet.dll From 090af8f41a603aa0d3ee9cfbaccaf4d937fffadd Mon Sep 17 00:00:00 2001 From: asinghma Date: Thu, 18 May 2017 18:21:16 +0530 Subject: [PATCH 017/115] Update config to use sdk version 1.9.3 --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 41cf141..b2e3aec 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From e3dd6a4abc61d9ca552658f677dc11aabe1043bd Mon Sep 17 00:00:00 2001 From: asinghma Date: Thu, 18 May 2017 18:36:21 +0530 Subject: [PATCH 018/115] Updated sdk version 1.9.3 in references --- SampleCode.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 4767db4..f2b5b29 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -33,7 +33,7 @@ - packages\AuthorizeNet.1.9.2\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.3\lib\AuthorizeNet.dll From 4ddc4af9a97ec5c32ad899537162d8e1037c5f34 Mon Sep 17 00:00:00 2001 From: adavidw Date: Mon, 19 Jun 2017 12:58:14 -0600 Subject: [PATCH 019/115] Rename directory to match online API Reference guide --- .../MobileInappTransactions}/CreateAnAcceptTransaction.cs | 0 .../MobileInappTransactions}/CreateAnAndroidPayTransaction.cs | 0 .../MobileInappTransactions}/CreateAnApplePayTransaction.cs | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename {MobileInappTransactions => MobileInAppTransactions/MobileInappTransactions}/CreateAnAcceptTransaction.cs (100%) rename {MobileInappTransactions => MobileInAppTransactions/MobileInappTransactions}/CreateAnAndroidPayTransaction.cs (100%) rename {MobileInappTransactions => MobileInAppTransactions/MobileInappTransactions}/CreateAnApplePayTransaction.cs (100%) diff --git a/MobileInappTransactions/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/MobileInappTransactions/CreateAnAcceptTransaction.cs similarity index 100% rename from MobileInappTransactions/CreateAnAcceptTransaction.cs rename to MobileInAppTransactions/MobileInappTransactions/CreateAnAcceptTransaction.cs diff --git a/MobileInappTransactions/CreateAnAndroidPayTransaction.cs b/MobileInAppTransactions/MobileInappTransactions/CreateAnAndroidPayTransaction.cs similarity index 100% rename from MobileInappTransactions/CreateAnAndroidPayTransaction.cs rename to MobileInAppTransactions/MobileInappTransactions/CreateAnAndroidPayTransaction.cs diff --git a/MobileInappTransactions/CreateAnApplePayTransaction.cs b/MobileInAppTransactions/MobileInappTransactions/CreateAnApplePayTransaction.cs similarity index 100% rename from MobileInappTransactions/CreateAnApplePayTransaction.cs rename to MobileInAppTransactions/MobileInappTransactions/CreateAnApplePayTransaction.cs From 6818557a631705a319f35c4f4bae623804e07451 Mon Sep 17 00:00:00 2001 From: adavidw Date: Mon, 19 Jun 2017 13:05:07 -0600 Subject: [PATCH 020/115] Rename directory to match online API Reference guide --- .../{MobileInappTransactions => }/CreateAnAcceptTransaction.cs | 0 .../CreateAnAndroidPayTransaction.cs | 0 .../{MobileInappTransactions => }/CreateAnApplePayTransaction.cs | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename MobileInAppTransactions/{MobileInappTransactions => }/CreateAnAcceptTransaction.cs (100%) rename MobileInAppTransactions/{MobileInappTransactions => }/CreateAnAndroidPayTransaction.cs (100%) rename MobileInAppTransactions/{MobileInappTransactions => }/CreateAnApplePayTransaction.cs (100%) diff --git a/MobileInAppTransactions/MobileInappTransactions/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/CreateAnAcceptTransaction.cs similarity index 100% rename from MobileInAppTransactions/MobileInappTransactions/CreateAnAcceptTransaction.cs rename to MobileInAppTransactions/CreateAnAcceptTransaction.cs diff --git a/MobileInAppTransactions/MobileInappTransactions/CreateAnAndroidPayTransaction.cs b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs similarity index 100% rename from MobileInAppTransactions/MobileInappTransactions/CreateAnAndroidPayTransaction.cs rename to MobileInAppTransactions/CreateAnAndroidPayTransaction.cs diff --git a/MobileInAppTransactions/MobileInappTransactions/CreateAnApplePayTransaction.cs b/MobileInAppTransactions/CreateAnApplePayTransaction.cs similarity index 100% rename from MobileInAppTransactions/MobileInappTransactions/CreateAnApplePayTransaction.cs rename to MobileInAppTransactions/CreateAnApplePayTransaction.cs From 956d372fae57671ceb1c0aefc337d46715133f9a Mon Sep 17 00:00:00 2001 From: adavidw Date: Mon, 19 Jun 2017 13:40:51 -0600 Subject: [PATCH 021/115] create sample for Create an Accept Payment Transaction --- .../CreateAnAcceptPaymentTransaction.cs | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 PaymentTransactions/CreateAnAcceptPaymentTransaction.cs diff --git a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs new file mode 100644 index 0000000..fe59990 --- /dev/null +++ b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs @@ -0,0 +1,117 @@ +using System; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Collections.Generic; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class CreateAnAcceptPaymentTransaction + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) + { + Console.WriteLine("Create an Accept Payment Transaction Sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var opaqueData = new opaqueDataType + { + dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", + dataValue = "119eyJjb2RlIjoiNTBfMl8wNjAwMDUyN0JEODE4RjQxOUEyRjhGQkIxMkY0MzdGQjAxQUIwRTY2NjhFNEFCN0VENzE4NTUwMjlGRUU0M0JFMENERUIwQzM2M0ExOUEwMDAzNzlGRDNFMjBCODJEMDFCQjkyNEJDIiwidG9rZW4iOiI5NDkwMjMyMTAyOTQwOTk5NDA0NjAzIiwidiI6IjEuMSJ9" + + }; + + var billingAddress = new customerAddressType + { + firstName = "John", + lastName = "Doe", + address = "123 My St", + city = "OurTown", + zip = "98004" + }; + + //standard api call to retrieve response + var paymentType = new paymentType { Item = opaqueData }; + + // Add line Items + var lineItems = new lineItemType[2]; + lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; + lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; + + var transactionRequest = new transactionRequestType + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card + + amount = amount, + payment = paymentType, + billTo = billingAddress, + lineItems = lineItems + }; + + var request = new createTransactionRequest { transactionRequest = transactionRequest }; + + // instantiate the contoller that will call the service + var controller = new createTransactionController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + //validate + if (response != null) + { + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if(response.transactionResponse.messages != null) + { + Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); + Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); + Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); + Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); + Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + } + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse != null && response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + else + { + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + } + } + else + { + Console.WriteLine("Null Response."); + } + + return response; + } + } +} From 471806a53bea5a3a4e554a72de799430398174ff Mon Sep 17 00:00:00 2001 From: Aaron Wright Date: Thu, 22 Jun 2017 13:36:04 -0600 Subject: [PATCH 022/115] Update SampleCode.csproj update to new directory name --- SampleCode.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index f2b5b29..fa2d833 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -45,9 +45,9 @@ - - - + + + From e98392cf22f7119aa4314495eb8770fd57653c66 Mon Sep 17 00:00:00 2001 From: adavidw Date: Fri, 23 Jun 2017 09:32:55 -0600 Subject: [PATCH 023/115] create samples for Account Updater reporting API calls --- .../GetAccountUpdaterJobDetails.cs | 77 +++++++++++++++++++ .../GetAccountUpdaterJobSummary.cs | 68 ++++++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 TransactionReporting/GetAccountUpdaterJobDetails.cs create mode 100644 TransactionReporting/GetAccountUpdaterJobSummary.cs diff --git a/TransactionReporting/GetAccountUpdaterJobDetails.cs b/TransactionReporting/GetAccountUpdaterJobDetails.cs new file mode 100644 index 0000000..f74f4a0 --- /dev/null +++ b/TransactionReporting/GetAccountUpdaterJobDetails.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class GetAccountUpdaterJobDetails + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Get Account Updater job details sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + // parameters for request + string month = "2017-06"; + string modifiedTypeFilter = "all" + + var request = new getAccountUpdaterJobDetailsRequest(); + request.month = month; + request.modifiedTypeFilter = modifiedTypeFilter; + request.paging = new Paging + { + limit = 1000, + offset = 1 + }; + + // instantiate the controller that will call the service + var controller = new getAccountUpdaterJobDetailsController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.auDetails == null) + return response; + + foreach (var update in response.auDetails.auUpdate) + { + Console.WriteLine("Profile ID / Payment Profile ID: {0} / {1}", update.customerProfileID, update.customerPaymentProfileID); + Console.WriteLine("Update Time (UTC): {0}", update.updateTimeUTC); + Console.WriteLine("Reason Code: {0}", update.auReasonCode); + Console.WriteLine("Reason Description: {0}", update.reasonDescription); + } + + foreach (var delete in response.auDetails.auDelete) + { + Console.WriteLine("Profile ID / Payment Profile ID: {0} / {1}", delete.customerProfileID, update.customerPaymentProfileID); + Console.WriteLine("Update Time (UTC): {0}", delete.updateTimeUTC); + Console.WriteLine("Reason Code: {0}", delete.auReasonCode); + Console.WriteLine("Reason Description: {0}", delete.reasonDescription); + } + } + else if (response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + + response.messages.message[0].text); + } + + return response; + } + } +} diff --git a/TransactionReporting/GetAccountUpdaterJobSummary.cs b/TransactionReporting/GetAccountUpdaterJobSummary.cs new file mode 100644 index 0000000..0ceeed2 --- /dev/null +++ b/TransactionReporting/GetAccountUpdaterJobSummary.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class GetAccountUpdaterJobSummary + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Get Account Updater job summary sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + // parameters for request + string month = "2017-06"; + + + var request = new getAccountUpdaterJobSummaryRequest(); + request.month = month; + + + + + + + + // instantiate the controller that will call the service + var controller = new getAccountUpdaterJobSummaryController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.auSummary == null) + return response; + + foreach (var result in response.auSummary) + { + Console.WriteLine("Reason Code: {0}", result.auReasonCode); + Console.WriteLine("Reason Description: {0}", result.reasonDescription); + Console.WriteLine("# of Profiles updated for this reason: {0}", result.profileCount); + } + } + else if (response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + + response.messages.message[0].text); + } + + return response; + } + } +} From 9d60b2cf0a353d0c9ca0e6a00aa01f7c6519b954 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 15:43:36 -0600 Subject: [PATCH 024/115] update GetAccountUpdaterJobSummary.cs --- .gitignore | 3 ++ .../GetAccountUpdaterJobSummary.cs | 31 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 57a1574..d06926c 100644 --- a/.gitignore +++ b/.gitignore @@ -194,3 +194,6 @@ FakesAssemblies/ # Visual Studio 6 workspace options file *.opt + +# Filesystem +*.DS_Store \ No newline at end of file diff --git a/TransactionReporting/GetAccountUpdaterJobSummary.cs b/TransactionReporting/GetAccountUpdaterJobSummary.cs index 0ceeed2..399fb00 100644 --- a/TransactionReporting/GetAccountUpdaterJobSummary.cs +++ b/TransactionReporting/GetAccountUpdaterJobSummary.cs @@ -24,42 +24,41 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) Item = ApiTransactionKey, }; - // parameters for request - string month = "2017-06"; - + // Set a valid month for the request + string month = "2017-07"; + // Build tbe request object var request = new getAccountUpdaterJobSummaryRequest(); request.month = month; - - - - - - - // instantiate the controller that will call the service + // Instantiate the controller that will call the service var controller = new getAccountUpdaterJobSummaryController(request); controller.Execute(); - // get the response from the service (errors contained if any) + // Get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { + Console.WriteLine("SUCCESS: Get Account Updater Summary for Month : " + month); if (response.auSummary == null) + { + Console.WriteLine("No Account Updater summary for this month."); return response; + } + // Displaying the summary of each response in the list foreach (var result in response.auSummary) { - Console.WriteLine("Reason Code: {0}", result.auReasonCode); - Console.WriteLine("Reason Description: {0}", result.reasonDescription); - Console.WriteLine("# of Profiles updated for this reason: {0}", result.profileCount); + Console.WriteLine(" Reason Code : " + result.auReasonCode); + Console.WriteLine(" Reason Description : " + result.reasonDescription); + Console.WriteLine(" # of Profiles updated for this reason : " + result.profileCount); } } else if (response != null) { - Console.WriteLine("Error: " + response.messages.message[0].code + " " + - response.messages.message[0].text); + Console.WriteLine("ERROR : Invalid response"); + Console.WriteLine("Response : " + response.messages.message[0].code + " " + response.messages.message[0].text); } return response; From 4e0bed26321f9b6abd288ea5a607d94a7b2bd2bc Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 15:45:20 -0600 Subject: [PATCH 025/115] add GetAccountUpdaterJobSummary --- SampleCodeTest/SampleCodeList.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 8a4c792..e34234b 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -55,3 +55,4 @@ CreateCustomerPaymentProfile 1 1 GetMerchantDetails 0 1 GetAnAcceptPaymentPage 1 1 UpdateHeldTransaction 1 0 +GetAccountUpdaterJobSummary 1 1 From bf4e44b60b9773b2d53a031a01753381401b7634 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 15:58:06 -0600 Subject: [PATCH 026/115] fix sample tests readme --- SampleCodeTest/README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/SampleCodeTest/README.md b/SampleCodeTest/README.md index 20241d2..d9fbc15 100644 --- a/SampleCodeTest/README.md +++ b/SampleCodeTest/README.md @@ -1,17 +1,16 @@ # Unit Test Project for testing C# Sample Codes for Authorize.Net -[![Build Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.png?branch=master)] -(https://travis-ci.org/AuthorizeNet/sample-code-csharp) +[![Build Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.png?branch=master)](https://travis-ci.org/AuthorizeNet/sample-code-csharp) This project is a unit test project which tests whether the C# sample codes are working as expected. If any of the unit tests fail the travis build will fail. -##Using the Sample Code Test project +## Using the Sample Code Test project The samples are all completely independent and self-contained so you can look at them to get a gist of how the method works, you can use the snippets to try in your own sample project, or you can run each sample from the command line. -##Running the Samples +## Running the Samples - Clone sample code repository.
- Open the sample code project in visual studio.
- Include the AuthorizeNet.dll present in bin/debug folder.
From 049f84512c40c9fc7bb0300127e835ce0cb6b93a Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 16:03:27 -0600 Subject: [PATCH 027/115] add GetAccountUpdaterJobSummary to test runner --- SampleCodeTest/TestRunner.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index 97591e0..06b8917 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -430,5 +430,10 @@ public ANetApiResponse TestGetAnAcceptPaymentPage() { return GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, GetAmount()); } + + public ANetApiResponse TestGetAccountUpdaterJobSummary() + { + return GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); + } } } From 4bd0b9605135138f296faba105b93b383893d284 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 16:12:58 -0600 Subject: [PATCH 028/115] add GetAccountUpdaterJobSummary --- SampleCode.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SampleCode.cs b/SampleCode.cs index 76e31a9..1d4403a 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -129,6 +129,7 @@ private static void ShowMethods() Console.WriteLine(" GetMerchantDetails"); Console.WriteLine(" GetAnAcceptPaymentPage"); Console.WriteLine(" GetCustomerProfileTransactionList"); + Console.WriteLine(" GetAccountUpdaterJobSummary"); } private static void RunMethod(String methodName) @@ -334,6 +335,9 @@ private static void RunMethod(String methodName) case "GetCustomerProfileTransactionList": GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); break; + case "GetAccountUpdaterJobSummary": + GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); + break; default: ShowUsage(); break; From c80c20200b33c6a1f5ae2b1e082a3770172c76bd Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 16:20:03 -0600 Subject: [PATCH 029/115] fix tabs --- SampleCodeTest/SampleCodeList.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index e34234b..32faa58 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -55,4 +55,4 @@ CreateCustomerPaymentProfile 1 1 GetMerchantDetails 0 1 GetAnAcceptPaymentPage 1 1 UpdateHeldTransaction 1 0 -GetAccountUpdaterJobSummary 1 1 +GetAccountUpdaterJobSummary 1 1 From 48f701015cc8c6463f9c0910c56df87410e61cc1 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 16:48:49 -0600 Subject: [PATCH 030/115] add GetAccountUpdaterSummary --- SampleCode.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/SampleCode.csproj b/SampleCode.csproj index fa2d833..7d32dbb 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -106,6 +106,7 @@ +
From 035614bdf26ed360ef6bb9a4125aaa6759cddc1c Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 1 Aug 2017 16:57:03 -0600 Subject: [PATCH 031/115] correct names --- TransactionReporting/GetAccountUpdaterJobSummary.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TransactionReporting/GetAccountUpdaterJobSummary.cs b/TransactionReporting/GetAccountUpdaterJobSummary.cs index 399fb00..35d1d16 100644 --- a/TransactionReporting/GetAccountUpdaterJobSummary.cs +++ b/TransactionReporting/GetAccountUpdaterJobSummary.cs @@ -28,11 +28,11 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) string month = "2017-07"; // Build tbe request object - var request = new getAccountUpdaterJobSummaryRequest(); + var request = new getAUJobSummaryRequest(); request.month = month; // Instantiate the controller that will call the service - var controller = new getAccountUpdaterJobSummaryController(request); + var controller = new getAUJobSummaryController(request); controller.Execute(); // Get the response from the service (errors contained if any) From 3175896f937c035891a8a4c8d447d04675216918 Mon Sep 17 00:00:00 2001 From: rahulrnitc Date: Wed, 23 Aug 2017 14:16:52 +0530 Subject: [PATCH 032/115] Upgraded the .Net version to 4.5 Removed TransactionReporting\GetAccountUpdaterJobDetails.cs from from project as the corresponding controller is not present in the SDK. --- SampleCode.cs | 6 +++--- SampleCode.csproj | 8 +++++--- SampleCodeTest/SampleCodeTest.csproj | 7 +++++-- SampleCodeTest/TestRunner.cs | 8 ++++---- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/SampleCode.cs b/SampleCode.cs index 1d4403a..ea27063 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -335,9 +335,9 @@ private static void RunMethod(String methodName) case "GetCustomerProfileTransactionList": GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); break; - case "GetAccountUpdaterJobSummary": - GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); - break; + //case "GetAccountUpdaterJobSummary": + // GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); + // break; default: ShowUsage(); break; diff --git a/SampleCode.csproj b/SampleCode.csproj index 7d32dbb..dfa002e 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -9,8 +9,9 @@ Properties net.authorize.sample SampleCode - v4.0 + v4.5 512 + AnyCPU @@ -21,6 +22,7 @@ DEBUG;TRACE prompt 4 + false AnyCPU @@ -30,6 +32,7 @@ TRACE prompt 4 + false @@ -106,7 +109,6 @@ - @@ -121,4 +123,4 @@ --> - + \ No newline at end of file diff --git a/SampleCodeTest/SampleCodeTest.csproj b/SampleCodeTest/SampleCodeTest.csproj index b92d43e..e25457f 100644 --- a/SampleCodeTest/SampleCodeTest.csproj +++ b/SampleCodeTest/SampleCodeTest.csproj @@ -8,7 +8,7 @@ Properties SampleCodeTest SampleCodeTest - v4.0 + v4.5 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10.0 @@ -16,6 +16,7 @@ $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages False UnitTest + true @@ -25,6 +26,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -33,6 +35,7 @@ TRACE prompt 4 + false @@ -96,4 +99,4 @@ --> - + \ No newline at end of file diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index 06b8917..b77a9c2 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -431,9 +431,9 @@ public ANetApiResponse TestGetAnAcceptPaymentPage() return GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, GetAmount()); } - public ANetApiResponse TestGetAccountUpdaterJobSummary() - { - return GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); - } + //public ANetApiResponse TestGetAccountUpdaterJobSummary() + //{ + // return GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); + //} } } From 692baa336fa78dd3fbc10eb68b129b0d19c5c218 Mon Sep 17 00:00:00 2001 From: rahulrnitc Date: Wed, 23 Aug 2017 14:42:48 +0530 Subject: [PATCH 033/115] Disabled running of AccountUpdater Tests --- SampleCodeTest/SampleCodeList.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 32faa58..566900c 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -55,4 +55,4 @@ CreateCustomerPaymentProfile 1 1 GetMerchantDetails 0 1 GetAnAcceptPaymentPage 1 1 UpdateHeldTransaction 1 0 -GetAccountUpdaterJobSummary 1 1 +GetAccountUpdaterJobSummary 1 0 From e714087309a4b2c1c64f4637cd112fd9c5adde23 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 26 Sep 2017 12:14:12 -0600 Subject: [PATCH 034/115] Rename directory to match the names used in the online API Reference guide --- .../AuthorizationAndCapture.cs | 0 .../AuthorizationAndCaptureContinue.cs | 0 .../AuthorizationOnly.cs | 0 .../AuthorizationOnlyContinued.cs | 0 {PaypalExpressCheckout => PayPalExpressCheckout}/Credit.cs | 0 {PaypalExpressCheckout => PayPalExpressCheckout}/GetDetails.cs | 0 .../PriorAuthorizationCapture.cs | 0 {PaypalExpressCheckout => PayPalExpressCheckout}/Void.cs | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename {PaypalExpressCheckout => PayPalExpressCheckout}/AuthorizationAndCapture.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/AuthorizationAndCaptureContinue.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/AuthorizationOnly.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/AuthorizationOnlyContinued.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/Credit.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/GetDetails.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/PriorAuthorizationCapture.cs (100%) rename {PaypalExpressCheckout => PayPalExpressCheckout}/Void.cs (100%) diff --git a/PaypalExpressCheckout/AuthorizationAndCapture.cs b/PayPalExpressCheckout/AuthorizationAndCapture.cs similarity index 100% rename from PaypalExpressCheckout/AuthorizationAndCapture.cs rename to PayPalExpressCheckout/AuthorizationAndCapture.cs diff --git a/PaypalExpressCheckout/AuthorizationAndCaptureContinue.cs b/PayPalExpressCheckout/AuthorizationAndCaptureContinue.cs similarity index 100% rename from PaypalExpressCheckout/AuthorizationAndCaptureContinue.cs rename to PayPalExpressCheckout/AuthorizationAndCaptureContinue.cs diff --git a/PaypalExpressCheckout/AuthorizationOnly.cs b/PayPalExpressCheckout/AuthorizationOnly.cs similarity index 100% rename from PaypalExpressCheckout/AuthorizationOnly.cs rename to PayPalExpressCheckout/AuthorizationOnly.cs diff --git a/PaypalExpressCheckout/AuthorizationOnlyContinued.cs b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs similarity index 100% rename from PaypalExpressCheckout/AuthorizationOnlyContinued.cs rename to PayPalExpressCheckout/AuthorizationOnlyContinued.cs diff --git a/PaypalExpressCheckout/Credit.cs b/PayPalExpressCheckout/Credit.cs similarity index 100% rename from PaypalExpressCheckout/Credit.cs rename to PayPalExpressCheckout/Credit.cs diff --git a/PaypalExpressCheckout/GetDetails.cs b/PayPalExpressCheckout/GetDetails.cs similarity index 100% rename from PaypalExpressCheckout/GetDetails.cs rename to PayPalExpressCheckout/GetDetails.cs diff --git a/PaypalExpressCheckout/PriorAuthorizationCapture.cs b/PayPalExpressCheckout/PriorAuthorizationCapture.cs similarity index 100% rename from PaypalExpressCheckout/PriorAuthorizationCapture.cs rename to PayPalExpressCheckout/PriorAuthorizationCapture.cs diff --git a/PaypalExpressCheckout/Void.cs b/PayPalExpressCheckout/Void.cs similarity index 100% rename from PaypalExpressCheckout/Void.cs rename to PayPalExpressCheckout/Void.cs From ff62d54bc954e35323a59b72529b865b1cc746dd Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 10 Oct 2017 12:26:59 -0600 Subject: [PATCH 035/115] fix path to samples --- SampleCode.csproj | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index dfa002e..8e72a51 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -83,14 +83,14 @@ - - - - - - - - + + + + + + + + From 6ae5fa0ad1d0f22d133ebc4ad044cf95dc8af393 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 17 Oct 2017 12:27:12 -0600 Subject: [PATCH 036/115] unify format and wording of README files --- README.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b39e33e..d5703b1 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,26 @@ -# Sample C# Code for Authorize.Net -[![Build Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.png?branch=master)](https://travis-ci.org/AuthorizeNet/sample-code-csharp) +# C# Sample Code for the Authorize.Net SDK +[![Travis CI Status](https://travis-ci.org/AuthorizeNet/sample-code-csharp.svg?branch=master)](https://travis-ci.org/AuthorizeNet/sample-code-csharp) -This repository contains working code samples which demonstrate C# integration with the Authorize.Net .NET SDK -The samples are organized just like our API, which you can also try out directly here: http://developer.authorize.net/api/reference +This repository contains working code samples which demonstrate C# integration with the [Authorize.Net .NET SDK](https://www.github.com/AuthorizeNet/sdk-dotnet). + +The samples are organized into categories and common usage examples, just like our [API Reference Guide](http://developer.authorize.net/api/reference). Our API Reference Guide is an interactive reference for the Authorize.Net API. It explains the request and response parameters for each API method and has embedded code windows to allow you to send actual requests right within the API Reference Guide. ## Using the Sample Code -The samples are all completely independent and self-contained so you can look at them to get a gist of how the method works, you can use the snippets to try in your own sample project, or you can run each sample from the command line. +The samples are all completely independent and self-contained. You can analyze them to get an understanding of how a particular method works, or you can use the snippets as a starting point for your own project. + +You can also run each sample directly from the command line. -## Running the Samples - Clone this repository. - Include the Authorize.Net SDK (https://github.com/AuthorizeNet/sdk-dotnet) +## Running the Samples From the Command Line +* Clone this repository: +``` + $ git clone https://github.com/AuthorizeNet/sample-code-csharp.git +``` +* Include the [Authorize.Net .NET SDK](https://github.com/AuthorizeNet/sdk-dotnet) `PM> Install-Package AuthorizeNet` - Build the project to produce the SampleCode console app. - Then run a sample directly by name: + Build the project to produce the SampleCode console app. +* Run the individual samples by name. For example: ``` > SampleCode [CodeSampleName] ``` From 446006b4911ee75051414714e5caad22402564ef Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 17 Oct 2017 14:25:53 -0600 Subject: [PATCH 037/115] correct punctuation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d5703b1..5f3a301 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ You can also run each sample directly from the command line. ``` $ git clone https://github.com/AuthorizeNet/sample-code-csharp.git ``` -* Include the [Authorize.Net .NET SDK](https://github.com/AuthorizeNet/sdk-dotnet) +* Include the [Authorize.Net .NET SDK](https://github.com/AuthorizeNet/sdk-dotnet): `PM> Install-Package AuthorizeNet` Build the project to produce the SampleCode console app. * Run the individual samples by name. For example: From b2e514c5c0c438f032667d9622f6fc3783de6350 Mon Sep 17 00:00:00 2001 From: adavidw Date: Tue, 17 Oct 2017 14:29:52 -0600 Subject: [PATCH 038/115] format request --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f3a301..cc2de0d 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,9 @@ You can also run each sample directly from the command line. $ git clone https://github.com/AuthorizeNet/sample-code-csharp.git ``` * Include the [Authorize.Net .NET SDK](https://github.com/AuthorizeNet/sdk-dotnet): - `PM> Install-Package AuthorizeNet` +``` + PM> Install-Package AuthorizeNet +``` Build the project to produce the SampleCode console app. * Run the individual samples by name. For example: ``` From 298ba79400411953384005d83263fe49cf0e3f96 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 8 Nov 2017 11:32:37 -0700 Subject: [PATCH 039/115] Match the names as used in the API Reference --- ...Continue.cs => AuthorizationAndCaptureContinued.cs} | 4 ++-- PayPalExpressCheckout/AuthorizationOnlyContinued.cs | 2 +- SampleCode.cs | 10 +++++----- SampleCodeTest/SampleCodeList.txt | 4 ++-- SampleCodeTest/TestRunner.cs | 8 ++++---- 5 files changed, 14 insertions(+), 14 deletions(-) rename PayPalExpressCheckout/{AuthorizationAndCaptureContinue.cs => AuthorizationAndCaptureContinued.cs} (96%) diff --git a/PayPalExpressCheckout/AuthorizationAndCaptureContinue.cs b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs similarity index 96% rename from PayPalExpressCheckout/AuthorizationAndCaptureContinue.cs rename to PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs index 32d2eae..0ad556b 100644 --- a/PayPalExpressCheckout/AuthorizationAndCaptureContinue.cs +++ b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs @@ -8,11 +8,11 @@ namespace net.authorize.sample { - public class PayPalAuthorizeCaptureContinue + public class PayPalAuthorizeCaptureContinued { public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string TransactionID, string PayerID) { - Console.WriteLine("PayPal Authorize Capture-Continue Transaction"); + Console.WriteLine("PayPal Authorization and Capture, Continued Transaction"); ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; diff --git a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs index 65aae9d..d354157 100644 --- a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs +++ b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs @@ -8,7 +8,7 @@ namespace net.authorize.sample { - public class PayPalAuthorizeOnlyContinue + public class PayPalAuthorizeOnlyContinued { public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string TransactionID, string PayerID) { diff --git a/SampleCode.cs b/SampleCode.cs index ea27063..16d99c0 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -85,7 +85,7 @@ private static void ShowMethods() Console.WriteLine(" CreateVisaCheckoutTransaction"); Console.WriteLine(" PayPalVoid"); Console.WriteLine(" PayPalAuthorizeCapture"); - Console.WriteLine(" PayPalAuthorizeCaptureContinue"); + Console.WriteLine(" PayPalAuthorizeCaptureContinued"); Console.WriteLine(" PayPalAuthorizeOnly"); Console.WriteLine(" PayPalCredit"); Console.WriteLine(" PayPalGetDetails"); @@ -263,14 +263,14 @@ private static void RunMethod(String methodName) case "PayPalAuthorizeCapture": PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, amount); break; - case "PayPalAuthorizeCaptureContinue": - PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, transactionId, payerId); + case "PayPalAuthorizeCaptureContinued": + PayPalAuthorizeCaptureContinued.Run(apiLoginId, transactionKey, transactionId, payerId); break; case "PayPalAuthorizeOnly": PayPalAuthorizeOnly.Run(apiLoginId, transactionKey, amount); break; - case "PayPalAuthorizeOnlyContinue": - PayPalAuthorizeOnlyContinue.Run(apiLoginId, transactionKey, transactionId, payerId); + case "PayPalAuthorizeOnlyContinued": + PayPalAuthorizeOnlyContinued.Run(apiLoginId, transactionKey, transactionId, payerId); break; case "PayPalCredit": PayPalCredit.Run(apiLoginId, transactionKey, transactionId); diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 566900c..dd9de28 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -41,8 +41,8 @@ CreditBankAccount 1 0 ChargeCustomerProfile 1 1 PayPalVoid 1 0 PayPalAuthorizeCapture 1 1 -PayPalAuthorizeCaptureContinue 1 1 -PayPalAuthorizeOnlyContinue 1 0 +PayPalAuthorizeCaptureContinued 1 1 +PayPalAuthorizeOnlyContinued 1 0 PayPalCredit 1 0 PayPalGetDetails 1 1 PayPalPriorAuthorizationCapture 1 0 diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index b77a9c2..79fa80e 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -314,15 +314,15 @@ public ANetApiResponse TestPayPalAuthorizeCapture() return PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, GetAmount()); } - public ANetApiResponse TestPayPalAuthorizeCaptureContinue() + public ANetApiResponse TestPayPalAuthorizeCaptureContinued() { var response = (createTransactionResponse)PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, GetAmount()); - return PayPalAuthorizeCaptureContinue.Run(apiLoginId, transactionKey, response.transactionResponse.transId, payerID); + return PayPalAuthorizeCaptureContinued.Run(apiLoginId, transactionKey, response.transactionResponse.transId, payerID); } - public ANetApiResponse TestPayPalAuthorizeOnlyContinue() + public ANetApiResponse TestPayPalAuthorizeOnlyContinued() { - return PayPalAuthorizeOnlyContinue.Run(apiLoginId, transactionKey, TransactionID, payerID); + return PayPalAuthorizeOnlyContinued.Run(apiLoginId, transactionKey, TransactionID, payerID); } public ANetApiResponse TestPayPalCredit() From 540235cfe3a4ab1e98ccd0f68febb556aa9d86d0 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 8 Nov 2017 12:14:25 -0700 Subject: [PATCH 040/115] Match the names as used in the API Reference --- PayPalExpressCheckout/AuthorizationOnlyContinued.cs | 2 +- SampleCode.cs | 1 + SampleCode.csproj | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs index d354157..d05f120 100644 --- a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs +++ b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs @@ -12,7 +12,7 @@ public class PayPalAuthorizeOnlyContinued { public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string TransactionID, string PayerID) { - Console.WriteLine("PayPal Authorize Only-Continue Transaction"); + Console.WriteLine("PayPal Authorize Only, Continued Transaction"); ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; diff --git a/SampleCode.cs b/SampleCode.cs index 16d99c0..ff83869 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -87,6 +87,7 @@ private static void ShowMethods() Console.WriteLine(" PayPalAuthorizeCapture"); Console.WriteLine(" PayPalAuthorizeCaptureContinued"); Console.WriteLine(" PayPalAuthorizeOnly"); + Console.WriteLine(" PayPalAuthorizeOnlyContinued"); Console.WriteLine(" PayPalCredit"); Console.WriteLine(" PayPalGetDetails"); Console.WriteLine(" PayPalPriorAuthorizationCapture"); diff --git a/SampleCode.csproj b/SampleCode.csproj index 8e72a51..632289b 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -84,7 +84,7 @@ - + From 03236b7cd6881d16725761b3c854826bc5ac65c6 Mon Sep 17 00:00:00 2001 From: adavidw Date: Sat, 11 Nov 2017 01:29:23 -0700 Subject: [PATCH 041/115] update sample bankAccountType --- PaymentTransactions/DebitBankAccount.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 14dda86..89e8d6f 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -26,10 +26,13 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { - accountNumber = "4111111", - routingNumber = "325070760", + accountType = bankAccountTypeEnum.checking, + routingNumber = "121042882", + accountNumber = "123456789", + nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) - nameOnAccount = "Test Name" + bankName = "Wells Fargo Bank NA", + // checkNumber = "101" // needed if echeckType is "ARC" or "BOC" }; //standard api call to retrieve response From 750a606b045710fe7bf9c5d46b4d3eaa8ab164f3 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 15 Nov 2017 22:26:43 -0800 Subject: [PATCH 042/115] correct a spelling error --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- MobileInAppTransactions/CreateAnAcceptTransaction.cs | 2 +- MobileInAppTransactions/CreateAnAndroidPayTransaction.cs | 2 +- MobileInAppTransactions/CreateAnApplePayTransaction.cs | 2 +- PayPalExpressCheckout/AuthorizationAndCapture.cs | 2 +- PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs | 2 +- PayPalExpressCheckout/AuthorizationOnly.cs | 2 +- PayPalExpressCheckout/AuthorizationOnlyContinued.cs | 2 +- PayPalExpressCheckout/Credit.cs | 2 +- PayPalExpressCheckout/GetDetails.cs | 2 +- PayPalExpressCheckout/PriorAuthorizationCapture.cs | 2 +- PayPalExpressCheckout/Void.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- PaymentTransactions/ChargeEncryptedTrackData.cs | 2 +- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- PaymentTransactions/ChargeTrackData.cs | 2 +- PaymentTransactions/CreateAnAcceptPaymentTransaction.cs | 2 +- PaymentTransactions/CreditBankAccount.cs | 2 +- PaymentTransactions/DebitBankAccount.cs | 2 +- PaymentTransactions/GetAnAcceptPaymentPage.cs | 2 +- PaymentTransactions/RefundTransaction.cs | 2 +- PaymentTransactions/UpdateSplitTenderGroup.cs | 2 +- PaymentTransactions/VoidTransaction.cs | 2 +- RecurringBilling/CancelSubscription.cs | 2 +- RecurringBilling/CreateSubscription.cs | 2 +- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/GetListOfSubscriptions.cs | 2 +- RecurringBilling/GetSubscription.cs | 2 +- RecurringBilling/GetSubscriptionStatus.cs | 2 +- 32 files changed, 32 insertions(+), 32 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index abdf287..94c551d 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -75,7 +75,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var request = new createCustomerProfileRequest{ profile = customerProfile, validationMode = validationModeEnum.none}; - var controller = new createCustomerProfileController(request); // instantiate the contoller that will call the service + var controller = new createCustomerProfileController(request); // instantiate the controller that will call the service controller.Execute(); createCustomerProfileResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/MobileInAppTransactions/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/CreateAnAcceptTransaction.cs index a0b64c3..d428f60 100644 --- a/MobileInAppTransactions/CreateAnAcceptTransaction.cs +++ b/MobileInAppTransactions/CreateAnAcceptTransaction.cs @@ -39,7 +39,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs index 5d7e883..747a768 100644 --- a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs +++ b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs @@ -39,7 +39,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/MobileInAppTransactions/CreateAnApplePayTransaction.cs b/MobileInAppTransactions/CreateAnApplePayTransaction.cs index ccb5367..31d0215 100644 --- a/MobileInAppTransactions/CreateAnApplePayTransaction.cs +++ b/MobileInAppTransactions/CreateAnApplePayTransaction.cs @@ -39,7 +39,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/AuthorizationAndCapture.cs b/PayPalExpressCheckout/AuthorizationAndCapture.cs index 5218063..9d32477 100644 --- a/PayPalExpressCheckout/AuthorizationAndCapture.cs +++ b/PayPalExpressCheckout/AuthorizationAndCapture.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs index 0ad556b..5c9c7bc 100644 --- a/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs +++ b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs @@ -44,7 +44,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/AuthorizationOnly.cs b/PayPalExpressCheckout/AuthorizationOnly.cs index b45668a..f6a5dc6 100644 --- a/PayPalExpressCheckout/AuthorizationOnly.cs +++ b/PayPalExpressCheckout/AuthorizationOnly.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs index d05f120..90489a3 100644 --- a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs +++ b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs @@ -44,7 +44,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/Credit.cs b/PayPalExpressCheckout/Credit.cs index 9c1b761..5c97604 100644 --- a/PayPalExpressCheckout/Credit.cs +++ b/PayPalExpressCheckout/Credit.cs @@ -43,7 +43,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/GetDetails.cs b/PayPalExpressCheckout/GetDetails.cs index 2675c27..d235f83 100644 --- a/PayPalExpressCheckout/GetDetails.cs +++ b/PayPalExpressCheckout/GetDetails.cs @@ -43,7 +43,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/PriorAuthorizationCapture.cs b/PayPalExpressCheckout/PriorAuthorizationCapture.cs index b06c590..0e640c6 100644 --- a/PayPalExpressCheckout/PriorAuthorizationCapture.cs +++ b/PayPalExpressCheckout/PriorAuthorizationCapture.cs @@ -43,7 +43,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PayPalExpressCheckout/Void.cs b/PayPalExpressCheckout/Void.cs index 69776bb..97ff7f5 100644 --- a/PayPalExpressCheckout/Void.cs +++ b/PayPalExpressCheckout/Void.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 4f0d937..0783d39 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 934c5f0..0faf375 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -51,7 +51,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs b/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs index 03ba769..a0a66bd 100644 --- a/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs +++ b/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index b97d7b3..9a54f19 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -61,7 +61,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/ChargeEncryptedTrackData.cs b/PaymentTransactions/ChargeEncryptedTrackData.cs index 3c69966..ce7af49 100644 --- a/PaymentTransactions/ChargeEncryptedTrackData.cs +++ b/PaymentTransactions/ChargeEncryptedTrackData.cs @@ -72,7 +72,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index f71ea7a..9ee912e 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -46,7 +46,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/ChargeTrackData.cs b/PaymentTransactions/ChargeTrackData.cs index bd2a046..0a0f0c1 100644 --- a/PaymentTransactions/ChargeTrackData.cs +++ b/PaymentTransactions/ChargeTrackData.cs @@ -57,7 +57,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs index fe59990..39666ec 100644 --- a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs +++ b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs @@ -61,7 +61,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/CreditBankAccount.cs b/PaymentTransactions/CreditBankAccount.cs index 12fa768..97ace97 100644 --- a/PaymentTransactions/CreditBankAccount.cs +++ b/PaymentTransactions/CreditBankAccount.cs @@ -45,7 +45,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 89e8d6f..bb43123 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -47,7 +47,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/GetAnAcceptPaymentPage.cs b/PaymentTransactions/GetAnAcceptPaymentPage.cs index a9eec2b..cb8b323 100644 --- a/PaymentTransactions/GetAnAcceptPaymentPage.cs +++ b/PaymentTransactions/GetAnAcceptPaymentPage.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d request.transactionRequest = transactionRequest; request.hostedPaymentSettings = settings; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new getHostedPaymentPageController(request); controller.Execute(); diff --git a/PaymentTransactions/RefundTransaction.cs b/PaymentTransactions/RefundTransaction.cs index fcfa1a2..faaa238 100644 --- a/PaymentTransactions/RefundTransaction.cs +++ b/PaymentTransactions/RefundTransaction.cs @@ -43,7 +43,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/PaymentTransactions/UpdateSplitTenderGroup.cs b/PaymentTransactions/UpdateSplitTenderGroup.cs index 4cab637..5ab46ef 100644 --- a/PaymentTransactions/UpdateSplitTenderGroup.cs +++ b/PaymentTransactions/UpdateSplitTenderGroup.cs @@ -33,7 +33,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var request = new updateSplitTenderGroupRequest { splitTenderId = splitTenderId, splitTenderStatus = splitTenderStatus }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new updateSplitTenderGroupController(request); controller.Execute(); var response = controller.GetApiResponse(); diff --git a/PaymentTransactions/VoidTransaction.cs b/PaymentTransactions/VoidTransaction.cs index d04f04c..3fa0b4f 100644 --- a/PaymentTransactions/VoidTransaction.cs +++ b/PaymentTransactions/VoidTransaction.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new createTransactionRequest { transactionRequest = transactionRequest }; - // instantiate the contoller that will call the service + // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); diff --git a/RecurringBilling/CancelSubscription.cs b/RecurringBilling/CancelSubscription.cs index 792ab18..6a80c58 100644 --- a/RecurringBilling/CancelSubscription.cs +++ b/RecurringBilling/CancelSubscription.cs @@ -24,7 +24,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s //Please change the subscriptionId according to your request var request = new ARBCancelSubscriptionRequest { subscriptionId = subscriptionId }; - var controller = new ARBCancelSubscriptionController(request); // instantiate the contoller that will call the service + var controller = new ARBCancelSubscriptionController(request); // instantiate the controller that will call the service controller.Execute(); ARBCancelSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index c072dae..da223ca 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -64,7 +64,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new ARBCreateSubscriptionRequest {subscription = subscriptionType }; - var controller = new ARBCreateSubscriptionController(request); // instantiate the contoller that will call the service + var controller = new ARBCreateSubscriptionController(request); // instantiate the controller that will call the service controller.Execute(); ARBCreateSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index dc54e9c..9c0d878 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -65,7 +65,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new ARBCreateSubscriptionRequest {subscription = subscriptionType }; - var controller = new ARBCreateSubscriptionController(request); // instantiate the contoller that will call the service + var controller = new ARBCreateSubscriptionController(request); // instantiate the controller that will call the service controller.Execute(); ARBCreateSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/RecurringBilling/GetListOfSubscriptions.cs b/RecurringBilling/GetListOfSubscriptions.cs index e90b1a7..2056c02 100644 --- a/RecurringBilling/GetListOfSubscriptions.cs +++ b/RecurringBilling/GetListOfSubscriptions.cs @@ -25,7 +25,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var request = new ARBGetSubscriptionListRequest {searchType = ARBGetSubscriptionListSearchTypeEnum.subscriptionActive }; // only gets active subscriptions - var controller = new ARBGetSubscriptionListController(request); // instantiate the contoller that will call the service + var controller = new ARBGetSubscriptionListController(request); // instantiate the controller that will call the service controller.Execute(); ARBGetSubscriptionListResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/RecurringBilling/GetSubscription.cs b/RecurringBilling/GetSubscription.cs index c4aacb4..2787cc9 100644 --- a/RecurringBilling/GetSubscription.cs +++ b/RecurringBilling/GetSubscription.cs @@ -25,7 +25,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new ARBGetSubscriptionRequest { subscriptionId = subscriptionId }; - var controller = new ARBGetSubscriptionController(request); // instantiate the contoller that will call the service + var controller = new ARBGetSubscriptionController(request); // instantiate the controller that will call the service controller.Execute(); ARBGetSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) diff --git a/RecurringBilling/GetSubscriptionStatus.cs b/RecurringBilling/GetSubscriptionStatus.cs index ec2aac8..e986167 100644 --- a/RecurringBilling/GetSubscriptionStatus.cs +++ b/RecurringBilling/GetSubscriptionStatus.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s //please update the subscriptionId according to your sandbox credentials var request = new ARBGetSubscriptionStatusRequest { subscriptionId = subscriptionId }; - var controller = new ARBGetSubscriptionStatusController(request); // instantiate the contoller that will call the service + var controller = new ARBGetSubscriptionStatusController(request); // instantiate the controller that will call the service controller.Execute(); ARBGetSubscriptionStatusResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) From 98c1970633a1872c75fc26c4aa200cfe282a4c75 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 15 Nov 2017 22:30:26 -0800 Subject: [PATCH 043/115] update bank account information --- PaymentTransactions/CreditBankAccount.cs | 15 +++++++++------ PaymentTransactions/DebitBankAccount.cs | 6 +++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/PaymentTransactions/CreditBankAccount.cs b/PaymentTransactions/CreditBankAccount.cs index 97ace97..bcbd3a9 100644 --- a/PaymentTransactions/CreditBankAccount.cs +++ b/PaymentTransactions/CreditBankAccount.cs @@ -26,13 +26,16 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var bankAccount = new bankAccountType { - accountNumber = "4111111", - routingNumber = "325070760", - echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) - nameOnAccount = "Test Name" + accountType = bankAccountTypeEnum.checking, + routingNumber = "121042882", + accountNumber = "1234567890", + nameOnAccount = "John Doe", + echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) + bankName = "Wells Fargo Bank NA", + // checkNumber = "101" // needed if echeckType is "ARC" or "BOC" }; - //standard api call to retrieve response + // standard api call to retrieve response var paymentType = new paymentType { Item = bankAccount }; var transactionRequest = new transactionRequestType @@ -52,7 +55,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index bb43123..289c74b 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -28,14 +28,14 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { accountType = bankAccountTypeEnum.checking, routingNumber = "121042882", - accountNumber = "123456789", + accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) bankName = "Wells Fargo Bank NA", // checkNumber = "101" // needed if echeckType is "ARC" or "BOC" }; - //standard api call to retrieve response + // standard api call to retrieve response var paymentType = new paymentType { Item = bankAccount }; var transactionRequest = new transactionRequestType @@ -54,7 +54,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) From cc3a4dc9c396315a31214082911cb9bd980ee5b5 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 15 Nov 2017 22:37:12 -0800 Subject: [PATCH 044/115] fix comment --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- CustomerProfiles/CreateCustomerProfileFromTransaction.cs | 2 +- MobileInAppTransactions/CreateAnAcceptTransaction.cs | 2 +- MobileInAppTransactions/CreateAnAndroidPayTransaction.cs | 2 +- MobileInAppTransactions/CreateAnApplePayTransaction.cs | 2 +- PayPalExpressCheckout/AuthorizationAndCapture.cs | 2 +- PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs | 2 +- PayPalExpressCheckout/AuthorizationOnly.cs | 2 +- PayPalExpressCheckout/AuthorizationOnlyContinued.cs | 2 +- PayPalExpressCheckout/Credit.cs | 2 +- PayPalExpressCheckout/GetDetails.cs | 2 +- PayPalExpressCheckout/PriorAuthorizationCapture.cs | 2 +- PayPalExpressCheckout/Void.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- PaymentTransactions/ChargeCustomerProfile.cs | 2 +- PaymentTransactions/ChargeEncryptedTrackData.cs | 2 +- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- PaymentTransactions/ChargeTrackData.cs | 2 +- PaymentTransactions/CreateAnAcceptPaymentTransaction.cs | 2 +- PaymentTransactions/GetAnAcceptPaymentPage.cs | 2 +- PaymentTransactions/RefundTransaction.cs | 2 +- PaymentTransactions/UpdateSplitTenderGroup.cs | 2 +- PaymentTransactions/VoidTransaction.cs | 2 +- RecurringBilling/CancelSubscription.cs | 2 +- RecurringBilling/CreateSubscription.cs | 2 +- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/GetListOfSubscriptions.cs | 2 +- RecurringBilling/GetSubscription.cs | 2 +- RecurringBilling/GetSubscriptionStatus.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- VisaCheckout/CreateVisaCheckoutTransaction.cs | 2 +- VisaCheckout/DecryptVisaCheckoutData.cs | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 94c551d..de6e463 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -80,7 +80,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s createCustomerProfileResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/CustomerProfiles/CreateCustomerProfileFromTransaction.cs b/CustomerProfiles/CreateCustomerProfileFromTransaction.cs index 986bffc..0af574c 100644 --- a/CustomerProfiles/CreateCustomerProfileFromTransaction.cs +++ b/CustomerProfiles/CreateCustomerProfileFromTransaction.cs @@ -42,7 +42,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s createCustomerProfileResponse response = controller.GetApiResponse(); - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/MobileInAppTransactions/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/CreateAnAcceptTransaction.cs index d428f60..e94a4f9 100644 --- a/MobileInAppTransactions/CreateAnAcceptTransaction.cs +++ b/MobileInAppTransactions/CreateAnAcceptTransaction.cs @@ -46,7 +46,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs index 747a768..b0267ac 100644 --- a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs +++ b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs @@ -46,7 +46,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/MobileInAppTransactions/CreateAnApplePayTransaction.cs b/MobileInAppTransactions/CreateAnApplePayTransaction.cs index 31d0215..76fd909 100644 --- a/MobileInAppTransactions/CreateAnApplePayTransaction.cs +++ b/MobileInAppTransactions/CreateAnApplePayTransaction.cs @@ -46,7 +46,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, D // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/AuthorizationAndCapture.cs b/PayPalExpressCheckout/AuthorizationAndCapture.cs index 9d32477..286d95f 100644 --- a/PayPalExpressCheckout/AuthorizationAndCapture.cs +++ b/PayPalExpressCheckout/AuthorizationAndCapture.cs @@ -49,7 +49,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs index 5c9c7bc..69e0153 100644 --- a/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs +++ b/PayPalExpressCheckout/AuthorizationAndCaptureContinued.cs @@ -51,7 +51,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/AuthorizationOnly.cs b/PayPalExpressCheckout/AuthorizationOnly.cs index f6a5dc6..4af0ddc 100644 --- a/PayPalExpressCheckout/AuthorizationOnly.cs +++ b/PayPalExpressCheckout/AuthorizationOnly.cs @@ -49,7 +49,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs index 90489a3..5c2e29e 100644 --- a/PayPalExpressCheckout/AuthorizationOnlyContinued.cs +++ b/PayPalExpressCheckout/AuthorizationOnlyContinued.cs @@ -51,7 +51,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/Credit.cs b/PayPalExpressCheckout/Credit.cs index 5c97604..301b6b0 100644 --- a/PayPalExpressCheckout/Credit.cs +++ b/PayPalExpressCheckout/Credit.cs @@ -50,7 +50,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/GetDetails.cs b/PayPalExpressCheckout/GetDetails.cs index d235f83..527c258 100644 --- a/PayPalExpressCheckout/GetDetails.cs +++ b/PayPalExpressCheckout/GetDetails.cs @@ -50,7 +50,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/PriorAuthorizationCapture.cs b/PayPalExpressCheckout/PriorAuthorizationCapture.cs index 0e640c6..5b87db9 100644 --- a/PayPalExpressCheckout/PriorAuthorizationCapture.cs +++ b/PayPalExpressCheckout/PriorAuthorizationCapture.cs @@ -50,7 +50,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PayPalExpressCheckout/Void.cs b/PayPalExpressCheckout/Void.cs index 97ff7f5..69c6947 100644 --- a/PayPalExpressCheckout/Void.cs +++ b/PayPalExpressCheckout/Void.cs @@ -49,7 +49,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 0783d39..46ce82d 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -49,7 +49,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if(response != null){ if(response.messages.resultCode == messageTypeEnum.Ok){ if(response.transactionResponse.messages != null) diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 0faf375..26da4e0 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -58,7 +58,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs b/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs index a0a66bd..5f1fd13 100644 --- a/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs +++ b/PaymentTransactions/CapturePreviouslyAuthorizedAmount.cs @@ -48,7 +48,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index 9a54f19..a9e7cc6 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -68,7 +68,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/ChargeCustomerProfile.cs b/PaymentTransactions/ChargeCustomerProfile.cs index fc9d7cf..1146641 100644 --- a/PaymentTransactions/ChargeCustomerProfile.cs +++ b/PaymentTransactions/ChargeCustomerProfile.cs @@ -46,7 +46,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/ChargeEncryptedTrackData.cs b/PaymentTransactions/ChargeEncryptedTrackData.cs index ce7af49..cdd7152 100644 --- a/PaymentTransactions/ChargeEncryptedTrackData.cs +++ b/PaymentTransactions/ChargeEncryptedTrackData.cs @@ -79,7 +79,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 9ee912e..2ec769c 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -53,7 +53,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/ChargeTrackData.cs b/PaymentTransactions/ChargeTrackData.cs index 0a0f0c1..181837e 100644 --- a/PaymentTransactions/ChargeTrackData.cs +++ b/PaymentTransactions/ChargeTrackData.cs @@ -64,7 +64,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs index 39666ec..90a855b 100644 --- a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs +++ b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs @@ -68,7 +68,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/GetAnAcceptPaymentPage.cs b/PaymentTransactions/GetAnAcceptPaymentPage.cs index cb8b323..bc9725d 100644 --- a/PaymentTransactions/GetAnAcceptPaymentPage.cs +++ b/PaymentTransactions/GetAnAcceptPaymentPage.cs @@ -48,7 +48,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { Console.WriteLine("Message code : " + response.messages.message[0].code); diff --git a/PaymentTransactions/RefundTransaction.cs b/PaymentTransactions/RefundTransaction.cs index faaa238..e7b6bec 100644 --- a/PaymentTransactions/RefundTransaction.cs +++ b/PaymentTransactions/RefundTransaction.cs @@ -50,7 +50,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/PaymentTransactions/UpdateSplitTenderGroup.cs b/PaymentTransactions/UpdateSplitTenderGroup.cs index 5ab46ef..2e5a6c0 100644 --- a/PaymentTransactions/UpdateSplitTenderGroup.cs +++ b/PaymentTransactions/UpdateSplitTenderGroup.cs @@ -38,7 +38,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) controller.Execute(); var response = controller.GetApiResponse(); - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { Console.WriteLine("Successfully Updated ... "); diff --git a/PaymentTransactions/VoidTransaction.cs b/PaymentTransactions/VoidTransaction.cs index 3fa0b4f..3a0f705 100644 --- a/PaymentTransactions/VoidTransaction.cs +++ b/PaymentTransactions/VoidTransaction.cs @@ -49,7 +49,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/RecurringBilling/CancelSubscription.cs b/RecurringBilling/CancelSubscription.cs index 6a80c58..8197fda 100644 --- a/RecurringBilling/CancelSubscription.cs +++ b/RecurringBilling/CancelSubscription.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s ARBCancelSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index da223ca..7647056 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -69,7 +69,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s ARBCreateSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index 9c0d878..f2a41e0 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -70,7 +70,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s ARBCreateSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/RecurringBilling/GetListOfSubscriptions.cs b/RecurringBilling/GetListOfSubscriptions.cs index 2056c02..9a4f942 100644 --- a/RecurringBilling/GetListOfSubscriptions.cs +++ b/RecurringBilling/GetListOfSubscriptions.cs @@ -30,7 +30,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) ARBGetSubscriptionListResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null && response.subscriptionDetails != null) diff --git a/RecurringBilling/GetSubscription.cs b/RecurringBilling/GetSubscription.cs index 2787cc9..b2511aa 100644 --- a/RecurringBilling/GetSubscription.cs +++ b/RecurringBilling/GetSubscription.cs @@ -30,7 +30,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s ARBGetSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response.subscription != null) diff --git a/RecurringBilling/GetSubscriptionStatus.cs b/RecurringBilling/GetSubscriptionStatus.cs index e986167..9a7e08f 100644 --- a/RecurringBilling/GetSubscriptionStatus.cs +++ b/RecurringBilling/GetSubscriptionStatus.cs @@ -31,7 +31,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s ARBGetSubscriptionStatusResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index 279a93a..ac5dec4 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -69,7 +69,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s ARBUpdateSubscriptionResponse response = controller.GetApiResponse(); - //validate + // validate response if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) diff --git a/VisaCheckout/CreateVisaCheckoutTransaction.cs b/VisaCheckout/CreateVisaCheckoutTransaction.cs index 1f83448..e9f5b82 100644 --- a/VisaCheckout/CreateVisaCheckoutTransaction.cs +++ b/VisaCheckout/CreateVisaCheckoutTransaction.cs @@ -48,7 +48,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) controller.Execute(); var response = controller.GetApiResponse(); - //validate + // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) diff --git a/VisaCheckout/DecryptVisaCheckoutData.cs b/VisaCheckout/DecryptVisaCheckoutData.cs index cf8cade..a01cf14 100644 --- a/VisaCheckout/DecryptVisaCheckoutData.cs +++ b/VisaCheckout/DecryptVisaCheckoutData.cs @@ -44,7 +44,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) if (decryptPaymentDataResponse != null) { - //validate response + // validate response Console.WriteLine("Result : "+decryptPaymentDataResponse.messages.message); Console.WriteLine(" : "+decryptPaymentDataResponse.messages.resultCode); Console.WriteLine("First Name : "+decryptPaymentDataResponse.billingInfo.firstName); From 8161bf6b3c2856529f79f03d4f54f190a33d06a2 Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 15 Nov 2017 22:46:55 -0800 Subject: [PATCH 045/115] clean up and comment profile code --- .../CreateCustomerPaymentProfile.cs | 41 +++++++++++++------ CustomerProfiles/CreateCustomerProfile.cs | 39 ++++++++++++------ 2 files changed, 54 insertions(+), 26 deletions(-) diff --git a/CustomerProfiles/CreateCustomerPaymentProfile.cs b/CustomerProfiles/CreateCustomerPaymentProfile.cs index cfe86cd..c1bef7a 100644 --- a/CustomerProfiles/CreateCustomerPaymentProfile.cs +++ b/CustomerProfiles/CreateCustomerPaymentProfile.cs @@ -8,10 +8,14 @@ namespace net.authorize.sample { public class CreateCustomerPaymentProfile { - public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string customerProfileId) + public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, string customerProfileId) { - Console.WriteLine("CreateCustomerPaymentProfile Sample"); + Console.WriteLine("Create Customer Payment Profile Sample"); + + // set whether to use the sandbox environment, or production enviornment ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + // define the merchant information (authentication / transaction id) ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, @@ -47,26 +51,37 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s validationMode = validationModeEnum.none }; - //Prepare Request + // instantiate the controller that will call the service var controller = new createCustomerPaymentProfileController(request); controller.Execute(); - //Send Request to EndPoint - createCustomerPaymentProfileResponse response = controller.GetApiResponse(); - if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + // get the response from the service (errors contained if any) + createCustomerPaymentProfileResponse response = controller.GetApiResponse(); + + // validate response + if (response != null) { - if (response != null && response.messages.message != null) + if (response.messages.resultCode == messageTypeEnum.Ok) { - Console.WriteLine("Success, createCustomerPaymentProfileID : " + response.customerPaymentProfileId); + if(response.messages.message != null) + { + Console.WriteLine("Success! Customer Payment Profile ID: " + response.customerPaymentProfileId); + } + } + else + { + Console.WriteLine("Customer Payment Profile Creation Failed."); + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + if (response.messages.message[0].code == "E00039") + { + Console.WriteLine("Duplicate Payment Profile ID: " + response.customerPaymentProfileId); + } } } else { - Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); - if (response.messages.message[0].code == "E00039") - { - Console.WriteLine("Duplicate ID: " + response.customerPaymentProfileId); - } + Console.WriteLine("Null Response."); } return response; diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index de6e463..1a784d3 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -10,9 +10,12 @@ public class CreateCustomerProfile { public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, string emailId) { - Console.WriteLine("CreateCustomerProfile Sample"); + Console.WriteLine("Create Customer Profile Sample"); + // set whether to use the sandbox environment, or production enviornment ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + // define the merchant information (authentication / transaction id) ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, @@ -20,7 +23,6 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s Item = ApiTransactionKey, }; - var creditCard = new creditCardType { cardNumber = "4111111111111111", @@ -37,7 +39,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s bankName = "Bank Of America" }; - //standard api call to retrieve response + // standard api call to retrieve response paymentType cc = new paymentType { Item = creditCard }; paymentType echeck = new paymentType {Item = bankAccount}; @@ -75,24 +77,35 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var request = new createCustomerProfileRequest{ profile = customerProfile, validationMode = validationModeEnum.none}; - var controller = new createCustomerProfileController(request); // instantiate the controller that will call the service + // instantiate the controller that will call the service + var controller = new createCustomerProfileController(request); controller.Execute(); - createCustomerProfileResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) + // get the response from the service (errors contained if any) + createCustomerProfileResponse response = controller.GetApiResponse(); - // validate response - if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + // validate response + if (response != null) { - if (response != null && response.messages.message != null) + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if(response.messages.message != null) + { + Console.WriteLine("Success!"); + Console.WriteLine("Customer Profile ID: " + response.customerProfileId); + Console.WriteLine("Payment Profile ID: " + response.customerPaymentProfileIdList[0]); + Console.WriteLine("Shipping Profile ID: " + response.customerShippingAddressIdList[0]); } + } + else { - Console.WriteLine("Success, CustomerProfileID : " + response.customerProfileId); - Console.WriteLine("Success, CustomerPaymentProfileID : " + response.customerPaymentProfileIdList[0]); - Console.WriteLine("Success, CustomerShippingProfileID : " + response.customerShippingAddressIdList[0]); + Console.WriteLine("Customer Profile Creation Failed."); + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); } } - else if(response != null ) + else { - Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); + Console.WriteLine("Null Response."); } return response; From ad0ebda64f706058ae1efa87932c8a9f979bd87e Mon Sep 17 00:00:00 2001 From: adavidw Date: Wed, 15 Nov 2017 23:00:43 -0800 Subject: [PATCH 046/115] add getErrorResponse() to profile code --- CustomerProfiles/CreateCustomerPaymentProfile.cs | 13 +++++++++++-- CustomerProfiles/CreateCustomerProfile.cs | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/CustomerProfiles/CreateCustomerPaymentProfile.cs b/CustomerProfiles/CreateCustomerPaymentProfile.cs index c1bef7a..601e285 100644 --- a/CustomerProfiles/CreateCustomerPaymentProfile.cs +++ b/CustomerProfiles/CreateCustomerPaymentProfile.cs @@ -81,11 +81,20 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s } else { - Console.WriteLine("Null Response."); + if (controller.GetErrorResponse().messages.message.Length > 0) + { + Console.WriteLine("Customer Payment Profile Creation Failed."); + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + else + { + Console.WriteLine("Null Response."); + } } return response; } } -} +} \ No newline at end of file diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 1a784d3..7c1d0ad 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -105,10 +105,19 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s } else { - Console.WriteLine("Null Response."); + if (controller.GetErrorResponse().messages.message.Length > 0) + { + Console.WriteLine("Customer Profile Creation Failed."); + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + else + { + Console.WriteLine("Null Response."); + } } return response; } } -} +} \ No newline at end of file From e9f6b93b4594b508d034604b088092e383ff69f9 Mon Sep 17 00:00:00 2001 From: Sunny Raj Rathod Date: Fri, 17 Nov 2017 11:02:06 +0530 Subject: [PATCH 047/115] Update packages.config --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index b2e3aec..22db397 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From 9da058c1e0469d4f71546dde5a676d473086345f Mon Sep 17 00:00:00 2001 From: Sunny Raj Rathod Date: Fri, 17 Nov 2017 11:09:15 +0530 Subject: [PATCH 048/115] Update SampleCode.csproj --- SampleCode.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 632289b..6470574 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.3\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.4\lib\AuthorizeNet.dll @@ -123,4 +123,4 @@ --> - \ No newline at end of file + From 799a7a12c5fb4613965e54f68faea6dfa617ee3e Mon Sep 17 00:00:00 2001 From: Shaun Root Date: Mon, 15 Jan 2018 10:53:18 -0500 Subject: [PATCH 049/115] Remove credit card information Passing the credit card is not required. In most cases, the merchant will not even have the credit card number, especially if they are using the CIM. --- PaymentTransactions/VoidTransaction.cs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/PaymentTransactions/VoidTransaction.cs b/PaymentTransactions/VoidTransaction.cs index 3a0f705..420c0e3 100644 --- a/PaymentTransactions/VoidTransaction.cs +++ b/PaymentTransactions/VoidTransaction.cs @@ -24,19 +24,9 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s Item = ApiTransactionKey }; - var creditCard = new creditCardType - { - cardNumber = "4111111111111111", - expirationDate = "0718" - }; - - //standard api call to retrieve response - var paymentType = new paymentType { Item = creditCard }; - var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.voidTransaction.ToString(), // refund type - payment = paymentType, refTransId = TransactionID }; From 2ac59fc4ba9e23debdd9a88674a94e043166dc6d Mon Sep 17 00:00:00 2001 From: Kaushik Kumar Mahato Date: Fri, 23 Feb 2018 19:46:12 +0530 Subject: [PATCH 050/115] Update CreditBankAccount.cs Update bank routing number --- PaymentTransactions/CreditBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/CreditBankAccount.cs b/PaymentTransactions/CreditBankAccount.cs index bcbd3a9..aeadd8a 100644 --- a/PaymentTransactions/CreditBankAccount.cs +++ b/PaymentTransactions/CreditBankAccount.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.checking, - routingNumber = "121042882", + routingNumber = "125000105", accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) From e386901d6085c9378440a94c7b11644eca11d2d8 Mon Sep 17 00:00:00 2001 From: Kaushik Kumar Mahato Date: Fri, 23 Feb 2018 19:46:49 +0530 Subject: [PATCH 051/115] Update DebitBankAccount.cs Update bank routing number --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 289c74b..c5c3822 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.checking, - routingNumber = "121042882", + routingNumber = "125000105", accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) From 8e17f1b94a8106b074d671a9d79acf3c1d0279ba Mon Sep 17 00:00:00 2001 From: Ashutosh Singh Date: Sun, 10 Jun 2018 22:53:49 +0530 Subject: [PATCH 052/115] Update DebitBankAccount.cs Update routing number to a working one. --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index c5c3822..d2aecf4 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.checking, - routingNumber = "125000105", + routingNumber = "125008547", accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) From 553fba715f18759004601d061bba1009f8911723 Mon Sep 17 00:00:00 2001 From: Kaushik Kumar Mahato Date: Wed, 20 Jun 2018 15:30:32 +0530 Subject: [PATCH 053/115] Update to version 1.9.5 --- SampleCode.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 6470574..706146e 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.4\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.5\lib\AuthorizeNet.dll From 2e808cd5bba3534884434f0cb43307cc6e97b0b9 Mon Sep 17 00:00:00 2001 From: Kaushik Kumar Mahato Date: Wed, 20 Jun 2018 15:31:38 +0530 Subject: [PATCH 054/115] Update to version 1.9.5 --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 22db397..b442a25 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From 29fa3f588cc575e51e564a9dc0c8a8bf63c1677e Mon Sep 17 00:00:00 2001 From: Sharath Date: Wed, 25 Jul 2018 10:54:44 +0530 Subject: [PATCH 055/115] Added Routing number for Versioning issue to Run Travis --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index d2aecf4..c929e39 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.checking, - routingNumber = "125008547", + routingNumber = "122000661", accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) From 1ffa57afbe59ee6b596c57ff8026193b647735cf Mon Sep 17 00:00:00 2001 From: sudhirkumar2018 <36911383+sudhirkumar2018@users.noreply.github.com> Date: Tue, 7 Aug 2018 13:12:29 +0530 Subject: [PATCH 056/115] Added Dot Net Core Proj and sln files Added Dot Net Core Proj and sln files --- .../SampleCodeTest_DotNet_Core.csproj | 27 +++++++++++++++ SampleCode_DotNet_Core.csproj | 22 ++++++++++++ SampleCode_DotNet_Core.sln | 34 +++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 SampleCodeTest/SampleCodeTest_DotNet_Core.csproj create mode 100644 SampleCode_DotNet_Core.csproj create mode 100644 SampleCode_DotNet_Core.sln diff --git a/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj b/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj new file mode 100644 index 0000000..1d2526f --- /dev/null +++ b/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj @@ -0,0 +1,27 @@ + + + + netcoreapp2.0 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SampleCode_DotNet_Core.csproj b/SampleCode_DotNet_Core.csproj new file mode 100644 index 0000000..a7a7e3d --- /dev/null +++ b/SampleCode_DotNet_Core.csproj @@ -0,0 +1,22 @@ + + + + Exe + + + + netcoreapp1.1 + + exe + + + + + + + + + + + + \ No newline at end of file diff --git a/SampleCode_DotNet_Core.sln b/SampleCode_DotNet_Core.sln new file mode 100644 index 0000000..a68a305 --- /dev/null +++ b/SampleCode_DotNet_Core.sln @@ -0,0 +1,34 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleCode_DotNet_Core", "SampleCode_DotNet_Core.csproj", "{50A29DBF-957F-4ECE-AC1C-4659DEAADB65}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleCodeTest_DotNet_Core", "SampleCodeTest\SampleCodeTest_DotNet_Core.csproj", "{A0955044-8446-45AE-A8E9-2D97299E5C6A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthorizeNET", "..\AuthorizeNET\AuthorizeNET.csproj", "{973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {50A29DBF-957F-4ECE-AC1C-4659DEAADB65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {50A29DBF-957F-4ECE-AC1C-4659DEAADB65}.Debug|Any CPU.Build.0 = Debug|Any CPU + {50A29DBF-957F-4ECE-AC1C-4659DEAADB65}.Release|Any CPU.ActiveCfg = Release|Any CPU + {50A29DBF-957F-4ECE-AC1C-4659DEAADB65}.Release|Any CPU.Build.0 = Release|Any CPU + {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Release|Any CPU.Build.0 = Release|Any CPU + {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From f540faeba156515bc79ef5b2f63ccaa58a9a790e Mon Sep 17 00:00:00 2001 From: saibasu Date: Thu, 9 Aug 2018 17:07:02 +0530 Subject: [PATCH 057/115] Random generation of Account Number added for testing Travis Build #S214880 --- PaymentTransactions/DebitBankAccount.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index d2aecf4..71bced3 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -24,11 +24,14 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d Item = ApiTransactionKey }; + Random rand = new Random(); + int randomAccountNumber = rand.Next(100000000, int.MaxValue); + var bankAccount = new bankAccountType { - accountType = bankAccountTypeEnum.checking, - routingNumber = "125008547", - accountNumber = "1234567890", + accountType = bankAccountTypeEnum.savings, + routingNumber = "121141754",//"125008547", + accountNumber = randomAccountNumber.ToString(), //"1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) bankName = "Wells Fargo Bank NA", From 1fd9a7bfd55d97b0e85365a554047583f8939471 Mon Sep 17 00:00:00 2001 From: saibasu Date: Thu, 9 Aug 2018 17:50:29 +0530 Subject: [PATCH 058/115] Changing Routing Number for Travis Build #S214880 --- PaymentTransactions/DebitBankAccount.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 71bced3..ebff76f 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -30,8 +30,8 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.savings, - routingNumber = "121141754",//"125008547", - accountNumber = randomAccountNumber.ToString(), //"1234567890", + routingNumber = "125008547", + accountNumber = randomAccountNumber.ToString(), nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) bankName = "Wells Fargo Bank NA", From 1361a76184a669ba2b87846d8c3e59bc2b10f8b7 Mon Sep 17 00:00:00 2001 From: saibasu Date: Thu, 9 Aug 2018 18:37:48 +0530 Subject: [PATCH 059/115] 1 Changing Routing Number for Travis Build #S214880 --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index ebff76f..1b8a07a 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -24,7 +24,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d Item = ApiTransactionKey }; - Random rand = new Random(); + Random rand = new Random(); int randomAccountNumber = rand.Next(100000000, int.MaxValue); var bankAccount = new bankAccountType From 4c22307d9f9658d1f027095ddf9a72ac9278b3f6 Mon Sep 17 00:00:00 2001 From: saibasu Date: Thu, 9 Aug 2018 19:42:54 +0530 Subject: [PATCH 060/115] 2 Changing Routing Number for Travis build #S214880 --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 1b8a07a..cd97ed7 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -31,7 +31,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { accountType = bankAccountTypeEnum.savings, routingNumber = "125008547", - accountNumber = randomAccountNumber.ToString(), + accountNumber = randomAccountNumber.ToString(), nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) bankName = "Wells Fargo Bank NA", From cee6eb460202f947fe736758210f77c5c37d8cfd Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Fri, 10 Aug 2018 17:21:29 +0530 Subject: [PATCH 061/115] + Adding files to Accept Suite --- .../CreateAnAcceptPaymentTransaction.cs | 0 .../CreateAnAcceptTransaction.cs | 0 .../GetAcceptCustomerProfilePage.cs | 0 .../GetAnAcceptPaymentPage.cs | 0 SampleCode.csproj | 9 +++++---- 5 files changed, 5 insertions(+), 4 deletions(-) rename {PaymentTransactions => AcceptSuite}/CreateAnAcceptPaymentTransaction.cs (100%) rename {MobileInAppTransactions => AcceptSuite}/CreateAnAcceptTransaction.cs (100%) rename {CustomerProfiles => AcceptSuite}/GetAcceptCustomerProfilePage.cs (100%) rename {PaymentTransactions => AcceptSuite}/GetAnAcceptPaymentPage.cs (100%) diff --git a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs b/AcceptSuite/CreateAnAcceptPaymentTransaction.cs similarity index 100% rename from PaymentTransactions/CreateAnAcceptPaymentTransaction.cs rename to AcceptSuite/CreateAnAcceptPaymentTransaction.cs diff --git a/MobileInAppTransactions/CreateAnAcceptTransaction.cs b/AcceptSuite/CreateAnAcceptTransaction.cs similarity index 100% rename from MobileInAppTransactions/CreateAnAcceptTransaction.cs rename to AcceptSuite/CreateAnAcceptTransaction.cs diff --git a/CustomerProfiles/GetAcceptCustomerProfilePage.cs b/AcceptSuite/GetAcceptCustomerProfilePage.cs similarity index 100% rename from CustomerProfiles/GetAcceptCustomerProfilePage.cs rename to AcceptSuite/GetAcceptCustomerProfilePage.cs diff --git a/PaymentTransactions/GetAnAcceptPaymentPage.cs b/AcceptSuite/GetAnAcceptPaymentPage.cs similarity index 100% rename from PaymentTransactions/GetAnAcceptPaymentPage.cs rename to AcceptSuite/GetAnAcceptPaymentPage.cs diff --git a/SampleCode.csproj b/SampleCode.csproj index 706146e..911764d 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -47,8 +47,8 @@ - - + + @@ -63,7 +63,7 @@ - + @@ -78,6 +78,7 @@ + @@ -123,4 +124,4 @@ --> - + \ No newline at end of file From 0cf2a4ecd0ed8b29d56c03733dca487a1f34b47c Mon Sep 17 00:00:00 2001 From: saibasu Date: Fri, 10 Aug 2018 19:03:47 +0530 Subject: [PATCH 062/115] Expiry Date increased for Credit card as E00013 The Credit Card has Expired message fails Travis build. --- RecurringBilling/CreateSubscription.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 7647056..01cff3e 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //standard api call to retrieve response From 82c291d35e1ea7c6f9616799b4a0df715e960e0b Mon Sep 17 00:00:00 2001 From: saibasu Date: Fri, 10 Aug 2018 19:27:12 +0530 Subject: [PATCH 063/115] Expiry Date increased for Credit card as E00013 The Credit Card has Expired message fails Travis build. --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- CustomerProfiles/UpdateCustomerPaymentProfile.cs | 2 +- CustomerProfiles/UpdateCustomerShippingAddress.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- PaymentTransactions/DebitBankAccount.cs | 2 +- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 7c1d0ad..25f1646 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 6644c94..e997ba5 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index 0fd3f64..7df80ee 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; var paymentType = new paymentType { Item = creditCard }; diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 46ce82d..fb4c75a 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 26da4e0..fb2d96e 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index a9e7cc6..a0dbf4d 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "0719", cardCode = "123" }; diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 2ec769c..a20ca47 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "0719", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index cd97ed7..9570425 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { - accountType = bankAccountTypeEnum.savings, + accountType = bankAccountTypeEnum.checking, routingNumber = "125008547", accountNumber = randomAccountNumber.ToString(), nameOnAccount = "John Doe", diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index f2a41e0..736c492 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index ac5dec4..4e20493 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0719" }; //standard api call to retrieve response From 36662cdb3c910fed660e804e86c62d46d05c36e0 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Sat, 11 Aug 2018 00:02:16 +0530 Subject: [PATCH 064/115] Revert "+ Adding files to Accept Suite" This reverts commit cee6eb460202f947fe736758210f77c5c37d8cfd. Reverting changes --- .../GetAcceptCustomerProfilePage.cs | 0 .../CreateAnAcceptTransaction.cs | 0 .../CreateAnAcceptPaymentTransaction.cs | 0 .../GetAnAcceptPaymentPage.cs | 0 SampleCode.csproj | 9 ++++----- 5 files changed, 4 insertions(+), 5 deletions(-) rename {AcceptSuite => CustomerProfiles}/GetAcceptCustomerProfilePage.cs (100%) rename {AcceptSuite => MobileInAppTransactions}/CreateAnAcceptTransaction.cs (100%) rename {AcceptSuite => PaymentTransactions}/CreateAnAcceptPaymentTransaction.cs (100%) rename {AcceptSuite => PaymentTransactions}/GetAnAcceptPaymentPage.cs (100%) diff --git a/AcceptSuite/GetAcceptCustomerProfilePage.cs b/CustomerProfiles/GetAcceptCustomerProfilePage.cs similarity index 100% rename from AcceptSuite/GetAcceptCustomerProfilePage.cs rename to CustomerProfiles/GetAcceptCustomerProfilePage.cs diff --git a/AcceptSuite/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/CreateAnAcceptTransaction.cs similarity index 100% rename from AcceptSuite/CreateAnAcceptTransaction.cs rename to MobileInAppTransactions/CreateAnAcceptTransaction.cs diff --git a/AcceptSuite/CreateAnAcceptPaymentTransaction.cs b/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs similarity index 100% rename from AcceptSuite/CreateAnAcceptPaymentTransaction.cs rename to PaymentTransactions/CreateAnAcceptPaymentTransaction.cs diff --git a/AcceptSuite/GetAnAcceptPaymentPage.cs b/PaymentTransactions/GetAnAcceptPaymentPage.cs similarity index 100% rename from AcceptSuite/GetAnAcceptPaymentPage.cs rename to PaymentTransactions/GetAnAcceptPaymentPage.cs diff --git a/SampleCode.csproj b/SampleCode.csproj index 911764d..706146e 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -47,8 +47,8 @@ - - + + @@ -63,7 +63,7 @@ - + @@ -78,7 +78,6 @@ - @@ -124,4 +123,4 @@ --> - \ No newline at end of file + From e17fe3b6616bf9315f20ce752991cbbd333265e5 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Sat, 11 Aug 2018 00:05:15 +0530 Subject: [PATCH 065/115] + Adding missing file to project --- SampleCode.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 706146e..5258f9a 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -78,7 +78,8 @@ - + + From 208e20db95c9853c3e0bd013f35aa01933044b61 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Sat, 11 Aug 2018 18:37:26 +0530 Subject: [PATCH 066/115] + Changing expiration date for card --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- CustomerProfiles/UpdateCustomerPaymentProfile.cs | 2 +- CustomerProfiles/UpdateCustomerShippingAddress.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- RecurringBilling/CreateSubscription.cs | 2 +- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 7c1d0ad..fa7cc8f 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 6644c94..a893109 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index 0fd3f64..ff34ac0 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; var paymentType = new paymentType { Item = creditCard }; diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 46ce82d..e0c9f20 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 26da4e0..19d3758 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index a9e7cc6..739969b 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "0725", cardCode = "123" }; diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 2ec769c..c9c6fc7 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "0725", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 7647056..ec63c3b 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //standard api call to retrieve response diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index f2a41e0..bd2fa57 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index ac5dec4..680cf0a 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "0725" }; //standard api call to retrieve response From 8961d0cacaa91b1b148137c30549f5d97b21f262 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Sat, 11 Aug 2018 18:54:12 +0530 Subject: [PATCH 067/115] + Changing routing number --- PaymentTransactions/DebitBankAccount.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index c929e39..5365a73 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { accountType = bankAccountTypeEnum.checking, - routingNumber = "122000661", + routingNumber = "121141754", accountNumber = "1234567890", nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) From 9c0a8b6b2f1aa59515201483083f3f5e9cb396f1 Mon Sep 17 00:00:00 2001 From: saibasu Date: Tue, 14 Aug 2018 17:14:58 +0530 Subject: [PATCH 068/115] Modified as per review comments --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- CustomerProfiles/UpdateCustomerPaymentProfile.cs | 2 +- CustomerProfiles/UpdateCustomerShippingAddress.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- PaymentTransactions/DebitBankAccount.cs | 2 +- RecurringBilling/CreateSubscription.cs | 2 +- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 25f1646..29bb862 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index e997ba5..061465c 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index 7df80ee..3dac1e1 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; var paymentType = new paymentType { Item = creditCard }; diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index fb4c75a..bc6abc8 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index fb2d96e..34d6f46 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index a0dbf4d..33e38f8 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719", + expirationDate = "0728", cardCode = "123" }; diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index a20ca47..bdd8d8e 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719", + expirationDate = "0728", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 9570425..d9707bf 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -25,7 +25,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d }; Random rand = new Random(); - int randomAccountNumber = rand.Next(100000000, int.MaxValue); + int randomAccountNumber = rand.Next(10000, int.MaxValue); var bankAccount = new bankAccountType { diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 01cff3e..85696bd 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //standard api call to retrieve response diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index 736c492..89fcb9a 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index 4e20493..210cea7 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0719" + expirationDate = "0728" }; //standard api call to retrieve response From bd3f58216b86107b772f5b8e11fd96dedac9f170 Mon Sep 17 00:00:00 2001 From: sudhirkumar2018 <36911383+sudhirkumar2018@users.noreply.github.com> Date: Tue, 18 Sep 2018 19:20:59 +0530 Subject: [PATCH 069/115] PR1992-samplecode 1.added package.config file 2. changed sdk version to 0.9.0.0 --- AuthorizeNet.dll | Bin 0 -> 224256 bytes AuthorizeNet.xml | 9637 +++++++++++++++++ CustomerProfiles/CreateCustomerProfile.cs | 2 +- CustomerProfiles/GetCustomerProfile.cs | 4 +- .../UpdateCustomerPaymentProfile.cs | 2 +- .../UpdateCustomerShippingAddress.cs | 2 +- .../ApproveOrDeclineHeldTransaction.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- ...ureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- .../ChargeTokenizedCreditCard.cs | 2 +- PaymentTransactions/DebitBankAccount.cs | 13 +- Properties/AssemblyInfo.cs | 7 +- RecurringBilling/CreateSubscription.cs | 2 +- .../CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- SampleCode.cs | 55 +- SampleCode.csproj | 6 +- SampleCode.exe | Bin 0 -> 98304 bytes SampleCode.exe.config | 6 + SampleCode.vshost.exe | Bin 0 -> 22688 bytes SampleCode.vshost.exe.config | 6 + SampleCodeTest/Properties/AssemblyInfo.cs | 7 +- SampleCodeTest/SampleCodeList.txt | 3 +- SampleCodeTest/TestRunner.cs | 161 +- SampleCode_DotNet_Core.csproj | 45 + .../GetAccountUpdaterJobDetails.cs | 19 +- packages.config | 2 +- packagesCore.config | 5 + 29 files changed, 9875 insertions(+), 123 deletions(-) create mode 100644 AuthorizeNet.dll create mode 100644 AuthorizeNet.xml create mode 100644 SampleCode.exe create mode 100644 SampleCode.exe.config create mode 100644 SampleCode.vshost.exe create mode 100644 SampleCode.vshost.exe.config create mode 100644 SampleCode_DotNet_Core.csproj create mode 100644 packagesCore.config diff --git a/AuthorizeNet.dll b/AuthorizeNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..2c321fc491d6c83d73f6a3c2b5d799c97b67a22a GIT binary patch literal 224256 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

8>9_Eb+1!cV;CI9G zwbFDl?yij4;D1s%8PANXH4v{_n=B?HPh`y3@u4Gr6jwg}Me5oQW$jC)bQ5Il>SGzR zHHpCQZSA?Gtca=kBx_}BM1-|#a>n9(t&7uz2vh z`yYPrKxyA0dS9R`OwOGNo&#|86 z$C8YOscqj6DZjyR-GtFqjXnlyfP{2iS#~2y*fxfR?Dp1=;mK)y*-`0F9&cv@K6{hM zyJHd`$UI-FU`4;f`wD5Y-WL#EC>F6&2>HKK3QuC3g2+Uva^O;|1aTHU|6>3EgGcMDo%ebCn8KAbd4w z04cnc^1*m}W+!|3l~gPPwQBEE`>(ARi}0tz=~y1m&li z3xE%=UMF85A*PkPl&C{ZB*E|AUY?Oin5?HK<=sX-y;NFH?4wqd4ZnZu^-UKNkEaTW z309fxC7-muv^ba|Ev_+g{H!QkYO}u|AHi!38gHy?@<(H1clYWvipH)c#@a*iaE(-U z0)}!T>DVa$twG1e1X2AXfpCqQM2MRBKqxsTM8Sq$6!B6MJ?@K;`)`?Gku3QI*@Z6- zvD3XZeT`1{FtrIkTYdF^Z1qO1DFz(%R)~atAxYTPmI}>A7lSpkX})G)g=?L!j;%k? z``zCC`wkxL#k-6WNsc?Jy<$pV4nk}fhSZm*}f)>%x zn7tX3pt)5I73Zq8GPE)HGIIsX@R51Vc2CA6=1@AmVngGSiw`o3E#G%{d4j!s0Uf~u z8Iza~HgBJQvhZj{x}}1cB(^Z_%b4`dtzVGO^PvR$q6&(p-QkyYvI6au5_ng}q;H;+ zEc}TtK594RXNpsEW2O9zP6E@keQwMQsm5SPca6UM15Ug*bwH#i)kc0dV-ox~G3Mgs zxnb3mmSI_1KZg&+N$=`)Yi!T0rlC62m4n@JViB~>@#Xe@JN+yTZ*lU)u%R#cc4~XT z)+VQhRp%sp(3lYj&_^nja>eZiz6=)E*a5383u(Nl5#Q%sV4-UW@~)>7OssK0B@0R< zRPy&`OhVC@OcrBnSiJubITs52FD!cBUeOI4uW^JX8|t$opY>sX^9Re{Yj>+(y2lLn zXUrOcVUjDZU0pX2;w;8zY1k(pichm7vC{L4{D+W4wx&rjCQR>v;v87tQyi=GX;fyTtM<#RtjdkWf^ zLbVjdJPBjo?ASS0;Gfaord75O@-lCTpHlS8^rI-E3M|NTD%E@{{Wu+GTkVi zM{reWIJ_XlJ4AfzH~;>w?SK9soHG``|G+nKV@@v#&OWqT{~f@+WY7R#^K3y{ zhd+SQ{nvZyi=$Xh4!?aoHyGkR1zhjjI1N$wKz$EJdOj-%ji?`VyRi&Lu3m3$#1FK52dV=7EUS< z+qH|KTQBo~v{T<<%{zm + + + AuthorizeNet + + + + @return the baseUrl + + + @return the xmlBaseUrl + + + @return the cardPresentUrl + + + If a custom environment needs to be supported, this convenience create + method can be used to pass in a custom baseUrl. + + @param baseUrl + @param xmlBaseUrl + @return Environment object + + + If a custom environment needs to be supported, this convenience create + method can be used to pass in a custom baseUrl. + + @param baseUrl + @param xmlBaseUrl + @param cardPresentUrl + + @return Environment object + + + Reads a integer value from property file and/or the environment + Values in property file supersede the values set in environment + @param propertyName name of the integer property to read + @return int property value + + + Reads a boolean value from property file and/or the environment + Values in property file supersede the values set in environment + @param propertyName name of the boolean property to read + @return boolean property value + + +

+ Reads the value from property file and/or the environment + Values in property file supersede the values set in environmen + + propertyName name of the property to read + String property value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Special case handlers + + validated on ????/??/?? for objects listed at the end + should be validated after each update of AnetApiSchema.cs + for fields/properties that are minOccurs="0" since xsd.exe + generates "specified" property for such fields and requires + special handling to set them seamlessly + Make sure to update the respective controllers to call the respective request hand + + + + + @author ramittal + + + + Since JAXB does not generate the class for this element, custom coding it + @author ramittal + + + + @author ramittal + + + + + This will issue a full HTML document with a built-in script, which will redirect the browser away from + Authorize.NET to the URL you pass in. Be sure the toURL is absolute. This can be used in your DPM Replay Response Endpoint + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decides the response. + + The raw response. + + + + + A request that authorizes a transaction, no capture + + + + + Initializes a new instance of the class. + + The card number. + The expiration month and year. + The amount. + The description. + + + + Initializes a new instance of the class. + + The card number. + The expiration month and year. + The amount. + The description. + if set to true [include capture]. + + + + Loader for use with form POSTS from web + + + + + + A request representing a Capture - the final transfer of funds that happens after an auth. + + + + + Initializes a new instance of the class. + + The auth code. + The card number. + The expiration month and year. + The amount. + + + + Credits, or refunds, the amount back to the user + + + + + Initializes a new instance of the class. + + The transaction id. + The amount. + The card number. + + + + Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway + + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Sets the eCheck request as a recurring payment + + + + + + Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway + + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway + + The auth code. + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + The auth code. + The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + + The transaction id. + + + + Creates an ECheck transaction request for use with the AIM gateway + + + The transaction id. + The customer’s valid bank account number + + + + Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway + + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB + + The valid routing number of the customer’s bank + The customer’s valid bank account number + CHECKING, BUSINESSCHECKING, SAVINGS + The name of the bank that holds the customer’s account + The name associated with the bank account + The check number on the customer’s paper check + + + + Creates an ECheck transaction request for use with the AIM gateway + + The transaction id. + + + + The type of API Request being performed + + + + + Credit Card authorization + + + + + Settlement of a previously authorized transaction + + + + + An authorization and capture all in one + + + + + A Credit + + + + + Voiding of a previously authorized transaction + + + + + Capturing of a prior authorization + + + + + Issue a credit for a transaction not based with the API + + + + + The type of BankAccount to be used + + + + + Checking Account + + + + + Business Checking account + + + + + Savings Account + + + + + The type of eCheck transaction + + + + + Accounts Receivable Conversion + + + + + Back Office Conversion + + + + + Cash Concentration or Disbursement + + + + + Prearranged Payment and Deposit Entry + + + + + Telephone-Initiated Entry + + + + + Internet-Initiated Entry + + + + + An abstract base class, from which all Request classes must inherit + + + + + Initializes a new instance of the class. + + + + + Outputs the queue as a delimited, URL-safe string for sending to Authorize.net as a form POST + + + + + Queues the specified key into the request. + + The key. + The value. + + + + Gets the specified key from the request. + + The key. + + + + Loads the core values tp the API request, including auth and basic settings. + + + + + Adds a Customer record to the current request + + + + + This method adds the required values for Fraud Detection Suite. Your merchant must sign up for this service with Authorize.Net + + The Customer's IP address + + + + + This method will pull the user's IP address for use with FDS. Only valid for Web-based transactions. + + + + + + Adds a detailed tax value to the request + + + + + Adds a tax value to the request + + + + + Adds a detailed tax value to the request + + + + + Adds a tax value to the request + + + + + Adds a detailed tax value to the request + + + + + Adds a tax value to the request + + + + + The 3-digit Credit Card Code (CCV) on the back of the card + + + + + Adds a Shipping Record to the current request + + + + + This is where you can add custom values to the request, which will be returned to you + in the response + + + + + Adds a line item to the current order + + + + + + Adds an InvoiceNumber to the request + + + + + Gets or sets the bank ABA code. + + The bank ABA code. + + + + Gets or sets the bank account number. + + The bank account number. + + + + Gets or sets the type of the bank account. + + The type of the bank account. + + + + Gets or sets the name of the bank. + + The name of the bank. + + + + Gets or sets the name of the bank account. + + The name of the bank account. + + + + Gets or sets the type of the echeck. + + The type of the echeck. + + + + Gets or sets the bank check number. + + The bank check number. + + + + Gets or sets the address. + + The address. + + + + Gets or sets the allow partial auth. + + The allow partial auth. + + + + Gets or sets the amount. + + The amount. + + + + Gets or sets the auth code. + + The auth code. + + + + Gets or sets the authentication indicator. + + The authentication indicator. + + + + Gets or sets the credit card code. + + The card code. + + + + Gets or sets the credit card number. + + The card num. + + + + Gets or sets the cardholder authentication value. + + The cardholder authentication value. + + + + Gets or sets the city. + + The city. + + + + Gets or sets the company. + + The company. + + + + Gets or sets the country. + + The country. + + + + Gets or sets the cust id. + + The cust id. + + + + Gets or sets the customer ip. + + The customer ip. + + + + Gets or sets the delim char. + + The delim char. + + + + Gets or sets the delim data. + + The delim data. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the duplicate window - the am. + + The duplicate window. + + + + Gets or sets the duty. + + The duty. + + + + Gets or sets the email. + + The email. + + + + Gets or sets the value indicating that the customer get an email receipt. This should be true or false, yes or no. + + The email customer. + + + + Gets or sets the merchant email. + + The email address to which to send the merchant email receipt. + + + + Gets or sets the encap char. + + The encap char. + + + + Gets or sets the exp date. + + The exp date. + + + + Gets or sets the fax. + + The fax. + + + + Gets or sets the first name. + + The first name. + + + + Gets or sets the footer email receipt. + + The footer email receipt. + + + + Gets or sets the freight. + + The freight. + + + + Gets or sets the header email receipt. + + The header email receipt. + + + + Gets or sets the invoice num. + + The invoice num. + + + + Gets or sets the last name. + + The last name. + + + + Gets or sets the line item. + + The line item. + + + + Gets or sets the login. + + The login. + + + + Gets or sets the method. + + The method. + + + + Gets or sets the phone. + + The phone. + + + + Gets or sets the po number. + + The po num. + + + + Gets or sets the recurring billing. + + The recurring billing. + + + + Gets or sets the relay response. + + The relay response. + + + + Gets or sets the ship to address. + + The ship to address. + + + + Gets or sets the ship to company. + + The ship to company. + + + + Gets or sets the ship to country. + + The ship to country. + + + + Gets or sets the ship to city. + + The ship to city. + + + + Gets or sets the first name of the ship to. + + The first name of the ship to. + + + + Gets or sets the last name of the ship to. + + The last name of the ship to. + + + + Gets or sets the state of the ship to. + + The state of the ship to. + + + + Gets or sets the ship to zip. + + The ship to zip. + + + + Gets or sets the split tender id. + + The split tender id. + + + + Gets or sets the state. + + The state. + + + + Gets or sets the tax. + + The tax. + + + + Gets or sets the tax exempt. + + The tax exempt. + + + + Gets or sets the test request. + + The test request. + + + + Gets or sets the tran key. + + The tran key. + + + + Gets or sets the trans id. + + The trans id. + + + + Gets or sets the type. + + The type. + + + + Gets or sets the version. + + The version. + + + + Gets or sets the zip. + + The zip. + + + + Gets or sets the solution id. + + The solution id. + + + + A request representing a PriorAuthCapture - the final transfer of funds that happens after an auth. + + + + + Initializes a new instance of the class. + + The amount. + The transaction id. + + + + A request representing a Void of a previously authorized transaction + + + + + Initializes a new instance of the class. + + The transaction id. + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + The mode. + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + + + + Creates a new subscription + + The subscription to create - requires that you add a credit card and billing first and last. + + + + Updates the subscription. + + The subscription to update. Can't change billing intervals however. + + + + + Cancels the subscription. + + The subscription ID. + + + + + Gets the subscription status. + + The subscription ID. + + + + + This is the abstracted SubscriptionRequest class - it provides a simplified way of dealing with the underlying + ARB API. This class uses a Fluent Interface to build out the request - creating only what you need. + + + + + Creates a monthly subscription request. + + The email. + Name of the subscription. + The amount. + The number of billings. So if you wanted to create a monthly subscription that lasts for a year - this would be 12 + + + + + Returns a new subscription request. + + SubscriptionRequest object. + + + + Creates an annual subscription. + + The email. + Name of the subscription. + The amount. + The number of billings. So if you wanted to create a yearly subscription that lasts for a year - this would be 1 + + + + + Creates a weekly subscription that bills every 7 days. + + The email. + Name of the subscription. + The amount. + + + + + Creates a weekly subscription that bills every 7 days. + + The email. + Name of the subscription. + The amount. + The number of billings. If you want this subscription to last for a month, this should be set to 4 + + + + + Adds a credit card payment to the subscription. This is required. + + The first name. + The last name. + The card number. + The card expiration year. + The card expiration month. + + + + + Adds a full billing address - which is required for a credit card. + + The add. + + + + + Adds a shipping address to the request. + + The address to ship to + + + + + Sets a trial period for the subscription. This is part of the overall subscription plan. + + The trial billing cycles. + The trial amount. + + + + + This is mostly for internal processing needs - it takes the SubscriptionRequest and turns it into something the Gateway can serialize. + + + + + + The Update function won't accept a change to some values - specifically the billing interval. This creates a request + that the API can understand for updates only + + + + + + This is an Address abstraction used for Billing and Shipping + + + + + Initializes a new instance of the class, resolving the given API Type + + From type. + + + + Initializes a new instance of the class, resolving the given API Type + + From type. + + + + Initializes a new instance of the class, resolving the given API Type + + From type. + + + + Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. + + + + + + Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. + + + + + + Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. + + + + + + This is an abstraction for use with the CIM API. It's a partial class so you can combine it with your class as needed. + + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + Test or Live. + None, Test, or Live. + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + + + + Retrieve an existing customer profile along with all the associated customer payment profiles and customer shipping addresses. + + The profile ID + + + + + Adds a credit card profile to the user and returns the profile ID + + The profile ID. + The card number. + The expiration month. + The expiration year. + The card code. + + + + + Adds a credit card profile to the user and returns the profile ID + + The profile ID. + The card number. + The expiration month. + The expiration year. + + + + + Adds a credit card profile to the user and returns the profile ID + + + + + + Adds a eCheck bank account profile to the user and returns the profile ID + + + + + + Adds a bank account profile to the user and returns the profile ID + + + + + + Adds a bank account profile to the user and returns the profile ID + + + + + + Adds a Shipping Address to the customer profile + + + + + Adds a Shipping Address to the customer profile + + + + + Authorizes and Captures a transaction using the supplied profile information. + + The profile ID. + The payment profile ID. + The amount. + + + + + Authorizes and Captures a transaction using the supplied profile information with Tax and Shipping specified. If you want + to add more detail here, use the 3rd option - which is to add an Order object + + The profile ID. + The payment profile ID. + The amount. + The tax. + The shipping. + + + + + Authorizes and Captures a transaction using the supplied profile information, abstracted through an Order object. Using the Order + you can add line items, specify shipping and tax, etc. + + The order. + + + + + Authorizes a transaction using the supplied profile information. + + The profile ID. + The payment profile ID. + The amount. + + + + + Authorizes a transaction using the supplied profile information with Tax and Shipping specified. If you want + to add more detail here, use the 3rd option - which is to add an Order object + + The profile ID. + The payment profile ID. + The amount. + The tax. + The shipping. + + + + + Authorizes a transaction using the supplied profile information, abstracted through an Order object. Using the Order + you can add line items, specify shipping and tax, etc. + + The order. + A string representing the approval code + + + + Captures the specified transaction. + + The profile ID. + The payment profile id. + The 3 or 4 digit card code in the signature space. + The amount. + The approval code. + + + + + Captures the specified transaction. + + The profile ID. + The payment profile id. + The id of the shipping information to use for the transaction. + The transaction id to mark to capture (settle). + The decimal amount to capture. + + + + + Captures the specified transaction. + + The profile ID. + The payment profile id. + The transaction id to mark to capture (settle). + The decimal amount to capture. + + + + + Captures the specified transaction. + + The transaction id to mark to capture (settle). + The amount. + + + + + Refunds a transaction for the specified amount + + The profile ID. + The payment profile id. + The transaction id. + The approval code. + The amount. + + + + + Refunds a transaction for the specified amount + + The profile ID. + The payment profile id. + The transaction id. + The amount. + + + + + Voids a previously authorized transaction + + The profile ID. + The payment profile id. + The transaction id. + The approval code. + + + + + Voids a previously authorized transaction + + The profile ID. + The payment profile id. + The transaction id. + + + + + Deletes a customer from the AuthNET servers. + + The profile ID. + + + + + Deletes a payment profile for a customer from the AuthNET servers. + + The profile ID. + The payment profile ID. + + + + + Deletes a shipping address for a given user from the AuthNET servers. + + The profile ID. + The shipping address ID. + + + + + Returns all Customer IDs stored at Authorize.NET + + + + + + Gets a shipping address for a customer. + + The profile ID. + The shipping address ID. + + + + + Updates a customer's record. + + The customer. + + + + + Updates a payment profile for a user. + + The profile ID. + The profile. + + + + + Updates a shipping address for a user. + + The profile ID. + The address. + + + + + Overload method ommitting shippingAddressID. + + The profile ID. + The payment profile ID. + The mode. + + + + + Overload method ommitting shippingAddressID & ValidationMode enum so will use the value passed into the constructor. + + The profile ID. + The payment profile ID. + + + + + Overload method ommitting ValidationMode enum so will use the value passed into the constructor. + + The profile ID. + The payment profile ID. + The shipping address ID. + + + + + This function validates the information on a profile - making sure what you have stored at AuthNET is valid. You can + do this in two ways: in TestMode it will just run a validation to be sure all required fields are present and valid. If + you specify "live" - a live authorization request will be performed. + + The profile ID. + The payment profile ID. + The shipping address ID. + The mode. + + + + + This is an abstraction for the AuthNET API so you can specify detailed order information. + + + + + Initializes a new instance of the class. + + The profile ID. + The payment profile id. + The shipping address ID. + + + + For the Information in name/value pair format that does not exist within CIM. + Example: x_customer_ip=100.0.0.1&x_cust_id=Testing Extra Options + + + + + An abstraction for the AuthNET API, allowing you store credit card information with Authorize.net + + + + + Creates an API object, ready to send to AuthNET servers. + + + + + + Initializes a new instance of the class, using the passed-in API type to create the profile. + + Type of the API. + + + + Initializes a new instance of the class. + + The amount. + The card number. + The expiration month. + The expiration year. + + + + Initializes a new instance of the class using track data from a card reader. + + The amount. + The track1 data. + The track2 data. + + + + Initializes a new instance of the class. + + The amount. + The card number. + The expiration month. + The expiration year. + + + + Capture only function + + + + + Initializes a new instance of the class. + + The auth code. + The card number. + The expiration month and year. + The amount. + + + + A Credit transaction + + + + + Initializes a new instance of the class. + + The transaction ID. + + + + The devise which read in the Credit Card + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The gateway which runs the credit card transaction + + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + if set to true [is test]. + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + Type of the market. + Type of the device. + if set to true [is test]. + + + + Sends the specified request. + + The request. + The description. + + + + + Captures a prior authorization + + + + + Initializes a new instance of the class. + + The transaction ID. + The amount. + + + + Parses the response from the transaction (a piped string) into a representational class + + + + + Initializes a new instance of the class. + + The raw response. + + + + Gets the user reference. + + The user reference. + + + + Gets the MD5 hash. + + The MD5 hash. + + + + Gets the split tender ID. + + The split tender ID. + + + + Gets the remaining balance on card. + + The remaining balance on card. + + + + Gets the requested amount. + + The requested amount. + + + + Gets the AVS response. + + The AVS response. + + + + Gets the card code response. + + The card code response. + + + + Gets the amount. + + The amount. + + + + Gets a value indicating whether this is approved. + + true if approved; otherwise, false. + + + + Gets the authorization code. + + The authorization code. + + + + Gets the invoice number. + + The invoice number. + + + + Gets the card number. + + The card number. + + + + Gets the response code. + + The response code. + + + + Gets the response reason code. + + The response reason code. + + + + Gets the message. + + The message. + + + + Gets the transaction ID. + + The transaction ID. + + + + Gets the value by index + + position of the response to be returned + Returns index value. + + + + A Cardpresent Void transaction + + + + + Initializes a new instance of the class. + + The transaction ID. + + + + A class that builds out a DPM-ready form for submission to Auth.net. + + + + + A helper class for representing a charge + + + + + Creates a List of Charges from the Statistics return from the batch. + + The stats. + + + + + Gets or sets the type of the card. + + The type of the card. + + + + Gets or sets the amount. + + The amount. + + + + Gets or sets the charge back amount. + + The charge back amount. + + + + Gets or sets the charge back count. + + The charge back count. + + + + Gets or sets the returned items count. + + The returned items count. + + + + Gets or sets the returned items amount. + + The returned items amount. + + + + Gets or sets the correction notice count. + + The correction notice count. + + + + Gets or sets the decline count. + + The decline count. + + + + Gets or sets the refund amount. + + The refund amount. + + + + Gets or sets the void count. + + The void count. + + + + A class representing a batch-settlement + + + + + Creates a new batch from a stats response + + + + + Creates a list of batches directly from the API Response + + The batches. + + + + + Gets or sets the charges. + + The charges. + + + + Gets or sets the ID. + + The ID. + + + + Gets or sets the settled on. + + The settled on. + + + + Gets or sets the state. + + The state. + + + + Gets or sets the payment method. + + The payment method. + + + + Gets or Sets the MarketType + + MarketType + + + + Gets or Sets the Product + + Product + + + + The gateway for requesting Reports from Authorize.Net + + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + Test or Live. + + + + Initializes a new instance of the class. + + The API login. + The transaction key. + + + + Returns all Settled Batches for the last 30 days + + + + + returns the most recent 1000 transactions that are unsettled + + + + + + Returns all Settled Batches for the last 30 days + + + + + Returns batch settlements for the specified date range + + + + + Returns charges and statistics for a given batch + + the batch id + a batch with statistics + + + + Returns batch settlements for the specified date range + + + + + Returns all transaction within a particular batch + + + + + Returns Transaction details for a given transaction ID (transid) + + + + + + Returns all transactions for the last 30 days + + + + + + Returns all transactions for a given time period. This can result in a number of calls to the API + + + + + The status for the transaction + + + + + Approved + + + + + Declined + + + + + Error + + + + + HeldForReview + + + + + Representational class for a transactional line item + + + + + Gets or sets the ID. + + The ID. + + + + Gets or sets the name. + + The name. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the quantity. + + The quantity. + + + + Gets or sets the unit price. + + The unit price. + + + + Gets or sets a value indicating whether this is taxable. + + true if taxable; otherwise, false. + + + + A representational class for a Transaction + + + + + Initializes a new instance of the class. + + + + + Creates a list of Transactions directly from the API Response. + + The transactions. + + + + + Creates a Transaction directly from the API Response + + The trans. + + + + + Creates a Transaction directly from the API Response + + The trans. + + + + + Gets or sets the transaction ID. + + The transaction ID. + + + + + + Gets or sets the type of the transaction. + + The type of the transaction. + + + + Gets or sets the response code. + + The response code. + + + + Gets or sets the response reason. + + The response reason. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the authorization code. + + The authorization code. + + + + Gets or sets the fraud filters. + + The fraud filters. + + + + Gets the line items. + + The line items. + + + + Gets or sets the CAVV code. + + The CAVV code. + + + + Gets or sets the status. + + The status. + + + + Gets or sets the last name. + + The last name. + + + + Gets or sets the first name. + + The first name. + + + + Gets or sets the invoice number. + + The invoice number. + + + + Gets or sets the order description. + + The order description. + + + + Gets or sets the PO number. + + The PO number. + + + + Gets or sets the requested amount. + + The requested amount. + + + + Gets or sets the authorization amount. + + The authorization amount. + + + + Gets or sets the settle amount. + + The settle amount. + + + + Gets or sets the tax. + + The tax. + + + + Gets or sets the tax description. + + The tax description. + + + + Gets or sets the shipping. + + The shipping. + + + + Gets or sets the shipping description. + + The shipping description. + + + + Gets or sets the duty. + + The duty. + + + + Gets or sets the duty description. + + The duty description. + + + + Gets or sets the batch settlement ID. + + The batch settlement ID. + + + + Gets or sets the batch settled on. + + The batch settled on. + + + + Gets or sets the state of the batch settlement. + + The state of the batch settlement. + + + + Gets or sets a value indicating whether [tax exempt]. + + true if [tax exempt]; otherwise, false. + + + + Gets or sets the card number. + + The card number. + + + + Gets or sets the card expiration. + + The card expiration. + + + + Gets or sets the type of the card. + + The type of the card. + + + + Gets or sets eCheckBankAccount. + + eCheckBankAccount + + + + Gets or sets the customer ID. + + The customer ID. + + + + Gets or sets the customer email. + + The customer email. + + + + Gets or sets the billing address. + + The billing address. + + + + Gets or sets the shipping address. + + The shipping address. + + + + Gets or sets a value indicating whether this instance is recurring. + + + true if this instance is recurring; otherwise, false. + + + + + Gets the CAVV response. + + The CAVV response. + + + + Gets or sets the card response code. + + The card response code. + + + + Gets the card response. + + The card response. + + + + Gets or sets the AVS code. + + The AVS code. + + + + Gets the AVS response. + + The AVS response. + + + + Gets or Sets the MarketType + + MarketType + + + + Gets or Sets the Product + + Product + + + + Gets or Sets the MobileDeviceID + + MobileDeviceID + + + + Gets or Sets the SubscriptionPayment + + SubscriptionPayment + + + + Gets or Sets the HasReturnedItems + True - has eCheck returned items. use GetTransactionDetails to get detailed information on returned items + False - has no eCheck returned items. + Null - eCheck returned items information is not returned. + + HasReturnedItems + + + + Gets or Sets the ReturnedItems + + ReturnedItems + + + + Gets or Sets the Solution + + Solution + + + + A class that builds out a SIM-ready form for submission to Auth.net. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + These are field names and explanations only + + + + + The merchant's unique API Login ID + + + + + The merchant's unique Transaction Key + + + + + True, False + + + + + Whether to return the data in delimited fashion + + + + + If the return from AuthorizeNet is delimited - this is the character to use. Default is pipe + + + + + The relay response - leave this set as TRUE + + + + + The solution ID of your product or integration used for better reporting + + + + + Required - The merchant's transaction version + + + + + The type of transaction: + AUTH_CAPTURE (default), AUTH_ONLY, CAPTURE_ONLY, CREDIT, PRIOR_AUTH_CAPTURE, VOID + + + + + CC or ECHECK + + + + + The recurring billing status + + + + + The amount of the transaction + + + + + The credit card number - between 13 and 16 digits without spaces. When x_type=CREDIT, only the last four digits are required + + + + + The expiration date - MMYY, MM/YY, MM-YY, MMYYYY, MM/YYYY, MM-YYYY + + + + + The three- or four-digit number on the back of a credit card (on the front for American Express). + + + + + The credit card type or echeck in the case of echeck transactions. + + + + + The payment gateway assigned transaction ID of an original transaction - Required only for CREDIT, PRIOR_ AUTH_ CAPTURE, and VOID transactions + + + + + The payment gateway-assitned ID assigned when the original transaction includes two or more partial payments. This is the identifier that is used to group transactions that are part of a split tender order. + + + + + The authorization code of an original transaction not authorized on the payment gateway + + + + + The request to process test transactions + + + + + The window of time after the submission of a transaction that a duplicate transaction can not be submitted + + + + + The merchant assigned invoice number for the transaction + + + + + The transaction description + + + + + The ID of the Customer as relates to your application + + + + + NullableBooleanEnum + + + + + Generates the HMAC-encrypted hash to send along with the SIM form + + The merchant's transaction key + The merchant's Authorize.NET API Login + The amount of the transaction + The sequence + The timeStamp + string + + + + Encrypts the key/value pair supplied using HMAC-MD5 + + key + value + + + + + Generates a 4-place sequence number randomly + + + + + + Generates a timestamp in seconds from 1970 + + + + + Source Code from MSDN article http://msdn.microsoft.com/en-us/magazine/cc163367.aspx + + + + + This class posts the XML Form to Authorize.NET + + + + + Initializes a new instance of the class. + + The mode. + The API login. + The transaction key. + + + + Adds authentication information to the request. + + The request. + + + + Sends the specified API request. + + The API request. + + + + diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 7c1d0ad..2d62df8 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/GetCustomerProfile.cs b/CustomerProfiles/GetCustomerProfile.cs index 496fc10..4faf040 100644 --- a/CustomerProfiles/GetCustomerProfile.cs +++ b/CustomerProfiles/GetCustomerProfile.cs @@ -25,12 +25,12 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s Item = ApiTransactionKey, }; - var request = new getCustomerProfileRequest(); + var request = new getCustomerProfileRequest(); request.customerProfileId = customerProfileId; // instantiate the controller that will call the service var controller = new getCustomerProfileController(request); - controller.Execute(); + controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 6644c94..4b24149 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index 0fd3f64..8128c45 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; var paymentType = new paymentType { Item = creditCard }; diff --git a/FraudManagement/ApproveOrDeclineHeldTransaction.cs b/FraudManagement/ApproveOrDeclineHeldTransaction.cs index a4b1432..d9bccaa 100644 --- a/FraudManagement/ApproveOrDeclineHeldTransaction.cs +++ b/FraudManagement/ApproveOrDeclineHeldTransaction.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) request.heldTransactionRequest = new heldTransactionRequestType { action = afdsTransactionEnum.approve, - refTransId = "60012192922" + refTransId = "60108066607" }; // instantiate the controller that will call the service diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 46ce82d..655b156 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 26da4e0..05f201b 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index a9e7cc6..07eb171 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "1018", cardCode = "123" }; diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 2ec769c..4e6604d 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718", + expirationDate = "1018", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index c5c3822..d0699d5 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -26,15 +26,12 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var bankAccount = new bankAccountType { - accountType = bankAccountTypeEnum.checking, - routingNumber = "125000105", - accountNumber = "1234567890", - nameOnAccount = "John Doe", - echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) - bankName = "Wells Fargo Bank NA", - // checkNumber = "101" // needed if echeckType is "ARC" or "BOC" + accountNumber = "4111111", + routingNumber = "122235821", + //echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) + nameOnAccount = "John Doe", + accountType = bankAccountTypeEnum.checking }; - // standard api call to retrieve response var paymentType = new paymentType { Item = bankAccount }; diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index ba83490..2bac29a 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -6,7 +6,7 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("SampleCode")] -[assembly: AssemblyDescription("")] +[assembly: AssemblyDescription("0.9.0.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("SampleCode")] @@ -32,5 +32,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.9.0.0")] +[assembly: AssemblyFileVersion("0.9.0.0")] + diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 7647056..686212c 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //standard api call to retrieve response diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index f2a41e0..7317375 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index ac5dec4..0617664 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0718" + expirationDate = "1018" }; //standard api call to retrieve response diff --git a/SampleCode.cs b/SampleCode.cs index ff83869..f81d634 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -6,6 +6,11 @@ using System.Text; using System.Threading.Tasks; using net.authorize.sample.CustomerProfiles; +using AuthorizeNet.Api.Controllers.Bases; +using AuthorizeNet.Api.Contracts.V1; +#if NETCOREAPP2_0 +using AuthorizeNet.Utilities; +#endif namespace net.authorize.sample { @@ -38,7 +43,7 @@ static void Main(string[] args) Console.WriteLine(""); Console.Write("Press to finish ..."); Console.ReadLine(); - + } private static void ShowUsage() @@ -65,7 +70,7 @@ private static void SelectMethod() private static void ShowMethods() { - + Console.WriteLine(" ChargeCreditCard"); Console.WriteLine(" AuthorizeCreditCard"); Console.WriteLine(" CapturePreviouslyAuthorizedAmount"); @@ -146,14 +151,34 @@ private static void RunMethod(String methodName) //Update PayerID for which you want to run the sample code const string payerId = "M8R9JRNJ3R28Y"; - const string customerProfileId = "213213"; - const string customerPaymentProfileId = "2132345"; + const string customerProfileId = "1915435550"; //"213213"; + const string customerPaymentProfileId = "1828811149"; //"2132345"; + const string shippingAddressId = "1223213"; const decimal amount = 12.34m; const string subscriptionId = "1223213"; const short day = 45; const string emailId = "test@test.com"; +#if NETCOREAPP2_0 + // DOTNET CORE SPECIFIC + #region DOTNET CORE SPECIFIC + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + ApiOperationBase.RunEnvironment.HttpUseProxy = AuthorizeNet.Environment.getBooleanProperty(Constants.HttpsUseProxy); + + if (ApiOperationBase.RunEnvironment.HttpUseProxy) + { + ApiOperationBase.RunEnvironment.HttpUseProxy = AuthorizeNet.Environment.getBooleanProperty(Constants.HttpsUseProxy); + ApiOperationBase.RunEnvironment.HttpsProxyUsername = AuthorizeNet.Environment.GetProperty(Constants.HttpsProxyUsername); + ApiOperationBase.RunEnvironment.HttpsProxyPassword = AuthorizeNet.Environment.GetProperty(Constants.HttpsProxyPassword); + ApiOperationBase.RunEnvironment.HttpProxyHost = AuthorizeNet.Environment.GetProperty(Constants.HttpsProxyHost); + ApiOperationBase.RunEnvironment.HttpProxyPort = AuthorizeNet.Environment.getIntProperty(Constants.HttpsProxyPort); + } + + #endregion +#endif + switch (methodName) { case "ValidateCustomerPaymentProfile": @@ -264,7 +289,7 @@ private static void RunMethod(String methodName) case "PayPalAuthorizeCapture": PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, amount); break; - case "PayPalAuthorizeCaptureContinued": + case "PayPalAuthorizeCaptureContinued": PayPalAuthorizeCaptureContinued.Run(apiLoginId, transactionKey, transactionId, payerId); break; case "PayPalAuthorizeOnly": @@ -289,7 +314,7 @@ private static void RunMethod(String methodName) CreateSubscription.Run(apiLoginId, transactionKey, day); break; case "CreateSubscriptionFromCustomerProfile": - CreateSubscriptionFromCustomerProfile.Run(apiLoginId, transactionKey, day, "12322","232321","123232"); + CreateSubscriptionFromCustomerProfile.Run(apiLoginId, transactionKey, day, "12322", "232321", "123232"); break; case "GetListOfSubscriptions": GetListOfSubscriptions.Run(apiLoginId, transactionKey); @@ -316,11 +341,11 @@ private static void RunMethod(String methodName) GetBatchStatistics.Run(apiLoginId, transactionKey); break; case "GetSettledBatchList": - GetSettledBatchList.Run(apiLoginId,transactionKey); - break; + GetSettledBatchList.Run(apiLoginId, transactionKey); + break; case "UpdateSplitTenderGroup": - UpdateSplitTenderGroup.Run(apiLoginId, transactionKey); - break; + UpdateSplitTenderGroup.Run(apiLoginId, transactionKey); + break; case "GetHeldTransactionList": GetHeldTransactionList.Run(apiLoginId, transactionKey); break; @@ -328,17 +353,11 @@ private static void RunMethod(String methodName) ApproveOrDeclineHeldTransaction.Run(apiLoginId, transactionKey); break; case "GetMerchantDetails": - GetMerchantDetails.Run(apiLoginId, transactionKey); - break; + GetMerchantDetails.Run(apiLoginId, transactionKey); + break; case "GetAnAcceptPaymentPage": GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, 12.23m); break; - case "GetCustomerProfileTransactionList": - GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); - break; - //case "GetAccountUpdaterJobSummary": - // GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); - // break; default: ShowUsage(); break; diff --git a/SampleCode.csproj b/SampleCode.csproj index 6470574..707968c 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.4\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.5\lib\AuthorizeNet.dll @@ -99,6 +99,8 @@ + + @@ -123,4 +125,4 @@ --> - + \ No newline at end of file diff --git a/SampleCode.exe b/SampleCode.exe new file mode 100644 index 0000000000000000000000000000000000000000..a4d56e0cc3068571371bac2cf6ea6157e8408e6e GIT binary patch literal 98304 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 Y^Ut~(U(1aXW$WA* + + + + + \ No newline at end of file diff --git a/SampleCode.vshost.exe b/SampleCode.vshost.exe new file mode 100644 index 0000000000000000000000000000000000000000..8f90da475a8319aa76856e089ccc9e517eeb134a GIT binary patch literal 22688 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 literal 0 HcmV?d00001 diff --git a/SampleCode.vshost.exe.config b/SampleCode.vshost.exe.config new file mode 100644 index 0000000..8e15646 --- /dev/null +++ b/SampleCode.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SampleCodeTest/Properties/AssemblyInfo.cs b/SampleCodeTest/Properties/AssemblyInfo.cs index f5998a7..4d3ee67 100644 --- a/SampleCodeTest/Properties/AssemblyInfo.cs +++ b/SampleCodeTest/Properties/AssemblyInfo.cs @@ -32,5 +32,8 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: AssemblyVersion("0.9.0.0")] +[assembly: AssemblyFileVersion("0.9.0.0")] + + diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index dd9de28..6a9d86b 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -1,5 +1,4 @@ SampleCode IsDependent RunApi -CreateSubscription 1 1 CreateSubscriptionFromCustomerProfile 1 1 GetCustomerPaymentProfileList 0 1 GetTransactionList 0 1 @@ -55,4 +54,4 @@ CreateCustomerPaymentProfile 1 1 GetMerchantDetails 0 1 GetAnAcceptPaymentPage 1 1 UpdateHeldTransaction 1 0 -GetAccountUpdaterJobSummary 1 0 +GetAccountUpdaterJobSummary 1 0 \ No newline at end of file diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index 79fa80e..e4b3a55 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -11,6 +11,9 @@ using System.Threading; using net.authorize.sample.CustomerProfiles; using net.authorize.sample.MobileInappTransactions; +#if NETCOREAPP2_0 +using AuthorizeNet.Utilities; +#endif namespace SampleCodeTest { @@ -42,65 +45,99 @@ private static short GetMonth() [Test] public void TestAllSampleCodes() { - string fileName = Constants.CONFIG_FILE; - StreamReader reader = File.OpenText(fileName); - TestRunner tr = new TestRunner(); - var numRetries = 3; - string line; - while ((line = reader.ReadLine()) != null) +#if NETCOREAPP2_0 + // DOTNET CORE SPECIFIC + #region DOTNET CORE SPECIFIC + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + ApiOperationBase.RunEnvironment.HttpUseProxy = AuthorizeNet.Environment.getBooleanProperty(AuthorizeNet.Utilities.Constants.HttpsUseProxy); + + if(ApiOperationBase.RunEnvironment.HttpUseProxy) + { + ApiOperationBase.RunEnvironment.HttpUseProxy = AuthorizeNet.Environment.getBooleanProperty(AuthorizeNet.Utilities.Constants.HttpsUseProxy); + ApiOperationBase.RunEnvironment.HttpsProxyUsername = AuthorizeNet.Environment.GetProperty(AuthorizeNet.Utilities.Constants.HttpsProxyUsername); + ApiOperationBase.RunEnvironment.HttpsProxyPassword = AuthorizeNet.Environment.GetProperty(AuthorizeNet.Utilities.Constants.HttpsProxyPassword); + ApiOperationBase.RunEnvironment.HttpProxyHost = AuthorizeNet.Environment.GetProperty(AuthorizeNet.Utilities.Constants.HttpsProxyHost); + ApiOperationBase.RunEnvironment.HttpProxyPort = AuthorizeNet.Environment.getIntProperty(AuthorizeNet.Utilities.Constants.HttpsProxyPort); + } + + #endregion +#endif + + try { - string[] items = line.Split('\t'); - - string apiName = items[0]; - string isDependent = items[1]; - string shouldApiRun = items[2]; - - if (!shouldApiRun.Equals("1")) - continue; - - Console.WriteLine(new String('-', 20)); - Console.WriteLine("Running test case for :: " + apiName); - Console.WriteLine(new String('-', 20)); - ANetApiResponse response = null; - for (int i = 0; i < numRetries; ++i) + string fileName = Constants.CONFIG_FILE; + using (StreamReader reader = File.OpenText(fileName)) { - try + TestRunner tr = new TestRunner(); + var numRetries = 3; + + string line; + while ((line = reader.ReadLine()) != null) { - if (isDependent.Equals("0")) - { - response = InvokeRunMethod(apiName); - } - else + string[] items = line.Split('\t'); + + string apiName = items[0]; + string isDependent = items[1]; + string shouldApiRun = items[2]; + + if (!shouldApiRun.Equals("1")) + continue; + + Console.WriteLine(new String('-', 20)); + Console.WriteLine("Running test case for :: " + apiName); + Console.WriteLine(new String('-', 20)); + ANetApiResponse response = null; + for (int i = 0; i < numRetries; ++i) { - response = (ANetApiResponse)typeof(TestRunner).GetMethod("Test" + apiName).Invoke(tr, new Object[] { }); + try + { + if (isDependent.Equals("0")) + { + response = InvokeRunMethod(apiName); + } + else + { + response = (ANetApiResponse)typeof(TestRunner).GetMethod("Test" + apiName).Invoke(tr, new Object[] { }); + } + + if ((response != null) && (response.messages.resultCode == messageTypeEnum.Ok)) + break; + } + catch (Exception e) + { + Console.WriteLine(apiName); + Console.WriteLine(e.ToString()); + } } - - if ((response != null) && (response.messages.resultCode == messageTypeEnum.Ok)) - break; - } - catch (Exception e) - { - Console.WriteLine(apiName); - Console.WriteLine(e.ToString()); + Assert.IsNotNull(response); + Assert.AreEqual(response.messages.resultCode, messageTypeEnum.Ok); } } - Assert.IsNotNull(response); - Assert.AreEqual(response.messages.resultCode, messageTypeEnum.Ok); + } + catch (Exception ex) + { + + throw ex; } } public ANetApiResponse InvokeRunMethod(string className) { string namespaceString = "net.authorize.sample."; - + if (className.Equals(typeof(UpdateSplitTenderGroup).Name)) namespaceString = namespaceString + "PaymentTransactions."; if (className.Equals(typeof(CreateAnApplePayTransaction).Name)) namespaceString = namespaceString + "ApplePayTransactions."; - - Type classType = Type.GetType(namespaceString + className + ",SampleCode"); + Type classType = null; +#if NETCOREAPP2_0 + classType = Type.GetType(namespaceString + className + ",SampleCode_DotNet_Core"); +#else + classType = Type.GetType(namespaceString + className + ",SampleCode"); +#endif return (ANetApiResponse)classType.GetMethod("Run").Invoke(null, new Object[] { apiLoginId, transactionKey }); } @@ -110,25 +147,25 @@ public ANetApiResponse TestValidateCustomerPaymentProfile() var customerPaymentProfile = (createCustomerPaymentProfileResponse)CreateCustomerPaymentProfile.Run(apiLoginId, transactionKey, response.customerProfileId); var validateResponse = ValidateCustomerPaymentProfile.Run(apiLoginId, transactionKey, response.customerProfileId, customerPaymentProfile.customerPaymentProfileId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); - + return validateResponse; } public ANetApiResponse TestCaptureFundsAuthorizedThroughAnotherChannel() { - return CaptureFundsAuthorizedThroughAnotherChannel.Run(apiLoginId, transactionKey, GetAmount()); + return CaptureFundsAuthorizedThroughAnotherChannel.Run(apiLoginId, transactionKey, GetAmount()); } public ANetApiResponse TestDebitBankAccount() { return DebitBankAccount.Run(apiLoginId, transactionKey, GetAmount()); } - + public ANetApiResponse TestUpdateCustomerShippingAddress() { var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); var shippingResponse = (createCustomerShippingAddressResponse)CreateCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId); - var updateResponse = (updateCustomerShippingAddressResponse) UpdateCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId, shippingResponse.customerAddressId); + var updateResponse = (updateCustomerShippingAddressResponse)UpdateCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId, shippingResponse.customerAddressId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); return updateResponse; @@ -139,7 +176,7 @@ public ANetApiResponse TestUpdateCustomerProfile() var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); var updateResponse = UpdateCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); - + return updateResponse; } @@ -159,13 +196,13 @@ public ANetApiResponse TestGetCustomerShippingAddress() var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); var shippingResponse = (createCustomerShippingAddressResponse)CreateCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId); - var getResponse = GetCustomerShippingAddress.Run(apiLoginId, transactionKey, + var getResponse = GetCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId, shippingResponse.customerAddressId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); return getResponse; } - + public ANetApiResponse TestGetCustomerProfileIds() { return GetCustomerProfileIds.Run(apiLoginId, transactionKey); @@ -199,7 +236,7 @@ public ANetApiResponse TestGetCustomerPaymentProfile() DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); return getResponse; } - + public ANetApiResponse TestDeleteCustomerShippingAddress() { var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); @@ -233,7 +270,7 @@ public ANetApiResponse TestCreateCustomerShippingAddress() var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); var shippingResponse = (createCustomerShippingAddressResponse)CreateCustomerShippingAddress.Run(apiLoginId, transactionKey, response.customerProfileId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, response.customerProfileId); - + return shippingResponse; } @@ -248,7 +285,7 @@ public ANetApiResponse TestCreateCustomerProfileFromTransaction() var response = (createTransactionResponse)AuthorizeCreditCard.Run(apiLoginId, transactionKey, GetAmount()); var profileResponse = (createCustomerProfileResponse)CreateCustomerProfileFromTransaction.Run(apiLoginId, transactionKey, response.transactionResponse.transId); DeleteCustomerProfile.Run(apiLoginId, transactionKey, profileResponse.customerProfileId); - + return profileResponse; } @@ -301,13 +338,13 @@ public ANetApiResponse TestChargeCustomerProfile() public ANetApiResponse TestPayPalAuthorizeOnly() { return PayPalAuthorizeOnly.Run(apiLoginId, transactionKey, GetAmount()); - } - + } + public ANetApiResponse TestPayPalVoid() { var response = (createTransactionResponse)PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, GetAmount()); return PayPalVoid.Run(apiLoginId, transactionKey, response.transactionResponse.transId); - } + } public ANetApiResponse TestPayPalAuthorizeCapture() { @@ -318,13 +355,13 @@ public ANetApiResponse TestPayPalAuthorizeCaptureContinued() { var response = (createTransactionResponse)PayPalAuthorizeCapture.Run(apiLoginId, transactionKey, GetAmount()); return PayPalAuthorizeCaptureContinued.Run(apiLoginId, transactionKey, response.transactionResponse.transId, payerID); - } - + } + public ANetApiResponse TestPayPalAuthorizeOnlyContinued() { return PayPalAuthorizeOnlyContinued.Run(apiLoginId, transactionKey, TransactionID, payerID); } - + public ANetApiResponse TestPayPalCredit() { return PayPalCredit.Run(apiLoginId, transactionKey, TransactionID); @@ -364,7 +401,7 @@ public ANetApiResponse TestCreateSubscriptionFromCustomerProfile() DeleteCustomerProfile.Run(apiLoginId, transactionKey, profileResponse.customerProfileId); return response; } - + public ANetApiResponse TestCreateSubscription() { var response = (ARBCreateSubscriptionResponse)CreateSubscription.Run(apiLoginId, transactionKey, GetMonth()); @@ -372,12 +409,12 @@ public ANetApiResponse TestCreateSubscription() return response; } - + public ANetApiResponse TestGetSubscriptionStatus() { var response = (ARBCreateSubscriptionResponse)CreateSubscription.Run(apiLoginId, transactionKey, GetMonth()); var subscriptionResponse = GetSubscriptionStatus.Run(apiLoginId, transactionKey, response.subscriptionId); - + return subscriptionResponse; } @@ -403,7 +440,7 @@ public ANetApiResponse TestCreateCustomerProfile() { return CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); } - + public ANetApiResponse TestCreateCustomerPaymentProfile() { var response = (createCustomerProfileResponse)CreateCustomerProfile.Run(apiLoginId, transactionKey, GetEmail()); @@ -431,9 +468,5 @@ public ANetApiResponse TestGetAnAcceptPaymentPage() return GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, GetAmount()); } - //public ANetApiResponse TestGetAccountUpdaterJobSummary() - //{ - // return GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); - //} } } diff --git a/SampleCode_DotNet_Core.csproj b/SampleCode_DotNet_Core.csproj new file mode 100644 index 0000000..ffb284a --- /dev/null +++ b/SampleCode_DotNet_Core.csproj @@ -0,0 +1,45 @@ + + + + Exe + + + + netcoreapp2.0 + + exe + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + AuthorizeNet.dll + + + + + \ No newline at end of file diff --git a/TransactionReporting/GetAccountUpdaterJobDetails.cs b/TransactionReporting/GetAccountUpdaterJobDetails.cs index f74f4a0..ba201a2 100644 --- a/TransactionReporting/GetAccountUpdaterJobDetails.cs +++ b/TransactionReporting/GetAccountUpdaterJobDetails.cs @@ -25,12 +25,11 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) }; // parameters for request - string month = "2017-06"; - string modifiedTypeFilter = "all" + string month = "2018-05"; - var request = new getAccountUpdaterJobDetailsRequest(); + var request = new getAUJobDetailsRequest(); request.month = month; - request.modifiedTypeFilter = modifiedTypeFilter; + request.modifiedTypeFilter = AUJobTypeEnum.all; request.paging = new Paging { limit = 1000, @@ -38,7 +37,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) }; // instantiate the controller that will call the service - var controller = new getAccountUpdaterJobDetailsController(request); + var controller = new getAUJobDetailsController(request); controller.Execute(); // get the response from the service (errors contained if any) @@ -49,20 +48,20 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) if (response.auDetails == null) return response; - foreach (var update in response.auDetails.auUpdate) + foreach (var update in response.auDetails) { Console.WriteLine("Profile ID / Payment Profile ID: {0} / {1}", update.customerProfileID, update.customerPaymentProfileID); Console.WriteLine("Update Time (UTC): {0}", update.updateTimeUTC); Console.WriteLine("Reason Code: {0}", update.auReasonCode); - Console.WriteLine("Reason Description: {0}", update.reasonDescription); + Console.WriteLine("Reason Description: {0}", update.reasonDescription); } - foreach (var delete in response.auDetails.auDelete) + foreach (var delete in response.auDetails) { - Console.WriteLine("Profile ID / Payment Profile ID: {0} / {1}", delete.customerProfileID, update.customerPaymentProfileID); + Console.WriteLine("Profile ID / Payment Profile ID: {0} / {1}", delete.customerProfileID, delete.customerPaymentProfileID); Console.WriteLine("Update Time (UTC): {0}", delete.updateTimeUTC); Console.WriteLine("Reason Code: {0}", delete.auReasonCode); - Console.WriteLine("Reason Description: {0}", delete.reasonDescription); + Console.WriteLine("Reason Description: {0}", delete.reasonDescription); } } else if (response != null) diff --git a/packages.config b/packages.config index 22db397..b442a25 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + diff --git a/packagesCore.config b/packagesCore.config new file mode 100644 index 0000000..e21ee14 --- /dev/null +++ b/packagesCore.config @@ -0,0 +1,5 @@ + + + + + From ca47e558071c84adfd004041b38be6ab3d2a1673 Mon Sep 17 00:00:00 2001 From: ashtru Date: Fri, 21 Sep 2018 00:48:14 +0530 Subject: [PATCH 070/115] Fixed whitespaces --- CustomerProfiles/CreateCustomerProfile.cs | 1 - CustomerProfiles/UpdateCustomerPaymentProfile.cs | 1 - CustomerProfiles/UpdateCustomerShippingAddress.cs | 1 - PaymentTransactions/AuthorizeCreditCard.cs | 1 - .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 1 - PaymentTransactions/ChargeTokenizedCreditCard.cs | 1 - PaymentTransactions/DebitBankAccount.cs | 1 - RecurringBilling/CreateSubscription.cs | 1 - RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 1 - RecurringBilling/UpdateSubscription.cs | 1 - 10 files changed, 10 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index b8a99c7..fa7cc8f 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -27,7 +27,6 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 2071d3a..a893109 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -28,7 +28,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index b2ad9c2..ff34ac0 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -28,7 +28,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; var paymentType = new paymentType { Item = creditCard }; diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index f0f6aeb..e0c9f20 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -28,7 +28,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { cardNumber = "4111111111111111", expirationDate = "0725" - }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index a94c762..19d3758 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -30,7 +30,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", expirationDate = "0725" - }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 3d8d4fd..c9c6fc7 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -29,7 +29,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) { cardNumber = "4111111111111111", expirationDate = "0725", - // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/PaymentTransactions/DebitBankAccount.cs b/PaymentTransactions/DebitBankAccount.cs index 64f785d..d9707bf 100644 --- a/PaymentTransactions/DebitBankAccount.cs +++ b/PaymentTransactions/DebitBankAccount.cs @@ -32,7 +32,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d accountType = bankAccountTypeEnum.checking, routingNumber = "125008547", accountNumber = randomAccountNumber.ToString(), - nameOnAccount = "John Doe", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) bankName = "Wells Fargo Bank NA", diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 6122359..ec63c3b 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -41,7 +41,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; //standard api call to retrieve response diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index 1aacaeb..bd2fa57 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -42,7 +42,6 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index a3035f5..680cf0a 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -33,7 +33,6 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s { cardNumber = "4111111111111111", expirationDate = "0725" - }; //standard api call to retrieve response From 7ee503c04b10351c754121aeaac00cdadd5b26f2 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Thu, 11 Oct 2018 17:42:19 +0530 Subject: [PATCH 071/115] Changes for Release 1.9.6 --- SampleCode.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 5258f9a..bc33834 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.5\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.6\lib\AuthorizeNet.dll From 1ab4eb880a05b750b27aab8926be4b7428ba2d15 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Thu, 11 Oct 2018 18:12:31 +0530 Subject: [PATCH 072/115] Changes for Release 1.9.6 --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index b442a25..ee562ce 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From 1a68275198359a94819444ece42e78452a0cfb5f Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Tue, 16 Oct 2018 10:31:59 +0530 Subject: [PATCH 073/115] October 18 Release of API Reference --- .../CreateAnAcceptPaymentTransaction.cs | 0 {CustomerProfiles => AcceptSuite}/GetAcceptCustomerProfilePage.cs | 0 {PaymentTransactions => AcceptSuite}/GetAnAcceptPaymentPage.cs | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename {PaymentTransactions => AcceptSuite}/CreateAnAcceptPaymentTransaction.cs (100%) rename {CustomerProfiles => AcceptSuite}/GetAcceptCustomerProfilePage.cs (100%) rename {PaymentTransactions => AcceptSuite}/GetAnAcceptPaymentPage.cs (100%) diff --git a/PaymentTransactions/CreateAnAcceptPaymentTransaction.cs b/AcceptSuite/CreateAnAcceptPaymentTransaction.cs similarity index 100% rename from PaymentTransactions/CreateAnAcceptPaymentTransaction.cs rename to AcceptSuite/CreateAnAcceptPaymentTransaction.cs diff --git a/CustomerProfiles/GetAcceptCustomerProfilePage.cs b/AcceptSuite/GetAcceptCustomerProfilePage.cs similarity index 100% rename from CustomerProfiles/GetAcceptCustomerProfilePage.cs rename to AcceptSuite/GetAcceptCustomerProfilePage.cs diff --git a/PaymentTransactions/GetAnAcceptPaymentPage.cs b/AcceptSuite/GetAnAcceptPaymentPage.cs similarity index 100% rename from PaymentTransactions/GetAnAcceptPaymentPage.cs rename to AcceptSuite/GetAnAcceptPaymentPage.cs From 54a4a3e8ede32c4c1d0c77b85aea7883d6e63809 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Tue, 23 Oct 2018 15:20:18 +0530 Subject: [PATCH 074/115] DotNet Core changes review complete --- AuthorizeNet.dll | Bin 224256 -> 109568 bytes .../SampleCodeTest_DotNet_Core.csproj | 37 ++++++++++++++++-- ...lStudio.QualityTools.UnitTestFramework.dll | Bin 100784 -> 0 bytes SampleCode_DotNet_Core.csproj | 7 ++++ 4 files changed, 41 insertions(+), 3 deletions(-) delete mode 100644 SampleCodeTest/bin/Release/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll diff --git a/AuthorizeNet.dll b/AuthorizeNet.dll index 2c321fc491d6c83d73f6a3c2b5d799c97b67a22a..bc476af8c6a1f8ad14bec4b2c2d64fd3b7a72aa9 100644 GIT binary patch literal 109568 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 NZxa40=0AE4{2!w;pu7M8 literal 224256 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

8>9_Eb+1!cV;CI9G zwbFDl?yij4;D1s%8PANXH4v{_n=B?HPh`y3@u4Gr6jwg}Me5oQW$jC)bQ5Il>SGzR zHHpCQZSA?Gtca=kBx_}BM1-|#a>n9(t&7uz2vh z`yYPrKxyA0dS9R`OwOGNo&#|86 z$C8YOscqj6DZjyR-GtFqjXnlyfP{2iS#~2y*fxfR?Dp1=;mK)y*-`0F9&cv@K6{hM zyJHd`$UI-FU`4;f`wD5Y-WL#EC>F6&2>HKK3QuC3g2+Uva^O;|1aTHU|6>3EgGcMDo%ebCn8KAbd4w z04cnc^1*m}W+!|3l~gPPwQBEE`>(ARi}0tz=~y1m&li z3xE%=UMF85A*PkPl&C{ZB*E|AUY?Oin5?HK<=sX-y;NFH?4wqd4ZnZu^-UKNkEaTW z309fxC7-muv^ba|Ev_+g{H!QkYO}u|AHi!38gHy?@<(H1clYWvipH)c#@a*iaE(-U z0)}!T>DVa$twG1e1X2AXfpCqQM2MRBKqxsTM8Sq$6!B6MJ?@K;`)`?Gku3QI*@Z6- zvD3XZeT`1{FtrIkTYdF^Z1qO1DFz(%R)~atAxYTPmI}>A7lSpkX})G)g=?L!j;%k? z``zCC`wkxL#k-6WNsc?Jy<$pV4nk}fhSZm*}f)>%x zn7tX3pt)5I73Zq8GPE)HGIIsX@R51Vc2CA6=1@AmVngGSiw`o3E#G%{d4j!s0Uf~u z8Iza~HgBJQvhZj{x}}1cB(^Z_%b4`dtzVGO^PvR$q6&(p-QkyYvI6au5_ng}q;H;+ zEc}TtK594RXNpsEW2O9zP6E@keQwMQsm5SPca6UM15Ug*bwH#i)kc0dV-ox~G3Mgs zxnb3mmSI_1KZg&+N$=`)Yi!T0rlC62m4n@JViB~>@#Xe@JN+yTZ*lU)u%R#cc4~XT z)+VQhRp%sp(3lYj&_^nja>eZiz6=)E*a5383u(Nl5#Q%sV4-UW@~)>7OssK0B@0R< zRPy&`OhVC@OcrBnSiJubITs52FD!cBUeOI4uW^JX8|t$opY>sX^9Re{Yj>+(y2lLn zXUrOcVUjDZU0pX2;w;8zY1k(pichm7vC{L4{D+W4wx&rjCQR>v;v87tQyi=GX;fyTtM<#RtjdkWf^ zLbVjdJPBjo?ASS0;Gfaord75O@-lCTpHlS8^rI-E3M|NTD%E@{{Wu+GTkVi zM{reWIJ_XlJ4AfzH~;>w?SK9soHG``|G+nKV@@v#&OWqT{~f@+WY7R#^K3y{ zhd+SQ{nvZyi=$Xh4!?aoHyGkR1zhjjI1N$wKz$EJdOj-%ji?`VyRi&Lu3m3$#1FK52dV=7EUS< z+qH|KTQBo~v{T<<%{zm - netcoreapp2.0 + netcoreapp2.0 + Microsoft + 0.9.0.0 + 0.9.0.0 + 0.9.0.0 + + bin\ + + + + bin\ + + + + + + + + + + + + @@ -16,12 +38,21 @@ - - + + + + + + + + ..\AuthorizeNet.dll + + + diff --git a/SampleCodeTest/bin/Release/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll b/SampleCodeTest/bin/Release/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll deleted file mode 100644 index 95ad0cc13ba33a185a46ca6d0006773dd588d626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100784 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 N2}=UJLc$l#KLO9Z{CWTY diff --git a/SampleCode_DotNet_Core.csproj b/SampleCode_DotNet_Core.csproj index ed80a82..6d349fe 100644 --- a/SampleCode_DotNet_Core.csproj +++ b/SampleCode_DotNet_Core.csproj @@ -34,6 +34,13 @@ + + + + + + + AuthorizeNet.dll From f59b844d9ddc95ea35e235401af7178f63ced2fe Mon Sep 17 00:00:00 2001 From: ashtru Date: Wed, 24 Oct 2018 09:21:51 +0530 Subject: [PATCH 075/115] Update to version 1.9.6 --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index b442a25..ee562ce 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,5 @@  - + From 151eb2a868fec2ad63d68edea1b665fcd17022ba Mon Sep 17 00:00:00 2001 From: ashtru Date: Wed, 24 Oct 2018 09:27:49 +0530 Subject: [PATCH 076/115] Accept suite folder changes. Fix #83 --- .../CreateAnAcceptPaymentTransaction.cs | 117 ++++++++++++++++++ AcceptSuite/GetAcceptCustomerProfilePage.cs | 60 +++++++++ AcceptSuite/GetAnAcceptPaymentPage.cs | 67 ++++++++++ SampleCode.csproj | 12 +- 4 files changed, 250 insertions(+), 6 deletions(-) create mode 100644 AcceptSuite/CreateAnAcceptPaymentTransaction.cs create mode 100644 AcceptSuite/GetAcceptCustomerProfilePage.cs create mode 100644 AcceptSuite/GetAnAcceptPaymentPage.cs diff --git a/AcceptSuite/CreateAnAcceptPaymentTransaction.cs b/AcceptSuite/CreateAnAcceptPaymentTransaction.cs new file mode 100644 index 0000000..90a855b --- /dev/null +++ b/AcceptSuite/CreateAnAcceptPaymentTransaction.cs @@ -0,0 +1,117 @@ +using System; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Collections.Generic; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample +{ + public class CreateAnAcceptPaymentTransaction + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) + { + Console.WriteLine("Create an Accept Payment Transaction Sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var opaqueData = new opaqueDataType + { + dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", + dataValue = "119eyJjb2RlIjoiNTBfMl8wNjAwMDUyN0JEODE4RjQxOUEyRjhGQkIxMkY0MzdGQjAxQUIwRTY2NjhFNEFCN0VENzE4NTUwMjlGRUU0M0JFMENERUIwQzM2M0ExOUEwMDAzNzlGRDNFMjBCODJEMDFCQjkyNEJDIiwidG9rZW4iOiI5NDkwMjMyMTAyOTQwOTk5NDA0NjAzIiwidiI6IjEuMSJ9" + + }; + + var billingAddress = new customerAddressType + { + firstName = "John", + lastName = "Doe", + address = "123 My St", + city = "OurTown", + zip = "98004" + }; + + //standard api call to retrieve response + var paymentType = new paymentType { Item = opaqueData }; + + // Add line Items + var lineItems = new lineItemType[2]; + lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; + lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; + + var transactionRequest = new transactionRequestType + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card + + amount = amount, + payment = paymentType, + billTo = billingAddress, + lineItems = lineItems + }; + + var request = new createTransactionRequest { transactionRequest = transactionRequest }; + + // instantiate the controller that will call the service + var controller = new createTransactionController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + // validate response + if (response != null) + { + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if(response.transactionResponse.messages != null) + { + Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); + Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); + Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); + Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); + Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + } + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse != null && response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + else + { + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + } + } + else + { + Console.WriteLine("Null Response."); + } + + return response; + } + } +} diff --git a/AcceptSuite/GetAcceptCustomerProfilePage.cs b/AcceptSuite/GetAcceptCustomerProfilePage.cs new file mode 100644 index 0000000..ec824be --- /dev/null +++ b/AcceptSuite/GetAcceptCustomerProfilePage.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers.Bases; +using AuthorizeNet.Api.Controllers; + +namespace net.authorize.sample +{ + public class GetAcceptCustomerProfilePage + { + public static ANetApiResponse Run(string ApiLoginId, string ApiTransactionKey, string customerProfileId) + { + Console.WriteLine("Get Accept Customer Profile Page sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginId, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + settingType[] settings = new settingType[]{ + new settingType() + // More settings can be added here as and when required + }; + settings[0] = new settingType(); + settings[0].settingName = settingNameEnum.hostedProfileReturnUrl.ToString(); + settings[0].settingValue = "https://returnurl.com/return/"; + + + var request = new getHostedProfilePageRequest(); + request.customerProfileId = customerProfileId; + request.hostedProfileSettings = settings; + + var controller = new getHostedProfilePageController(request); + controller.Execute(); + + var response = controller.GetApiResponse(); + + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + Console.WriteLine(response.messages.message[0].code); + Console.WriteLine(response.messages.message[0].text); + Console.WriteLine("Token: " + response.token.ToString()); + } + else if(response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + + response.messages.message[0].text); + } + + return response; + } + } +} diff --git a/AcceptSuite/GetAnAcceptPaymentPage.cs b/AcceptSuite/GetAnAcceptPaymentPage.cs new file mode 100644 index 0000000..bc9725d --- /dev/null +++ b/AcceptSuite/GetAnAcceptPaymentPage.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; + +namespace net.authorize.sample.CustomerProfiles +{ + public class GetAnAcceptPaymentPage + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) + { + Console.WriteLine("GetAnAcceptPaymentPage Sample"); + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + settingType[] settings = new settingType[2]; + + settings[0] = new settingType(); + settings[0].settingName = settingNameEnum.hostedPaymentButtonOptions.ToString(); + settings[0].settingValue = "{\"text\": \"Pay\"}"; + + settings[1] = new settingType(); + settings[1].settingName = settingNameEnum.hostedPaymentOrderOptions.ToString(); + settings[1].settingValue = "{\"show\": false}"; + + var transactionRequest = new transactionRequestType + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // authorize capture only + amount = amount + }; + + var request = new getHostedPaymentPageRequest(); + request.transactionRequest = transactionRequest; + request.hostedPaymentSettings = settings; + + // instantiate the controller that will call the service + var controller = new getHostedPaymentPageController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + // validate response + if (response != null && response.messages.resultCode == messageTypeEnum.Ok) + { + Console.WriteLine("Message code : " + response.messages.message[0].code); + Console.WriteLine("Message text : " + response.messages.message[0].text); + Console.WriteLine("Token : " + response.token); + } + else if (response != null) + { + Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); + Console.WriteLine("Failed to get hosted payment page"); + } + + return response; + } + } +} diff --git a/SampleCode.csproj b/SampleCode.csproj index 5258f9a..96585c5 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.5\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.6\lib\AuthorizeNet.dll @@ -47,7 +47,9 @@ - + + + @@ -63,7 +65,6 @@ - @@ -78,8 +79,7 @@ - - + @@ -124,4 +124,4 @@ --> - + \ No newline at end of file From 2aa45012e088d0abfc8070ce86125318020862d6 Mon Sep 17 00:00:00 2001 From: ashtru Date: Wed, 24 Oct 2018 09:42:01 +0530 Subject: [PATCH 077/115] Fixed NUnit reference. --- SampleCodeTest/SampleCodeTest.csproj | 2 +- packages.config | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/SampleCodeTest/SampleCodeTest.csproj b/SampleCodeTest/SampleCodeTest.csproj index e25457f..fa2b7ce 100644 --- a/SampleCodeTest/SampleCodeTest.csproj +++ b/SampleCodeTest/SampleCodeTest.csproj @@ -43,7 +43,7 @@ False - ..\..\NUnit-2.6.3\bin\tests\nunit.framework.dll + ..\packages\NUnit.3.9.0\lib\net45\nunit.framework.dll diff --git a/packages.config b/packages.config index ee562ce..14e8214 100644 --- a/packages.config +++ b/packages.config @@ -1,5 +1,6 @@  + From 9e4adf3c2bd6c572ae7bafa8bb8616ec0bf6e412 Mon Sep 17 00:00:00 2001 From: ashtru Date: Wed, 24 Oct 2018 09:42:45 +0530 Subject: [PATCH 078/115] Removed unused using statements. --- SampleCode.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/SampleCode.cs b/SampleCode.cs index ff83869..db546ce 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -1,10 +1,6 @@ using net.authorize.sample.MobileInappTransactions; using net.authorize.sample.PaymentTransactions; using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using net.authorize.sample.CustomerProfiles; namespace net.authorize.sample From a13ae615b0d4854f8d95d329fc3c69da51ff7dec Mon Sep 17 00:00:00 2001 From: Sharath Date: Thu, 25 Oct 2018 15:25:49 +0530 Subject: [PATCH 079/115] Changes to call CreateAnAcceptPaymentTransaction.cs class --- SampleCode.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SampleCode.cs b/SampleCode.cs index db546ce..41e4ff2 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -126,6 +126,7 @@ private static void ShowMethods() Console.WriteLine(" GetMerchantDetails"); Console.WriteLine(" GetAnAcceptPaymentPage"); Console.WriteLine(" GetCustomerProfileTransactionList"); + Console.WriteLine(" CreateAnAcceptPaymentTransaction"); Console.WriteLine(" GetAccountUpdaterJobSummary"); } @@ -329,6 +330,9 @@ private static void RunMethod(String methodName) case "GetAnAcceptPaymentPage": GetAnAcceptPaymentPage.Run(apiLoginId, transactionKey, 12.23m); break; + case "CreateAnAcceptPaymentTransaction": + CreateAnAcceptPaymentTransaction.Run(apiLoginId, transactionKey, 12.23m); + break; case "GetCustomerProfileTransactionList": GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); break; From 08df5463cfc6b563442805cc2a6746f0480d92cb Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 11:48:51 +0530 Subject: [PATCH 080/115] Updating expiration date of card --- .../CaptureFundsAuthorizedThroughAnotherChannel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index 05f201b..b2be7fb 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //standard api call to retrieve response From d657bc595b8b396a03de6b8c16ade7eeef013a34 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 11:59:03 +0530 Subject: [PATCH 081/115] Updating expiration date of card --- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 655b156..4420171 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //standard api call to retrieve response From b654ee991c0b7bda56c4e4da8d85409f4c485a9e Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:09:39 +0530 Subject: [PATCH 082/115] Updating expiration date of card --- CustomerProfiles/UpdateCustomerPaymentProfile.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 4b24149..5d0fbc7 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //=========================================================================== From ecddba2cbab3dd2af95e6c123c630ab6790214e9 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:09:55 +0530 Subject: [PATCH 083/115] Updating expiration date of card --- CustomerProfiles/UpdateCustomerShippingAddress.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index 8128c45..ce81475 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; var paymentType = new paymentType { Item = creditCard }; From d7f8749eb645d98132c422de3f3d20fae3706240 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:10:11 +0530 Subject: [PATCH 084/115] Updating expiration date of card --- RecurringBilling/CreateSubscription.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 686212c..1148d0e 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //standard api call to retrieve response From c4559eac2f445d0ac0f91e96b44b3ddc58b52466 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:11:05 +0530 Subject: [PATCH 085/115] Updating expiration date of card --- RecurringBilling/UpdateSubscription.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index 0617664..b679359 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //standard api call to retrieve response From 268be0a43bcec7fff593b72e759969476b9799f4 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:11:41 +0530 Subject: [PATCH 086/115] Updating expiration date of card --- PaymentTransactions/ChargeTokenizedCreditCard.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index 4e6604d..b7a8c2a 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018", + expirationDate = "1028", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide From 6992b79947f0a485c869b34fcd4ccc86687bdfe5 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:12:28 +0530 Subject: [PATCH 087/115] Updating expiration date of card --- RecurringBilling/CreateSubscriptionFromCustomerProfile.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index 7317375..f4af347 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; //standard api call to retrieve response From c3ad023c86305e0dc82406aec7736f9906e4a4a7 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:12:44 +0530 Subject: [PATCH 088/115] Updating expiration date of card --- CustomerProfiles/CreateCustomerProfile.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 2d62df8..9c69da4 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018" + expirationDate = "1028" }; var bankAccount = new bankAccountType @@ -120,4 +120,4 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s return response; } } -} \ No newline at end of file +} From 89f7494ca90ea8bab591affa571985b36224f395 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Mon, 12 Nov 2018 12:13:01 +0530 Subject: [PATCH 089/115] Updating expiration date of card --- PaymentTransactions/ChargeCreditCard.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index 07eb171..7132d48 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1018", + expirationDate = "1028", cardCode = "123" }; From 8ab4416c198855f38981c2e80028072ce4ab4b25 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Fri, 7 Dec 2018 11:20:09 +0530 Subject: [PATCH 090/115] Update to latest version of SDK --- packages.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.config b/packages.config index 14e8214..71d0944 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + From d67dc28ce61ac7723871b3e60ac3f5003f71fc8d Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Fri, 7 Dec 2018 12:01:49 +0530 Subject: [PATCH 091/115] + Fixing Travis build issues --- AuthorizeNet.dll | Bin 109568 -> 236544 bytes AuthorizeNet.xml | 660 +++++++++++++++++++++++++++ SampleCode.csproj | 5 +- SampleCode.exe | Bin 98304 -> 100352 bytes SampleCodeTest/SampleCodeTest.csproj | 2 +- 5 files changed, 664 insertions(+), 3 deletions(-) diff --git a/AuthorizeNet.dll b/AuthorizeNet.dll index bc476af8c6a1f8ad14bec4b2c2d64fd3b7a72aa9..a1f48269dd0583defd8557f1163b94c5b49b557b 100644 GIT binary patch literal 236544 zcmeFa2bkPMwl=Jm)ass|@z`UV8E20%GZr&F#@S;en??|Vv8X~x}R@Au#P{Lg=%ZysAZ=RN0Cy{ame zN+qd!hehWYmSGq+{{Q%+VLX66|0c;cezOkd>i!Q_8~0Q^Kj4AH+~)_(KX_TbeubAi z$lLd@`u+Dk{P5h$`uz^5_l`Wge%aym({`Fye^_qm0fRer%538&z4LU#n47SSCzm)& zg52ISwyv*C3^9!J!OT(UU3WpQhx`cH8eK#-6>kE*8zdYFaQ<1wJ}1(Z|McEh3E^)a zq`MOZr2Bv$M>YI=&oZi@xOZAcpAh^HgnGkBN8HlTXGQeED-Sq&CG-c*^N)+i+97|0 z>@(QQd;8OmHgJ@Rx&Zsg-y~GmVDErKb8sYA1DqwT4O{q4iG+!GKFbw<>8EdJUKR_rhBG) zrQ08PuAUTK#5QNE1Tk}41FAILf!I~0vRzd=IW*Hu?NB?FY3`QJc1cU(K4_*hPLt7X zh-EDDi^)TRE4)C7PC0J;W%2mrbTfCvD(2Y?6wwh90d=J>U{mPh5Ht)a&9y|HUB zbJQBF9OyX>b`Bhzru|H}68mhm_$%dyL{lw~2dzZ06#)S1O#vbRKn*HDgs@?;z8uqb z2XL2Ug*i=4re)W;s4S<6Z7H`crL!z=+k~;gWK(c*;}V8rd1C}X^(&ys=smpAsJ?pX>g=9EYCGj@fH$qhUi@e z$web~sv6QQsrn&DqOB#;xh!qZ2DVNO6``#n*TN)ngR#wTN72a*!7ewHn_<|jLf!f`K;g7`rhwl$kfsG*;kT z!s+9*INtH1Su8Qf%GIDa-SNz#%JM#g$(Cv`9Vtww(oEHzxeE)lw*Q*TaueX_q8y#3 z3#_x2)eZ0AB`srxRlC7E0DE^L%=t;!thVxpAmOG1O?L*o%^vPd?kqc5ZL=txrVYwc zoy=DF*5;I1yMoe>eK;v8Hgyt1!?}C{DelysMMdPIbyf`||t3y#u?-$$JV}cyD5(h*|CdEXiue z-Ix2MyI9neyT9yhcTd?TU8DoIw0jWuouj-C1JX3g^gd;xx6_Q`is6QqE!-*$bX4-E znu?;1EJ)sO9X!U2fv(Q?>&-S5I-(^bC6yOC1LYI-sIE|nZCO*eUfBj}T*aue>Fw7- zha&RI)P$}q#la586CG;xznmVbfyEAvBB@E_fi$jyzOlZ0n;Kd+bUYrPS&ulAS6M;fiv-K$6dBb1sv zxMdp60(sS{o%F7`>BQ?YwUw>s!qs$fAWkZW4k}X>DCnj#ohq_+#aS(#>&}FRj?Y_% ze6H$L+s$s?#mU;WndTams&^a=xmh~5bX4(9>R_#?u{V%yMtRlPb$jqqQE}F?VK=1e z_NYuL61h2WnYh=FKmO=*N8x3f?o&o9hjPwHhuz|nwsLa;`DQz}1HDh%(z{atp`0^K z-O)fQ8C?IqF|&U7GN>T1U~Z@VaB8Dg>!Aee?}}`h8#u zy1r46{eIN+cBB$m_M@We)bv(RN%?%%QAzvC8Bl`$^$N&-|H_etyPgfPX|=l}jx)QJ zDf`?`P;$7CWPI~+rgsP9lARNg{uHH=aW9kjUCnkD1;#|3UMfm~F;P#Jic;WM)7zwv zQuQa%^86IWpwzmiP&UCeW-OJ!vKN)0Jl9YO%JWhxKUJO_w5cMO_7WLWJb>_ww+Y)m zXQt#dv94;Uv#)CCk-Vy*XJ^~p6=iu9V9qM}V4mxLxgNMU)7jV4G%N3k7-QMyqwii4ZbBqOr0Bv(We zq@ok#Ssq4F(WZN%QB<_)si=vHHnBel6V#mp8NMBjqN1bN#f4E+w28f8XriJ`90Z0Y zD%$j~XkJvbsb3}%MMay~frSZD(WY!Pii$Sv7&TGRrWH{W6>Z`GG|Y>NHk}rYqM}Xg zyTd3d+H^rQii$Qp7Bx}PrZ=J{D%!*zAk0g52dqk7HbN5>9mVb_G*Qte-e86%D%!+r zSZJc6O-^ORL`9owqb4fagnMb7AQf%m^)t+iiZ-#w4oy_FY3FEyRJ3Vj)I>#_*z1Q0 zQqd+}HbN5>ZQ@lVG*QteUO7S&6>Z{mBs5Xcri-Essc6%RC=Dvw^s8tT6>WMdYNDb| zA4E-5w22c6Aww$K!~uI~ij3aT*f_WhO;mK05hYJWo7P25RI~~6emX%azUc{nEFRoz zu*YsU_E0yrWT&ph;XR@n%$w?NBsz{!5v6ZDn|3wb>v3<6QTa$2xL?2<^+vP*2=^La zY6zu9C2fs+ud94xWdQXGy)vOx;a=^#)hlUhvrpjPHxT*-LTw=QPy$E{3#H+K(NY4( zlcw=Q!Z0x0s4@Ew5;)`aK}l9R?u0bvankj--%vGju7CCBs?me@N!Jr^`v7sR2aDg#d#lE`JtFBm_jToCZLf)V;&+u#w!KNO zDe!W<6>JC#FdP~CJAy3&V&=#PG5j-HdkA=R2tG*A5^zlj-b(N*Y#eW02wp+(_X3^} zf?e4Ck^LxdSvBp0{e7c%vFQE0Ih~2udf&^w+PkX@ zb;moX2K$tZMNOlhDf9O=W^dILR3oTN)!$K3wQ1!1R6XlpWMis+-JdHTX?q<9k*dG$ zZtrJ61kua^>4&$ew6k!iKn!lCt6@!Gmu)oV=iwW_L@+qwvJ zc1_i*ZTE{ety1f)$BOCvK2>jz?47E=w|mv=Z8wSwp|*cOY+WKQgZfpyBO$5!9R^gr z+x8hvlVOS!@z@UuW(5ojTD6`!0pCZts3!F|Jxu{W4#E2f{t+9;`z!>nC-{bde+w>Uzl7ka1aA}Y9|71>Y-L$F-Zvp~MC)mSd>+=0Nd>efZ-H#@mF?5A{ZY0vyU}`~Y(J6hpzcHtlkH2gZP<#)F|y@-JLco- zRNu9=*;Dl-O{SYeFI9(WZeQ%7#hzO11rc3RClv*$I+W@{sdFfG38k7)>KaPjLaBQw z>2A+whCFnys#-M}_+2O@zYm4vccPH`tMu4E+Qv+r6Z|vXD{+Vob>2HDiQFD2?uH)T zH=*3q>s=e*y}aq6+}q2Aav$&Kq1@NIJ(T--&xdmV3hxW8WIU@bNVR{ZSEH3GufJA0 zd6TtL?Jd+wXD_FfF5dB4squcMm9E~^TIuH9s+I2EFSN3i_pDZGy|=Vd=Y67;9^Rj{ z($lN#5gtM>Z>Uy!d%J0+k9VY2`g%XtNs9m$^J(%1X{Fg~(@NG`94P%;yka18G7t|b zY|gow#x`hI6}a}|SzdudhqIPhL$^|*wL$J_@l0@h*L@(jJh!>JtNBCiaKq@W9@IEeJRq!|)ATf2cQLAwwK2!c?~8~cOIgjYViqKL zJUg02zubc1E}YD!d#7w~#@4;n!k}$YbaHDyB;(!y8}F3v22=NbUwJyJd=^#edIxSZ zO!pSJd*LvIsmQIEq=NcS8LSu9ry6id@?DKu{Pp0Y0Y1?6s}Z3xunq{wtV5v4j6tAG z4+-G0sUocEv_JA<8|aSuXE9jv+$P&8s-Xoi>K8mrwogtbN81hKa`h}0bc)T^&@lJ_ zUeQ5;?StOk;yr5ae#;5g-=}a$5xXwIHmcz~_BIZU=G(riT*> zR&C%aRlUi&;hoJo%g+A-HCe>7KD)`RZKrbXt=9b`(m=c6@r?k_PAC&A_YuHMemows zSEiieR2yxlz$8++Um~@YZ=wIMveJcVFy!8WuO;Qfcr-f1e=PA6{rH)1OIf+M0TyR; zOzRz_)mSI-tpCo4&re2R#<7aCLuW^2{H}6_U(jE4p+5+U|D2Bg@58^aJ+WPnj}q6-1mMmaQ!R0Oh9B@_)k)Pq*<@fseJja%bfn?vgnM zMmo=b zpiA0I^}z)jC4xs)otn+s%C7bgTlGLElFDvlx^+m+bbDf3*VT4!!r9(Zo%XJagj8g! z($dr9mm!VSsqD18iDTe<2#Q{D2g|T)l3i_Yr@rX^(F10RI|6d@cw4|Jrf`f-f!ms7 zu?=|Z-*7(Xap*Y5i#4+y^7-*;HU5>rZ6!A zuwaUlBEVk=OpX9xVHc+o*o5J1yG(I^k4(dvbw5*j6{kc}_&ZaW76EVVwPkfjhzw?C_{2IWm5HyxW|2IXS90|EmDWvFDaw|Jd~LBB;73aBeS z7RsjEiN?o6psx4?WYg^oxOQ0IAPK6)CnH`@iB~tkYY#!?xrbtt?FO2Jib>{PS9G{D z-5Nrcf^6=DSAGC_J{qQ3plG@&IzKI91;o1H-ITkS>x$37(p(dPY6Wug+c32XNu68M z{SlpH@hv8w|D2b%wAi>c-3DfIoJlGQz}qQKalHU4Iziw~MswVmH1NU-9}Jf`7o#U% zuH(s9J9J6=^Ch9qmr6NZ)Y&1YMpZg;Vx+q!e(JnPOB+!wdCY(W8zWD0eR7YjY7gr3 zyLJNF_5bpdsgr*$Rs1)fN+r*hQcXOrJr+7PvHwy7<^2$z5vz-Z2mp2s01*Jp3jh%S z%ntw&0PGe3A^_Mu07L+Q9#iEa0s!=83J?JRZnP920ssuY6(9lt+{7qAgns_*g&Lb- zG$nt*y+)y!z?BJuOw0=x3Y14F881iL?l2{UA zwB5mw)&1kK|5JG$#e7;-o~tNN_(?9O|DSMK&$OFV+W$#el;aha3(77mFP4#Ito3>2 z(GBx@+l<_bEMLgmQD!|s9!Z(?1bHZB))VB>l$kH&F_c+PklQGeGvx7yG!h=yl`|Z)ai9ic4@GaK`;-oxcA>cVPSG=B@O7 zsK9j+g*Q5K9A|VgA+3NUDDDfB^1fj=T%UQr%DEoQW%PF3-B~8QRg>YeyO1jT9@{t) zY`XJ$-Vfu3jAIwC<+a`_UdLUscnx;>=`iu$b_b3b3gqG6+kS*Yt;)|pYPf6Kkvls# zm%DUfH~8k}P)@2mj{wbg*4dkiplH8$B=?|Gz}_G0MrDx4?1a;)!YVFA*;nN2 zpcNNUEO4uCSvKOJ)lCjw1XZ_Jc-O8vS)3uIVXHeHJ1w_4DzLzq8e4`a)lRmnLaUwJ zRFp*#AAHyqbwx~7*%fAiCrxoNWYrKW)Lh3O&@u{p0d0E0wDMQ8E2=B<&IsQ^@Ght! zS>#<#L$zJx%}oR7VC-jiclTjw^Sr?=to;2~!W*ic;@_EEUGZ;{YO45G?C~O(B#XA4 zH2R{>>e#kfbeyMQ(K)*4oQ_2&_jY#4+dBIv@96A;zL~RS46N?s>;ey0-NM-ga#r_V zc7en@-pSc(co;D^ag~a-)LTlbEs0w*Ig+HVG~D>G(wr?S&7Yvsm4=e2% zq|C&i&T(ss7Qb|$uS(tJ*dLm7~OU-YDE#o9}w_smw zEB^vdrEXAj_W*Ug7MxAFyXc@&bpwZF?hbL7Oo!VbnvQz_cG5>D4ICa{%B{(xg`%<;_Zdi1Ig(t=zp3{r6MhM6LL)819A`A-P>D{{>GPD@Q}| z0{B3_lk!Co`9jFWZzX}-%OyZVkie~x1VokuzGDIfOo-UIH7KFlp*1OAEkZ4RFX>;8 z&??N~U<{VY_6GR?z`!+Ad>=lky5a}odSge|01(#?mFq|1`b)U#@}O4ySPWMNhHNh@ zcXgQHR#PtI$HTN)Ge%`UUe$VE5A<*#CkgWPNM1Azpu?-)DM1t$?|9BfdSY^g@`w!>` zd+Rp*-GADKBV`^Gb6Ai8z{-R|L+-qljT1-1OA&^o$AkVcJrIVpx^pd>KvEe z46f)YOLbkiBD1UVM+&J_QclQ}EuC2zR_(g$pJ@MVduM=0U(Mqi@~~7lkOB_}bo`0n z6f#bc9cWd^KG~688t{JuuTi+RbjJ|SUCwi4M|15u^lP%gOWubN8zy7Iqi?d+`P^y%@~dZld-&t0vpaTx|3n9fhhp#xo;xC@CXW%R+|Qf~e_ZCz=@|Bn3JYSk zW(lY!B6O@2Sdv}=)x1bXC+hz&S#{ILyvclOg?r_w*RWBM4p znT6wl%58@{=fh>vXkhHF5}WUZUGYT57r3=@vr#og-sA+p_5|cE&iB}XfZWgdz)S+X z4QfXlBg9BKay;C~eCJEPR`Dd}Y3JTz?8%Vr+;1UfYn_7D^w_Um${1rx$}H;^q&tY| z?(V01x=ME%(>()nyU2g2$iZ^5xNG3kByz2mlfH~}nf^@dU8aw5os73HlJtugV;6KX zxUbzn6ldRV%=Xfb+5X6SxD2QoKh8p$+agVWelEYBLlBN%O!qj5xZ(Pt7X4g8p7gj^ zAW1wLe2_caeE_>4Up#lb4=N`omLpmo6p8@gkN^+?08V!0Ap!u*b0|Or0GRDifCvCE zC!hck0AOlB0U`jvO}GL?0DwDN1&9Cux2Xyc0RZkO6(9lt+*>L@1OT|rRDcKoaJQ)d z5dh$3Qvo8No-AV$%9MX*bRgKQw6zN}7=O0ZHLl$Q!Vk_=yiS@w9wptdjusbFEX{aX z>}HnbD%1TnOWNhY)jbhTrpqCyh%9N`)T+Eiki17BU!0rxHVp~$o@^0PRarYfIMbQi zNl3`W6izd~k;khFtn5_o6o8EgB>%^dMl;ix;is`Un#Rm9jU?Q%+l7hG3Jnen4TVe5 zS)&=A&g@9ONT4bICA!rH)oikOAi@z3CQXW$z}Vmvm{sv&%64%BcYX>I%zN9*09NAb z9vM7$PeGEQFz!(}YQ7x1;E-@>%&?Sj*RM)R1OT`-QGf^la4}ba2mp!!AOZm7raVLd zfJ_x20)TY^AOZlKNyhDW!juSfy@w@ zLxKDXWqDj2xfO41OyIO~e-GQ3-k}(IAjWsCm0iF{mJ_}}s}7znGl7!R5GwX3=OX+p z^n^qt&*15@R#p>PQeXccr4 z;8FrFM1ac(JSU-S9+E!W4c>@#p8_mj;#05+7Xlu`RXCJbI1bbBNA7^i%#Mv9D~V)G zr?4-~?#s-|DeO&olalwL{5#04Z=<>+kw@;1$T3g02UilTG}WY9s&E2=)y$gyv@f;h zc%VPjE`X<810x^!sp+>=;Y7xhl24}076ANI%B=i`P2G`{d^VU`a|+NO zYWL`nHXUTP4RNP2j#b_uQ_V$Iw)-Xz)+$`g;(Y@$dpY##s;dxTh74^nhY&1@fMK{y z!@3_vFq8)8$*;wpf2PXfWTfPaxGLbBpMlwa|D$-@n}>NE@ynfw4#iv0PVHhQy~XX2 zjt;m3kdCMd&pF_zJ~Z(M5x|ZB7JO2AN~!NtaESuvq_MX!{*O4Tj|YRVRz0NZ9nWlV zWjPCn;D6~`CO4MP>>w{y5?g-Jzhw^Xj$wxp5COpD0U!bZl%OIe0c>j@iXhT~4m20_L+2dMkMmDz+ ztK@~0`zv`dnv^~o6M7{ghIhx&77 zw;_3zv7ag4p)}oEm7i(s4uAA@HTlEEAKyn~IFc#iGZWjv(o>?`L#3{Gx7yu{T{2q@ z;0^`ciCw!Ks+mJwP);W2+l-OSV};M@{*Dp&-qS2R2vijW{5ck3+$hE!=*L~#F%GxC zX5l)<%~shV&N8+}+-St9ZyPYB*S=!Z7Z0r}pf~(?hJP#lF<2i4IFF%UCX>4W+sfwt zT@x<4kxZ3irgObuRWpMlDWNyXz>M=I)A9yBO~NuHlkjNF|1_ydeUsGP$WBtKc=+rXBd+5gU zVH+F6a+TvWvwd)8cXiOEyR&#y=@hkr$pk z;enEp@#N7iz6;qb;NgXxov!wUozd0Q4jt{}asTh+Fv;UMIlPyGXu65H_z{zcqIh4( zE`BVD{lLV!!~J^*Emm!FqOSNpESUf4A%dDyI3sBoZP7C6!!FJ*lm3+bG8sU57j-OK zQ})YeAmw=qZ=}4Nk_S;ZGMKGlc zc$W^*VTFnred+6Fp@l)i5lumL+G|zH0!R;iTm+Erd!6JrI0&UsSdUFmu>$bPcW$`~ z72r4m2P{Ed1)da? z=PKnXfOsA)o+ATK3d(b}@)STk*NEpRIE*<3X9(URTZOMQp;m0@h8O2x<+mO+mZwbv<=k81=^+5CI#9?YSRLZ6T7)7(3}F#%$j5l;|TR?n#vXMxzS5J*r@qpI$|t_ko66@*<~0L2fnks;!}5M=Z( z0{X=J0zd=+_XmIo0MNWuhzJ0F5db0pcrXA&0PxEI5COoi0zd=+zYYKq0LTRx`-cL9 z2ml@q01*H@5&$9q_)P$a0N~L85COn%13&}-j|G4T03Htj5db_903rZ*G5|yX@KgYZ z0O08W5COn50U!c^X9GY40M7-02mqcB01*JZ5C9?ocrgG(0I(?lL;&zo0EhtKXRfHwm`1T~J`jIJAJ8pfl0 zqA6#>t#ids*3?1MM3S*|(`)Kr_Aofp-+V1di1&Sf&A zI#<+;>d$r1@vTxjI~UoD`agw7f>E98DMocZ8jR|Am9Cx6M~YE9S1yg}Tzn*|V=}3o zzHHm}I$q#vXXh$|(ReQS8P&ObN>u;MY_D@6&8VF#T1IuQej3%e0Bls}!l_Z6%P2A>Q{7#=lY{jI~N^|>SuKD=VGf-J6D^G>Re(ns&jeEsLquz zqdFI|jOtv6GOBa&$*9gXF{3)yl8owHk~FGwRo1A^1tz09m->wASU5=OypG`qD%5pM zgi-30v2s`8^uaW&{DuW?V2p9-n`$#jwW5P}^0s*Nay48kF`>CD_TJBcbXHGkMEHxdZ1-`*uipjTu?W~|2CL;dCgR%7mo zsnTnanp%DtFKoEC;Y24trm;tm#;+r3m{`>rD?9hV%FaFUiwKeEJSOQg?)BI>IShj` zxf`k9gpKz)5|AF)y%{R9zXdy)H(rQ5#)D`6Rv@OtiD-$K$=?Rpk(AUj8(3ijU$~_z z&fcF7k={bO{5^q8kN!h)7`|m(Og3h!xNH@235%+U+X6cX14P+`na3W8U5+ zr-1YB;4%?hEPH6B_m|Mkvhiw9lWi?rjzr7k@(ZL_IRNnnu73tTRot^v>hN^M!tI{7 zmZuJP_S|C`mhX=XUUld|M&moZ$%~r~w^}Mas|h@D7YUvcXvtwIuBI_vdE?!b8u%4w z@!+M#i?g*jhoTgaRW}?jG2}y6Te&5RbZPqB$`8lXd2tkG$gKjmSPBM)Vp9a5XR$d1 z`V_N}WuAC5xJ*L1@eNoMC+@i6s(%UwgW2%6U>xs7aFCyWaq4ooC64?GOr?_wf9WOF z;a6a)oaisav>?us`KSD^AmZaNY+c+RWb(LG#_tEAP2W7Z_yhj1KN(W3@ackZtt*RYZB8Ng0B*2y?lDeFxBarjq8 zsH8NDs!Ox4reLblbwlqBba~QNH}o8*OQOjtOn_(ME!6c{*~5M9O=xw)_mS1SG$?6>c*f>K`4ox<}h~7R52!R}O0Xxdbq+wv*^}oOoSw z{cpxI%|%mtjA_G+F}&Zr=)v)Au6WbhhUspjb-sAtci2UfNA|9$uUY!^__l@OLa6Ob zh^<4#rLJ<-qPD9gAs#{-CMJ#6S}}cgUhnI99A7+k$p+>*v^ulOC;!U33yyA^Dp9ny zosR==eJ@EmzdCv1#x}HfhzlP2>&7n2$h6^FE2 z;m)=_Bu!e|uBA60Z&cJjHFEhIJdVNFe2WEMB|$=Md(dT>xD1}V$6p7Jt*9S;mi2ub zzL>xwe8AJ*w#~SzEI?I_?aCt?C*Zyz$lKA@K>}VDf_U6vw00Hnl@P?dztQ@=%`|&w zgETP_YqWkU;4UFJo8T(~UJ`-!4C=ED&WW=L7HC?#3TjM zJU#@!A$Yui4~Jj^dh6i=eiwrH#L8&JGb@CT9vY-sLl93q03H*9Jqhw`+awQ)cjL*; z?mm^nbYEsA!Axss+WB}_9&beL1T(FF0W$!A$Gzw9BLL zj`vpui zUdm1o$4~p;O4$kG_|eO4`b#N0K^#Br|0rcAh~uaI$5M8JIDXnOjko3T6U;Pwo8Bp9 zB$#R5ZPUA@j07{yt()F2Wh9ts?!5`q)m!FCFtfRlziO1jJZ(lUncmNFN&&zWct-AN zTuiU}w=%}$J~#mUp&1#SaXqcU|3=957|CMAq7fJt;_k{t&mj9}{QcAZ{&RniC-q{- zlX=-=#WSaAjz6&>Q@%w!apjLRy50RG>->FBf8WdBZ|mA&a9k@u^K<(Nu8CgNY!r0y$TR-FAei9K}nb{rtRgPkZEHm z$+0xjMn~d!U5BGf;yq0s%`1~xyCI3+%^C~Pk*M5NASL$;9Df{uLYtw+A7_AHZw%U3 z!_^GUehCfciaSCVCD`;SAuk<8bm89_6SgkRMzGm;E<}RP(C$j z$Z218#$1QWmw`Ec&+!H%na4Ss=~lG~4I)~6ooYJOROQ~Lt$K4~V@*}<^4c8E;7sGD zN;7&EYA-Chyr1awRid#T;U;?OlNXp0%Xi3* zMjA8O_K$3XHM90oH1_Pi-Z&JYw+A+BF9Wc4BR2BZsk;k{i04J++Dibo^j1Z_A6)%L zawQsX-8vf0tmWWmH}kkR#Hm-8L!ZXod)!r}8(Pdp6Zeh@-rvaIrpduI#Jw4btdkS( z3Z(3&abB(?HSZy+6;w&g+e{VRm9vf%oA|Dc#dVF;a}>OzbvY8s;MY1$N6y>{kc&20wqSo1E=uWqa3J`UTtVI=Pc^{9uMooE_5EJuLSIMsD5D7aIF_37}rS zfUm~Yt7O74)Pzx}v0uW^SNWd82JH%UybgS3p^n#Hjxx%9fPBr|huCHh_I_ab9Rrzb z0`(dRWjW1fOh99>q_Q(A>Lb9pkFlw0u1n`IuF0(Q;DaAu{e+fJu}SAX!?xx9%{A#G zC&7lF@N@igZnM?6*=S1OI%A@@9Jq|jx~ji5YYeL%&QrVz$UXl#QdmctO}*A$!QJ3I z#@)_3kuk$}B{43vD*}M40zd=+R|kLy0Pu5qDnx|y{OghB;?-GxsEaoe`TLr9VNn(a z#v6;$w{xv+G;{gubLMn3O#BAnQc#qees2||+WdWR#?+j*miYPHJQ%@yc+U`8hZ*&D z{yn`QSZqdwcbz@O9VX!1@F~k2nD?q;je3dwA*5)O&g>WZ%m>xs`fv??>*} zUB@yRX1W-EW!y)2$cs#?B_(=u()}`od%3@%6(#Oste4?}$hP}cC}Cuk5#ygj=q~~E zR|>dxJFmUyY6~y){^^K%QBA8Uv~pEU%U|_-Wx|tGsFpN$lnGARe^%{NS#iB zf`)FnG|PYcg#$3v5^ZubcvYLZth{OW%)WAyc{UY%x@QT$9rTP!7+!jnSHL!@1TR2UZxzm zvq28W+0ZVEWs0b``Qx#CUe%1aIml}u_VR~5u1~EQ>ENoBf?3;tf+&85K;r1HIF|Qc z*uj5$Ii~Xd{e1u4Xk+^$eOwxA^suKgC3jL)`4`w^(iNr}>HG^pY8naCZ;>8qP&a$+ zO*mNZ7!+I&fAZcRG2_HaUFBlA0OyBZI3CrH^)PA&t9d&9^1*gvjY0M3$H?VmaM=M| zxDFpjVPbQgC z8D8sd!qGQv4tmex?Qk>e4cjo(Jp3)x)$}|bIokMCjmTNcinn5i-(D;TDxjL0uT_@6 zngx0U?!)lh^Cje@bY+W7-y>Oi_u4}RUx#<1p<3HvA@7$FWhs5(o@&2GlMnBy?jic3 zUf2c^Q0Xll8$1HQtbWGA$%UyPXAkMkzEub9eusUdApa)9u}W{Gu_Mwj-R}WqoI zjDjk?XPDd%fL60#rOo{)<@cPpOU&?Bxba*dQ`iO{@x$M2i~7^zHe-zd$qaYREOQsX zAmnF{S9%1oLnP@VnBjmAvZUbtA;>c2o6~`rg8M;WuJFy7z)ZpYDlk|2W=wCW#3{I6 z2IfvQqa1?r*h$I*b1^KBQK~#9>Eq+Y1Gnh9{B{<9%)QWmsq$al-XHG{$pLr8Uey35 z!Ue$xS&9<{w{uWtc;Y8!{7RHEQ*f6DlrfPbX8fd=pI%QN=@laQXkL7<+@kM;Mf?Qm z7b5+Aq&`Fj_{i2FGSEl136TaO_nB@Z_6>zTXaRf(bw_x}g}$m$d=w(AQF^=E1_wBZ zX`oSH2H9t~t&cQ?NVAV*L!`w=1`C2jDY$)tL@~1>iK1cqi4OIVVS*rlf;&10819=# z1ZE2ER)Kk>Z^jGAetM&Qq%}nF27}}|RuJSs!5tGM(dL`SiJ5I@ypK!}1OXJ>_kyaO z=$j`6W(w}WAU)huNOn`i%=D)E$TUHa9tF355P-3s1k4D`6x_Fh?C?ZU%(KMI^zf8S z5OkzCXrxEM{VoXD-Z#$;%oN;j0`m^Oc}Foby`6kyXF-r21-B;Pw~KGyH84|f#|Gwk zzIncwnci+bvb!L?)-Isl&s-<_UTZNqFRJWuPTR%}IJf!dKQ=rA_lLb(`me=?6%hOjBkjic1h?ZepC$ z_oQyQdts-tybWPyLEH*7%9rVKH)pzgL&vf3O?B1*mUZ-jeFH!QcJACQkW!jmp5x(pYg_uI{z|jx(C3>ThQjK;@RlfRC)uJ_@TF|<+G7{Fz~A=>qh>o_jcz@5Ia8}gDFJUqqkGzsTF8XpGsm>I_2SG<RX?dhP3nS$X-I9)X zNf3e$pzjUjnxs@;z~RXV&e~LX@Q9fo72N6nHW;cY&5jv+i+h&0CEpg}y^tEbNsrNH zhKsPeE5T|d3N2A(t|6LE;mtUnwz*~5Xmpw2`if9k3wYbXlzg~ z(X^i^$%$w@Cmk2%R4z_)QgQK|UMR_lXgnt!7v)qgPIFRm9XX*ES0_=6?aS-+lH7>K zbJKBAZsp=MHx<{BTYFCLl;lJ-o|BG?aw-?6IjOjKP9K)!L^Ph0j*D_C7pFO?xOh&V zm*hk=o|BG?aw-?6IjOjgoY1b$-LhSMU6LEocy2l_%B@_S=BDCGa65BLZr_yTMl_zA zj*D_D7pJ+YxQ^V~w|Nsi@s@ol(RfZeF3PD~oaUtB;yHCK$%$w@Cmk2%R4z_)QgQK| zwkpYqXgnt!7v)qgPIFRm@tpdWE9a z6&KHG*OHuw#&gnfQBLLJG$$1o&uLLfPDJB5>9{DTa&elIii_v8XGu;(<2mWLD5r99 znv;r)=d^!GPDJB5>9{DTa&elIii_t|EXj#zJSQC&EcIhBjkoK##qr;kc< zA{x(0$3;1ni_@G`Ts)^gmE=S;o|BG?aw-?6IjOjKPWURc#JxGucuqPl%BftO=A_~} za>6`IrL)ES-L@sU5sl}jE9a6&KHG|B{@D#&gnfQBLLJG$$1o&*`9& zoQTGA(s5Bv<>E9a6&KG5?^2ZL6Ntuh(s5Bv<>E9a6&KHGRY^`n<2mWLD5r99nv;r) z=X7*QPDJB5>9{DTa&elIitES;eP;{%PVC2Q*@vE4k|WW0jyf*Nv0R+ysNy8icuqPl%BftO=A`1{IlWVo6VZ51IxfnoT%6{l z;^H~sMXD10I?;GeIxfnoT%6{l;^H}dUXl~hcuqPl%BftO=A_~}azfvU3DAzukN;kh z8_{@fIxfnsT%6{n;yQ9`-*^72BqyTroOE22Q@J?JNyWu;`nDt|qVb$`T$EF}IL%4L z#dG?1NlrxLIqA44r*d(clZuPyWTZ=-e?;Rs>9{DTa&elIii_t|QIZqUcuqPl%BftO z=A`1{IaQbBL^Ph0j*D_C7pFO?xOh(8N^&9^&q>EcIhBjkoK##qC%lYXqCY1Z&q>Ec zIhBjkoK##qr@E4yh{ki$aZyg?;xs1}7tg6*NlrxLIqA44r*d(clZuPyG@v9WqVb$` zT$EF}IL%4L#d8`|k`vK*PC72isa%}qq~bbqn$zw(a(oafztI_e4=!7hC((GGIxfny zT%6{q;yUtde_h_LBqyTroOE22Q@J?JNyWu;YAeZ!Xgnt!7v)qgPIFRm@tmfVE9a6&KIxq>`M7#&gnfQBLLJG$$1o&*{99oQTGA(s5Bv<>E9a z6&KIx=OsB2jpwA}qMXXbX-+CGp3}yXoQTGA(s5Bv<>E9a6&KIxijtg&#&gnfQBLLJ zG$$1o&*}P-oQTGA(s5Bv<>E9a6&KIx=8~L<#&gnfQBLLJG$$1o&*|2ZoQTGA(s5Bv z<>E9a6&KIx_L7{4#&gnfQBLLJG$$3;krS@bZ*F;wxw|AcqVe2xT$Ee6IL%GPb>!Cm z8uLU+PDJB5>9{DTa&elIii_v;N=Z&c<2mWLD5r99nv;r)=k)uMoQTGA(s5Bv<>E9a z6&KHGb4gA_<2mWLD5r99nv;r)=k#SsPDJB5>9{DTa&elIii_v;*OHuw#&gnfQBLLJ zG$$1o&*>i}IT4NLq~oHT%Ef6;DlVSWw3e&aq*n0OL8I_&q>EcIhBjkoK##qr>-SA5sl}hEcIhBjkoK###P7_T0Qg`8(__E18gkNyZG4UmC;SuPKW?k_&*f&+1jZN2?S^O&0 zM^LdeSY7dB2xj3^Y~3pmWfnf8c(eKhRKB@A2;XG#&&=*`7LLG4;=Ty$+C%UKtXc4= zAA?UbC9ym-->|Zs;Yet;W?>a}LzwGP5X{2S^jRUf9z$^hb3G2L-k9!Ff-Wcen23i^ zyowIrn%S}V(OBq5K98?tvt1&J>xr`%UyK^5xOs-3XJ+d`<$XN)5Gq(1gw(Kph|)iS zfF(<^TPc6DfW<#lQT>sYU6CQ&Cn0+YpA4btWivYjzdl8Z#|nW*Axeq-76N``ik6eb z@;JqpNJQ1w?s(hHT~D3g9B+$q-h3NL+p`1LLN zUnZeXY7xyNK%a&vMg0r}{Eika8^!;5imFk+K=DdJH&HxQL{x+Ao+9Ea5Xpu6DwcH` zWgV7Tnq`gO#`2xG??k5xI9-i+A0ZxISv6BK?d{=sUU-cF)!NkJQi8dYWg@ z&!}HuW(VM#d+O&y$G7zqe=cGtiWku9b2B^2EYuOPV zvcDXFeUmy%q+3$!4-7@?=bt&I2@-yL6JBGmGLC_W5fVQd+Yb4(ieb!_hOuI3+tM&j z4CA*nOc2AwEe(^zFl|f2bTQ1>(lApDv$izM7Q+r(8g>-JPFosw7Q-&sNbyXm z520zTiNzqz!tRiz+gu<%i?DSsXC5%H?0dd}hSa~s zPE!94g75h6c8=dG#~%X6AC+zdv=R{fK$G0U94u(a!44dg+RfC@@fLy$@+Z)I1AhJ{V)zW2 zS@;TD_IlihJ@B46X;pHQ|l*#48PyTTRg~>kw4L>N!Xby{>67^}i za0G_mjik6y#Ahk;tiUynBF`24N+d)HeE|Y4K2*Vj`|t{N4LqY)sMlchug0&_zaBr~ zhyNcCm{Vh|;CLoUs!VsBS->bwC3BL*ogAnb9U|3J0~I4;s2J2L=QAJ#cLZlc zmd1ynOfYizB@cq7hsHb#InF~~^ zV+V2Ckxr^B+lk_%9sPGFdZvUfpvb|1Sy%{BQdtDSZxD|&RE-Uuq$u|#OHrEpNSoXz zxM$p#v1rlUhYjyBMCcZcCDD8*?!)u+s=!IkQ}iGE!zxF-6hhN-Gh3@Nf$8ADw2Y>Z z%f0~@Qp6frFp>-RAr~Gj-xa1%NRdPW9UI@V~T#Bt4PVrt6 zOI69AnVn`9*3h&GiTa~~BK2^XuofB)>R9X~k9A64ALz$Hko(i+VVVcxXODqK=K`Ll zz9txYJOd5aCt|98U!aH{0_E}|#TP`}L{VMKUee;r6s6NzWoCQ&m(FJihL_Igp!stF z|AcsClIzD~E+AA~+=(GC(VeJ~iu)Rj{tXD13Ugnl{-~MFnuQc~R)ASZYq5f&x)fz7 z{!S;rh0fGHyt=3FO#K~g$1hd-b27^QHVusL(p< zboIIS2<`sFL~j66hkYPOJHhX#)9G0Rp^p0n_Ws)5L_3=$?9G8aOS{T+DD85pe{E*R zn1#{QRSO>jQO?w{5X?ebppJup)W%~cY$iZxIt`1$n}sQX&r}FzVOpS0r;EyP21NI1 z9_5Z^wzFB78~E&?eRiY|&ujm}zDwYMFn3KZ9A*EQ6S(Rwj(^|LybI>)}a z5VD_`9+u5yv#<_E;kq7z-&Y*RfUvJPUK>tmXE+gBaBbxnW4~aGaS{yd1-TDLTwhdw;xG4>e;C3)@ zaes;Q@1S@DO=@&H7-L~vuz1(N&flM&R_NvcH4Ekd4S@`%>0?Z#8Yc5L|1J@eHr`SJrDpr-Bx6)g7_(6Gk+%d>B-kt<(w|T}H z2b)G0U;}6FHk;R=OQBzi#r+3PIW&jsPvAbe%&R zwdzSvALtnCW&6W~JrBh1|Dx$S#;X&FpF8oRsg6-~#AGZS_2Ew3J}`m!sEL&SzW9^l zGsZC^#~uQ>tbUCItj-Z*~B#8FcvtDai>A~_aaZ~O1U;Md2Y`4T(#g;EE+X?H{u8F z%?SS}1-neZZ>udJN7=YbjH zph;6_R~ua?e!gq9F=Z0B14X_GTgUj*@X2$ljn5|#A1v0t0M8hEO=Q$8kspDaF(%{a zs*S=@S}!@3C2%RWjxlc%kNTSd%quf&Pn6!i2TVJ}F-~hFe%by+wq457Gi5trDogc? zG}F9$$<*17aq2W4<1`#;S7Z8;+jp%sj%xJwaExC``E1NHokdHS;~j&UV^2xvEF7t0 zG%lp|z4??sT0D7fFXQV|nw^aC%!rR_dKptrXm)xTpRH|1nOi7f$M_Pg9Al7_?K6^o z-N7vFi&4UkF>5ZjJ1%9KN1gc5a>vMmtz(>!ApR(h)G;nQfbu`)Q?5Ze)y5gi+&R_8 zQH!}<)4=W0>m$hmppW;#o72+Gyhj@qAuNaE$Rw(e_`k$Vs0d|$f~r8M8T(D+Pj4e1 zp!LP7_AM66toI5syU`dUw${0{-R5h1%%^sbF+*&Bku&Eb;|kFpM_cM^{K2?Vw7x^A zePLWB+QL=T{%Blnk!L}8er;SMwi6Dd?Q7#Y$^EZ8GWRKoo5Z%@5ZY$=+M^4Uc8l0@ z!fZz3F3~|;YAX^? ziPknWIbv>NRpM#Ux4F z$q@sL(-SXh1?KbgzF7Z1_Wq0v>A@Qns z-aU+-FHyr0Z72D?l6XyQLq^f|ny=j>wen`-b@BX6Qh7V^hIn4lK+ku5?e11;?(9}{njmRw0KVZI~UUHz$L%*~>$8bGbed{?wdb-U8nMoXJmWpxo- zR^nD$HKN@tWwyrZD%v$t@+Vu}Buz)^_Drk0*lv+BJIB}7qD9_g{><7+Y?n*>yu_*% z?H@?x9&@8rCt5A)_7U@HtA}XkODfk`Jw-EMd&<1t>LuDzr1G43gVkGd|7Hgs(JfXV zu?>gkbLQ>7_8a8zoO!3!S8VS?d&<1q>L=P$!sULezi3k>zelZl(Y~I=(tX+*AUSN3 z<9pWHT5KoGqwNJ>J4wpyHEW>Q4iW7QYa7vqN}BIk4WjKNCHTJ8DB4CT-A}ARqP0pr zd~Ug-rKU57FRX1v`wi0UVtr{fiFToQ{?Td{?HwF#U*k_!Rncav)!t5y=$Rc^X0`SZu`O9n&z`S~GqMeJl zxz<#BtZ4n$Gj6KgCfd<$$~I24pRZN6@uGc<>%&}Ynms{zifx8HQM4z;Hp`wQ+FfFs zZBG`>5-xM>DWaXaj%m)Zr;7IJSf;tXJx#Rz3$*QEPnVLoS=!*v_6)Ht#Z_&twVSUc za75Frh4xIbrR0eAv}cLdS8~|Lo-NujlEYGaj%eEmvjgqzMY~M$%h_{9yFzkUW$z%` zY{}thdq>fBksQ|AJBfCX^d{}$VI_CcamN-8(n2a9&G zFuTcKCfe=7`WAb+XuFE-R{Idqc9%47vkw*RW=ZpQ`!LZ~Nh`m@K3uf>+t`-wvvZ=| zBewhP6{7u9Y!BK;h*m8n@oU=??Q1#z9=7wMohxyV*em5|FPEcz%sx_VO%nH{uXU3W zeA-?mwpS#FXY8Xyn=eQ7ynVE2L*8gNt3|8xZ3WT3l-ysk*QmI0JffHE zqG-RDdVk4YE7~rS-|y^WMSDTwerK-})}y4)dfi?xwyu)O+rD z<3)R0&dtC0T5mb_fBD+pqW$1&4~eIpRB@Xnm2G@2C!VgaEf?ElYPg2)B0RVEZ8c)s zDS3j}&XptD#n)bx_A)PdqSyvVz3-kpNwjX#CKe=57ADWW|fN4q3>s%U45 z=bp*a3(q5yXNm1M;(45}^%BqH zlV^+V)79j1eDWO8Hb~1lDS58VySnFd|DN5~I5~Nq&HK$~_NR6+Gy~ehzIMKNetn9v zT>#B6?iJhR$qf?MIGwi3lUInA5zi}dB4~WU-IwS^~vj# z4?r`FQ=ugj*C!to+q&iSyeavF#C;)Y-jsaCPJs0f$h}kI=H&C@xn}Omr}Q;$PQEDG zYkOx8bBsHZuZngbG|ZeOUl;9bXqcHwzA4&6`(+R73hf=yUfB2lVeh@;vnrOy|2^#~ z)BvFfq*ow;009Do-g{`FN|6A8012UomOv6fK#(RP2q;ZJK9o zb&2R72y}-i?e&QMp+NVET7q9mpl^wC0F?&%o~Q#vCUu~dYi87$f`ar_K@!QrdqJLu`mFN-Fx;cjBso>dKru1 z35Wt6eCII|4P2KNr)7v>&fA zz_ySq%Qi#HLbeadau3Aw5k;7;H$w8YEho#Y7HAn|TSfFP`Bg-M2>YqbDy$n!x@xwy zq-#(IOKHHghAbP~)>A3*WZBHNnJm|rL(4d%0Q??;@mkxqlP;f)I;(5Q5>eNLA5 zsFW_Yy=1v41TDKWt&c%UupJ~_OMj#>wxdKF$Z{NvC$?cv0_w7CXNZi!NE2=6i9Yp1 znqj*{G&BHdw(V=8nz2al+HMeiT^nh>?G908>iI=5x)|Xcjr$VY_e3|T4J&PrrH;n^ zYZz;^98S9HwwFX_h;G?_BMPN5AK5e;S~i0bJ83Imw-a?IOK-b_Xc+ZpNqa7$I~2XN z-HS+}QsV92Htg#$G+$n~7a`rzNNhtlrjk@@~px-b% z{B2=u1C;X0Ho_i3)C5Y&WglUWBs!XemRa`FM6s=q-m;gYy40a@pJA^^y7|~215T;5r zC&C?*Nf$wWk&bCZtEkVS95acQP|wFY-k~yWG`4jd?~!gb^;vzUF)$-%*&90+l5Qc* z&sL5_L{FiVS@w9x5~4ydwu|hY97~C2Q7N4r%ZLQ%R@l2aRuUyZDXZ<>9jhq%PtCAJ zJsqn_R~{@^+Y^~~Lxk1#zK)Mc_YKerdq2k-qC-@d6vtYkIuvh|V?EKchS{_GTchqxrfll7nU2p%mqawjv6rYUmATMykf;Uq;9|#7qW7tHS2#`(#n3pc zcAO!y*TV>F9OsF4Lz$24>l~Me-XY6R9G8i%Kx^Tq!f}nrNzo5FZW5)$q3*2XE>V7J z?M25!YSEGA*k@lm9+9qdU$nf=6hyQ9TgMZrqj--UFNj7FJ#)OGQief)28fpqVaJ)Q zkH%6or=%_wVE=R2ojU0bRzh7)r$H1m7We7APA5^P%4q53%t3T#6k6tU<|KL>{309$ zoOy}-GSIJp(~D?$RjJEIG<%HH zIE$0cPA!Ub`Vje0gea#k(FlqV?errGrkYiB`V%dncr}~>M2jdweP*y>=^n%8(ld}|2 zYbvv=GlD3c{JJ_LiN=v%H)m<05UOW4XBnahs^=TdD5Ba_&o`W9i560s3C?mvH(+K3 zI})7biBf3%dO4$sHdDMrX9c3|6tBOtqO_!X4scc?IzVGPz!^jIlzKPWS((OfTML}Y z1D#b!7fY5yn3hl}L!4Df_lk5wov}nYsgx1UYDDi+&C;CJiPloBM>%T{wIbbUXHBAb zDszmp7SSpybF8yA(NLP@>CQSto2%kn%68Tz+CaJq&U!@8N%y9+K2aX(iK)&8M9=8? zo91jt^fviTcQ&HdE~M7ZayBMiN%DJ#sQ~rhyUr%0J3|rXIhzu-p%yK0HX|xaEqdSC zoTw`4-gmYjD$Ke#qK6cHv9qQ0i^Uc#cD5q=ipG7hvo%pminqkshUhr?EpfJ`T34hs zYq>L?bor^2)l75R;Ht6K*-nloS#EQ7BDze^<{qYE)b_(nU5QRG?Ig=DnXXbPPnnX* z@+YRgq|2WJBEZVmlImF;3D$yqr1Q_wnRIVcivpQW(0mEb@jB@OXxzhcbRjB0b0R!P zSE3x_aLz~M=ti`KS{s?8JJD3KES=*Gig%o9T`ort(%qyoD>7Xr%gQ+tNEbs-RplH# z$!{9fvwn_Vq}xrFt(l6FWt$wmNq095>(VAiBGEjWS?zN4vE%oUwmGrq+vn(O7mA?2 zosLx9p$T|%3lyZQ;m`uS1pIIdQ7wlCeqapLF-KjZ!bF{N)OS>buOg$I6-5lm0Fs44 z77|_{6>+37zLTye*}F-!VT1RW&4uFApX=K|c5E4K#HXLFhdEC{DxyVk^y*#&y^8vw z99noM%+gNh1~0G5Jxhrkn=@kC^rY>Kupswj?+7Id0}V)zgq~kW3=^m5w=& zNgh^CL!I~fo&y;?{vybxt)Wbj6nhoYMF(D|eALdWhwZXw-#1InNckShxz^`<(0*GO zwfzd9Y)UerAf`7KegfLP#n7ffkr_D@@nKQS*+a6858MZcoW3Ya6h-?7uVFv8ER3?Z zH|CV}c@F7u#a@B@fTW=O7u0Y4^P^4C;wXDi&-bHoX-)FnYnWe!(vN&G{T0cNWg2Se z>g`b_mBR7q-9k`43swp%LYACC<;z&-sEx8F_F^`$xm`3bNbD0uycJTUuqKZ5^)Y?x zQH!K+UP{mK4F&CsLMUb1>r*csrheE?=~U{C&nfOblJiN*-Y8iNTOsQp>(;9n&cFmJ zzcE>+Q9sE3d_-k#qrQ?QtfJA8y(-)INMMnm=-szkycR;3v;eh7QCi)|q)JUqu+lVkC{8nBI_C(JZGh^@$vpaei2n z*St~w3Qr%b34N=AWlrj)k|g&Ozk|}BtJXrQZ8S)0Puk$;xv)Pk7HLx0CZ_a_1G%VgTad@&JApi>Z-({3 zuNlhPFyCwqg+`B@GBs-YYJBLY7`n>G~k1kg{QIh4_jRc!ggVRBtp_+7{xR)DY$=3S6fN`;j zo-i&pu^vVNe#RHZ#U`R*Tx_B{Xjq+zFkUoe0sStoAr;n(s z+r(SJn3laQdwwDHd@CFau1}lV??8(p^P!yXK$(Zq!$7)h?nC+U>D?QkTmTYQ&aA~C zJ=?Vyw1rEe9F~Hzy^3;d36xh!HtB@v^bsg?_Qn$Or(*pV3`99PYuO*lTn3iKRLt+w zW);Xo*jHThH)^i}?ckD_U%&S{kg``xjJpb@)h9VVcq8QJ58YvzX6#rdRxBVbz z_CE^phvZWr-|BT9WaV~OK+X%e4zg?P9gxiw^qm^^5YqRlgkNaa$UO}6-+^`2RcE>H zL{qI|GBID)O}1i456qFRkh4P8>W`(#IrdvEw9lmHx*xS}Aw7eIXqJ}l^8?h!YWYz< zw3oeog>2;0_t(3mtRamc_fIjJ)k|nU{R#FCn}|$7**FO2!!?p?+CGQqzO-t|76nv5 zn_DDXl5E!+bK3QP1(vnzsYPtU(HTD2i(iJ~Q?M`(u0J0S!*m+S4q3TC8(bIVxJf9F z_RRS`;OFxL$`kl%^F@&V)r}F(-@q zCp;R{Yx)+463)j5f*jH}45S?E7NJ;&S!5a29@BAIksv2D#TmjYJe@=2DD-KAr4^wW zQiA&MHCkOaP*1L;`b?H9B+VIF6Ir)by~;t!ay~Sn-gr3}d%HTNms0vYk`;$w{#KG5 zhGWn4&Wr6`PC3EUt6r4hI-&(U&{RjEItsXtfITKZWy_I5t9A1pBKr028;$zderdMigq)**~W$C^`o682$- z0F-M&u~v&IN>Q2{?@hpx=T$?klSXhTwW2=Fz`9wO{}!dIQhF4n`;h$xI&HS69WWVA zaW?Ux7s@fDy+qo)RN6PxC(WoQTTyxkwYoaVSu}?SlGlFnvi9VRhFIr=R5xp{J}Dmq zGb)zstqR2y5` zssYHa24QbZr5XEL158h*o^eomAf>$mv9Kw}STB#!QfXTg?SIEMx)5q;?;G zJZ3C6y`~tbjixmrfJPbL#V|U`##H|^bY^Hy+Fxs9{?Y`LgLRa#@HT1_&%#%mW&R*m zLrpp>kRuvV|Ieq=VF^7KNPN%`xkg!1%WumRrqY(lO) zX*8?lo5BoAzenqv+>7PVOb%CwH$e-lJ5nwwz6F^u03%(lz(yDZjfG) z2SMJ&r;^9IREL95^J!_AZ_$b|VaFh+bl547_QZ1_FOIwXI~%!MEeN{~`POH-7VQ_+ zXuXy1Bi(4-n;LcpEafv>An75bt2Fu%WY=o=7PFXo?B`xjpa)LV8hDS=TPU5oKIRum zeQwT;?3CwF^E-VYhflL7;X8v($Wx+9D^Dn$f}Ydr>P_hzl(v42`Lq4V`i^PsdHHnT zqZw6;=F+l>7`F+Xpn~ZgbD3p!S>M8{kXNC4xV9v>M6X-)-Vs74Qn|)jPr34ZE6*y{ za`-$(d!js}TF-29-pZ5kg1)$?IH~_jwR#0{)P@2rQu2)ts>zX4i$O`)_&N!W+$V_HHw z(9)l>{_=z=pCdV@(k7ku1$nA$n-Xt6L6h^v!_2IgALS$m0gf^19QXHqP)qAs1LPSX4zmXZZFa!0WE@-z5qLKd{;c0;t0b$;LC`^WP81iT5B zuTrLg)RJa_oH-OvadHN}P2VLt_L&FyF{KxR{H^X1kW^caIHCSRh*-Wh$_13J4{6U< zRPOr`$cX|2{}vsQT9(pnVNudzk;%c4WhGUfq{D= zXK+cBr~FXvC)qa*>c%!V>K=mp@}Vdn`k~xj4W(a8s5#s8?(qfW9B+j3d3}@zMxeB( zq1;{vt&$4(ir9A@hCTiqSTw9oRoml5rVRHK9m(mHtvV%IY}tP$npxMUyv+7 z+LI*vlblZSA<0ORpOEDQs?`R{$piIq)jwgvX(;(+0!n2Ni~_f7V)S{)IgyI;ZUV~2 z6HwlxoIaVD4$g-%DnH6dN?#(&&_S4^knBvB3FP~dv`Z+b0BI*V&~iBCOd|PP6U=GY z0A<&PC~rVbT(yd8a~X0@wMJQ)(jQWKBgvU0gDBrl@-F1yO#TMs_WHPz{8sliq^=n{f)r_ynkfUg(L%!6=PKAc`=cyG@_h1DC=JVRnclbd z=0fm$JLq<4I;_3t{spZ@-{ zK`sTUi20R2fYL68L>s!;pZud!7sG?UcH-G468iR^-$^OrM@KoZl&3QH&6F$u@7_*l8W*%&$!SjZzBY6F@ z8?LTk^RL}-dDg8>?T*mW$b2ZLJ5c7K^e~XFp1JSe74o|`K)C=U-bp2Z{6{TK0Gq-k zQ4UK%*z{l?0NUQfGf&)dW!Rh4tLF1o+0%bd<}Q^Mo)ak-FIOwum8-A*chtq zc#t#uPXhTv@-&cd^_mT`a=Z6H&I?!svTN*8kgglCm5|08F<0Gwf0O0PcYglak( z*M>j8Q`-pr`Sb6I`0Sh=XYvHKpR{a<+w>GkM=zQ^3U(o>VtMxk1s)% zYlkbU9DVDz_rG_ib`gBf$6o_Er0*?|Q^Rn!vlGEqUc%+VC0d9oPD!*YCehyUP6ieVi-beJkh6`Jdj+xyr%sc&@Z{Rdn6c;re5} z1G26a@*9imo=z0QdpZN;zjjaOitf6t%K;_eZ5`*kPF5{*6vI0^lm%O(%$C$ouQw+3m-vhd8g|~sOG~Nli(*OKs&}HemAME?Ph(CzFQ0LA{Ux@3zC3JcH z%K4w(8@kH*^V`E@s3+bYvL*N1;_AuJigBT+O^U*m)^&$i%RC!cpKj~> zCca(5?{cj$7<~WgCec;5QiJi?R4cevd$>38_^C_$vLxTd-1mttUs(rx;s_|=;<&LO zy&|(fdfqB#L0hJ!VZKERw~B8Kwca-?{_wGcU};-2=f2@RuSI;UAKx$ z!P3zgSC0ZoD_wH~?iSZU&Og6fbhXQM!?@8^0*^~}%0_6*ojx0(G`W`k-Frq?$$xyy z__O`j`end9I<9i8``tgke{^~M{tJUEAMYYv=|c4)U9JAZy`;-Vw%z)^@ISkq#CHnM z+sSRv!+08ZMf^K6LC$13`m=g`4keVMw?g@LU@gu1UFi2Wm9B_S%I|{`T=$iSAw4PX zxT|M)K9n@}!F(tU@_%w`>5BMQcb6_3_YI~iNA`^C9`g*;1Xml@ay>W3oq>8j$VS<487chu_vZ_q_o2^43y*L%=&tmwl-1 z3TWlmKeTb>uW5T7^5s`(`L-p~GT)lxy5F=u-FLvZLdZjqp7)y%p%r}~AMZC&J_h;6 zZyIo~=W)OJgJ)?T-@rX@_wXI_kGFfC_nXhmh}QMf>SbO1o-kean{~j(b-!u)@>BV0LLF$!?S^O* zHwNqcejm5*AIt9(&=721r8EPnCA9)Mb10r{H38**1!WBz%I*!Ie6HbIV-(~p^+(x18D(k$ z%KZw;8aAi{TNW6Y0Xc(9qCDk?azDwwX;4G9xluP8^2>*!eCUUAdo`4PEusEw)4RuH z$T{8!<@5R|4~#%*PeZxA4$5CLQP#^qd8IMR$Kz3M3Pq_mK{+V_r6UAo>wG9HkZjx! z({qwghLPnJO1~gkfV3w`_9r==VQ%~mF&&%_WmJBYk(9nfmZ5_%M5A*R<@_9SJa0MoL(ZSyavlY(=Pf7hHLhFEFU`1XjY|-5sXxlp1eE=g zQP!}b+^?YARug4n1C;F>qC7Po<@79+Ss-0?`$xB&kwq(t*~+!zg+!#d1(xUNr>aoK z`NMw}7a2vq==lhq?*2sC;`7F-sxF2wEhQSw)V2xgvWVu0*9Sc>u8V0V{R*Y8V(Ku- z=HnDwn5s6z0fmsm!W>8Lg+FVGsMW`mYHbBWDN z-^8V=xy9#958}K;ZgGgIO?Il9N1SBpo$V#^h_9HwsDDq*E52d6UjL{)uei^YQP$hX zOZ><*z3gj1FPX9<{Cx5W4gT-FfZt#C6CX)}=oNg5iUTHv!fy^ZMRZ%a<`?VZ zCoU0X3axb=AAk6hGSqf)IjxaTfQSx8Isle&K0#tOQMTA!p}kKCD&XIN+*s>S2|!qD zH({;AOdZzRBm<*|yL3QtJ|)C<83AhD)u)vB(xgP6GUAm3{9$R}BBF)71mpvXl{l+g!^2$Sacj1;X+@)G040HWK@{No>J znPMnYvGJ)snPMzc+14j~vcv?_58e>O2BPtzM(eYn3oe0mxvh+^o2q6DqokxGHA6+V zD9==R;6inxXio&cA1M*ecVY|ca`d?9Gf9*xCH-1Axa0G-s9@5!J~Kocrn3Wo1R7$} zOP|@|O{TO-Kl;oOt4w<7^RC#%6rJ^>&ph#sNiTgCh-XY&1Mm2}FB}mvdXc&peHMz5 zOebrpzRSf#rqHHN-;cySrjh}7eAbE=lAIBNsp>jmL{cfv*g!9_P849u-6>W5MEElW zb@GD05LB9}e7SKod~}HR@`S=Jt0-yC7v^FncyXM38Rc`Z9(wcE%Gx3fZuN6&s5uy zs_qeyOwAnd8w^ENro-)0)xDx2(}i|kVy}p2dfYx$-6wi5DIL7TJ~5E#mXWIN7h_zO z2K;76F@Ln~Moj+IQq?a+JX1t9_$|F6fyp~7RXr{SG8NDA634|@rin1;Plzc@ zb70P&5c8P68j-4=6w8?&jqnmD#YUzb15?#gVh_`yfnMU2ILR~@{7#E2Ol!gKw0OXD z4(8bz@q+0V%(FAXR#x^zX{gItQGlr`)a9%QV9Eu4Uy9O9uYuo}B9;kH7w1GHCOlo7 z6YZFO_DfaIiv%VEepAtTk;*iqWU6{WjAfc%(hL3q(p07=5brB7kLg#4_mx<|^md(8 z^`h9ww5*PoxG45AjgL)LFNu>(vtzx)C2^JMw*jf@W$}P1U$U3DEPi6z2hYkCVJjzl z;v76HSA;iHBs?ouMF3L`cvh~8GE5^u_qB*+dJ}YCi^fb#pg*sPc1&BKKd*_NObtQz zjYwtc1iEiTI+IWJRQ0-;$`o1MOI#Q4F$s9aZip33dD?r48)6evM|-MzQ|x8xXZI2} z#VMw*V1C{bSD9|W{JbR|G6lo@ye)oWih%ifTiDCXo+z4@s@@UaOyOx>;*JPp`YkUm%EWZD7sye|eZ9fmpaK%_IBhB@&- zyv03emm9ci1@icfi1% z@_PwDxNAQ$33uNY7JBLP(xlc6zV&%!p*t4B9sL(mcXr@Q{G(^|?|^|jtYQ-GzVIic zScf~a!$rAq=Yk*clDgcubD3n|j-Jz{Gw>u(z(Oy5;PQn1aF2s)U?$w-+=P2v5mSeI zoSX23^qQ%|9nVd;rVe*) zH{q@wW$JL(b`$Q*WlbIK%x=P+xtyuPo!L#eGnY4YxHG#6cjjnQhdZ;IaA&Sy>TqXv z6Yk6vO&#vcCK>p~P|4KcJ{@Bc?$d6Hb`$Q?)l41k({93jy1J>uecDa9PuDPYxKFzY-@s~`I(!2&$-p>TqXv6Ylm6Odam_Zo=KZp{c{&-c7ipH!^j& zqq_-r^v0$RcXT)5j^4!7;g0Sm+|iqwI^5CSggbgOQ-?dcn{Y>OZt8GHcN6aDEleHm z=x)LtJV&jj6-^-A%Z^ zw>5RRzq<+d_jpr>`@5TPe{W~%aDQ*7d`-JOelIBH+g{0se+ZnuER^%@s93)jysoq` zbya-3C<&4r*z;YL0ZiTMAq{7$Rsm@o)0=@G0ZnGwRt9ymiEcX=z`og4d7pLojCEC3 zuCbX}c(tzl;b5;mi#xb4G zcMqr&TNWnj#k3^>bpx5!Wg?AY!nL)VlFfwcSvO@m6Yc@slzB|JQ+899FyWb~o3e%p zci3*q7AAZix+!~@as(qCW5PYPn{tln7{$BBG=S(n(_M=9gefQ){eES7mr8L|k-bz6 zp6PB%ex^bcuQ*dnvJ5AJ-!Gm5H(uua#Bq0%>_IFMzX9TWaqDp0-Grm*CLDJ+$x(5Y zg0si1!#QD+f#cpy85xVV;~fi9>iKq8G9`(Asm*~lFx_j=+V>6RA=CIurL-PO@oMOo zE$-Lq;G3YdCpsWfU}fm3TqeqdCk}qQnDV`}1WNVksr<@*pH}PQ+e>+^I+a3}iAt0t z2R>toN;RU}PHbPI(wGU`kf^j{!qz4#2~607iONtW?6X8AlL`AeQTc=k`z2A?$%K8K zs2pX&-c3|45M?{?SxHoGNfHNZEd+W*lp&(C7pi@fVl}W0x9K_Rs{|8`7uZWlN_!&N zFa2EOZoJoafZa_K+a~z-H+3~ql6(i4G^A~+Z?cPWV;fRTIx=*)g$fK9<2%sQg$~HH zP+ITFzNw~eO7CeF%HL?R?;ukb+Gv`ErYFzx9c=18N}gvSJSPt^b$Cv8Q~CNIsY6X& z6WDCs^nUw~)M2J>V|zuo344CHsp|}9H#b!ty4ZJwscSKGxrO?}I+14T#y0X2ZfXuY z!bns1I_wB08MXb__>MAlO`!+JnA8n=&`l-dCfmlEx=L}Ieckj8%%yZw_eAp&ZfX>s z3V$US=LbI1UBbPDn{f3WXX@}o?WX(zsp@!B=NkZDvt0y#o9Hv&Op~ryDR;o|nr>b0 zvcrd4=zW+4SuVfa8(|ihWE}I~>znP;8I=bd_nmCgdY~!Fahl1vi=OwLsysI-R7_X& zn%KVE3eMyiN?j(LyEBzcCY@f8C@q;#Dw!~gA&1n^K7FM&4lx8qf(6tXUHa{9uv-xO-gen zoFSW)cqW`7o0YCi_-t-bdNbj(xkX7~!e?`bt_8c4@0oBd*rmK+!Zl>K0)G}AN5zS2$Zo~Sglo?pB_9*6J$sa*Ot?<$ zRRWoCo!G0CV!}0YpHiL)*T{WJEE7Kc`<1#(`1J2rnla(ictB~(giqrEr3({2#RrvM zO!yQZR8k}<_@o|EUe%W~3!l_O%H&2!*^XotzE~?WnTD$H#afxqGzi`s4=YQU#=v{y zVdY~cJlh;mHZtK^|A?}a2~R;sl>a*YX3)L$rfneasY zh4KRvp1O`JKQZC=iQ|geShfM*nNKJ=nDCwXgi?U1hRTtT2*%_N1EEe1435=A(tESE%MbWT~zgkyA0*}^mh#_znci)kL{ z&MSwRa86uMPBGz}xS(8Q!ZYnx%5^6EuJM)ffC=a4MddLQ&d-a=E2gfA0e+Vhy}9i9 zA&I4cax;D1yQ1G^r6AMe-Zg=IiDru6kS2atlvt^Q_OHWSP-D2H5MX z^O;(Qb@6SWo@81upo?!KRqre3$aQ}wVI|K@7! z>(Xz+fSUes>JTQcu!jDv)C{6*xNG;fwN-B=#t+A3*GgbViJz#R1015n{J`I zezQ%&(VSxvj^=w7viUEvkeB}wlW;VbnS|rF%B07BHvhFI#pDn0UvCmVE1OKhvE5=4 zj_p>HaBR1mgwN4uCgDi$GzmxAO*qoKOdXE&Zj*4N_nPDt*4}@=g&O)FRv*cchUfiJ z@ndS;E;zPw&pDwsWy1CBgxZz~-SCs4b@~FWWWuw?m+GfXc-Ht*-Oh9^ z3~m_Jy-YuZ!J4cdW129mrtf+6EYrMU!-1|a-Gz7i3+gSVpWvI^1@$|oIwNZOex*KR ziXSl?=r^X@u+Cpp?OkOLYH)VDsCqH^!@2H~T7;LITEVTJ+Mfyg`g?T<6ZZA@>KLZ|aAtp` zW;30DGy5ZT8WWx)e^B3H!gJ&g>LN+vTYa4WkLukX)D!TGO$6H3Q}zp<>mI9nnD7~U ztXj`6Pt>DQ2Y%&zpQu+%n&$spePU8M-70hrLutdqTQ7Vp-D<{flVc{ZThZyx;U=e;=(l)1#D6fX)%g??k@ZRVJLD zzSNnL?n< z5UmSSaj0jg){7|;>KUpfGmV8Z!?a;cQ=!Z-%{u49wRF28b3wg~MK)3X+veIvA+O!&4G zsXb)Ex1~t!DU+9fs#;q6g((p3xk`J~x{Ns|YV`Wf-%V4;{p25I>ZXp<1Ik*cKtQyG z0s<Uod?Tdeq*+W2ED>b5aMr3;)|h zdqOlvJg(F>AWjP(gzdw*+asW*7CYEQ{Q_EPXGb7qJ8*qztzBk%2TlU5wOdRdfv%1A zEz?fWwb7n2tiwKX@9=WzHK#onk*CVkK(nwOvlT>J(pI5={vZIX{Y%!{RTgV z&`vACbS*wrZLgJOdK~X1+G|yquy;FXwVAMYJ7`Uq@GE#ntu@p7ATQBT>&)~<{~-aL zv;?L>{YL}Ap8%(}@93Ky&{-S8lmcsVXKggoXxMK%YuQXjN~-$0_7;;@ikEm@dxr^c ze!6H2neZmNi?)IZ?})l;>zMHVy{opBiEc);-As6H?WP@JY79NmT|3Rx6?&q(c8Lkk zt#4>InDE^ChW3yN_pu(@6Q+BxUiZ*`Vd@8KYl3Eslx@$1wKYM@!_*$u$evmurarJn z_SF2C@K&#v7RD5jH5@34X)x5Yw-&=R0qWUXtHtzd9k{p98ZqUpI~=GL(r@}@T~OJl9&dJnnW&#Ohe?O; ziv6|snF_;q#s1oIrVeliHb7g;lnUp%0ooR(qG|WkWNjByc-m2WvUZpWck~qP6ce8L zQnZUqc&;0$U1!2`-9YUD6P^cCwZ}}j-==D>nDFd2NYh8jF~YOkAT2i&ey1I*6=cHi zw1YKYCj7oTLr4sojHPK0 znefy#QY)At%WU0tdca7{hbf`$93bn?JnCPda4JQfiAH&xi88b{<0u}jpBdT*Su*-3 zDGLHJw3SSsr7Q(nFG=jr9$+7*?IW5aqDrm_81GS+37UU4mNG|lAG{@Cf|kHkrQV)^ zDcT{XpOlIAx3#DV((-J;$Nn?5_Du2Zj|I&1D08NkNjg0J!v7DnkOK6f)QRikKT>CD zhfHejJ4?H1(#e3?TK$RCKJiWH`}TLVflRj(M*&Tj1QE^!%+av;X6O_qAD*rEYhHUji0sFJ_P*)q1fzd?UdGtd3# zuPi-vf93bzr~B_~(f{Vr{J-7yznVS&x9jrv<9V(`f7OP+ulxI!f4`ppZkeNKRh%Po z#@hlt&u1TKhgf&J#}f4ek5l@G+6B_RErvD875Jg%Jqyp}b3|^Nci>Nq6^Z5lX z)7rm-B>zYMa&4Ihtst5sO4kbyT&^8r%GonKaHV#aX-m8Cz>hV@Tv=vrpmka}(c9u# zNV&lES_h(RkrTdqZ_?gi+5$iIu~|!EDqRo$2dp-PDL3f0YGX{l*uZVt6w@y@aJx3o z^otGLp{+3eVgo4YTu_Fk_2yHtpfLJkBH`(f>xNk{F6wdX|A@`(1UsXMP8 z(d_TJ{50oLEuTrD;tQ>qNpMH21)G$^c~UEFQhw)YEr#fAal3X-pEFvw`B>%wu@b(& zoY7L4-hiK?IjhYjnj^OMTB3fb9b@WHcZqsV(-)xM9Pwpn$H4PiEK|Q!o6iNUAJc%w zKdN7OjLJoAKI>{W?izSe3x8jha=2Qrz)RW%BH8xK+IK_;998P{54@~BC6ax1S^LF< zYzwgz)G6Y!R-GtA6z^;kSG4v__>O)>n=LKjjlH?=6>XPECj+i(_as3ng95KY|#k8=dOSrj};vrUl;A##?l^v?-=;PT(zVwncYad!GsGa$8$vS}q8@t!=Pa-qAj@Sl-c& zn3hWd?`UT%mUp$w7R$TZJ=1bk;9c!Ui{(A-rN#1|=2$G?ANItjf%i0TBH3s6wW_9W zYv6sYu0{7iOEPu40v~9DExL!6xpXk_A+L3rG)CW=gl+#;8*P?yJn&mB+fvGR+B7D# z{7##1T7DV$own3s`MtKrV)?zc-L$+M_`SBzV);n>!qnXee59ST=zh??Hg)#{f6(q) zbU$i8n7SVVf7E`q=pLJd^?a;pAGrGSMc`vC7m@7GCnllg6Rn_W`CH%<&DUc2R0}h8 zwxFk4ltuSUt8D6W2R+kjTXfI06ef)DTpMj#dIvq%vMrV`v}vZUSkMb?u0{8gw%F7K z2K}V1wCH};)|rJz^Zw-((m+A}6B zYGj7j-b5yE{o1fKTI^okv!;t(@Q_eG;Yw|ATRv_)7F;xa^%y$W;)yQ za8N$|E)o9Enh*8-`uwFh4w>TFsPkF@eF;;6(I4ss^pA;dD_bf}b$aU?i893bN~eK# zvM#N%k)xn~fOV5AUvL)GPq1!rrISI0^lMC?)?Dr^tiQD!+P8^UVuKGNX85F@C(v6kWSV*NZ(;8B}ji_DJ58sSd9^6 zDIp%Egz9mmldTQaCo*C5FnyQBFWkeggh%ue`b|qICG_GS%NAiNCG|E$GI}YGQX=%> zY>91;(AQb~BK5l#ztSFlW%OKYFoJA*8Qq&mwxNvPlnJ9p>6t__dRdQB%IPaCrIgdx zSxPCV-?fxdUiV*%@nk8{9;H;!>yl1Jub_`&!sr$C4Hmyj9)2JjVR z@fvyfHP+)uC*w8NCo*BYCi*UmUsDgiX8KKwUo*Y<287e&x!gw9^B^JL<9)6wmLl(czI{bPqvtM4b9@h917f9j}MpjY!5z@bK%YXR;;6>#6Us`1R7CSp0f>_$BH^ zw#o?Tm#D`vVZZdzClbkceLeh=^wk!>B>kqvub*Cg87Srx}1NB_n-TjiP*Cmqi26^}m))Uzh+c#KWWbqrKU$FQM_3#^}zq0rZ z)1!B|;|1>Jd()2?XzmYop(lfJPMtS&+)`LkW`(?D=nF;%4j6Tca zH`c>1UEgByOV=M+{4(_Lo$h$!Jp9J%O-U!?jn^}oFkYs_}SD$O~dsjbc@tf!2_n!X5;`g2&vDY1MzMeoN z<1O&;dtaZ(mKg7SeV4^=q5i_+x5&e9v0i+ijDUWN^)^h{FCXYrh-ADEJ^YsF>qsYO z!4iFo2kqigu*@a;3nnacsUEc-lF@g2l(I*k&XyQ`kABGFw^xT>jtKvx-#!n&{dzFzWH0U4J2PP~ z9nfc4{0@5f9n!a0{0`}lEPjXe@MG?HM?CzF>P<-};~mvAnK0fleTT*G3lG2J`ZbH+ zalObF?tVF;#}Uc)o%HZKr4MFH?3YveYKz}#{ien5jECP@-Emw-K)Fr4;<6YCIGhw`M^g|ZE>mGhL^oJI|8+!05_c+|tI}^!%x#i(^ zTTdsQoaMLmS?q_sds{zdDdmo?pLW;!t{zS#>v>P_#)S2}ug|quKJbY5P~Tzkd#FFL z_M6yLM^fpY`qM!6B zM6zZ-dzAT7UuP-hrM~5Flc(Pt4ixjg)G8!@Dl{gT^AVZwNMj1?BY zydHjD#xaYZm!V&D_e(w_mPpn!zlUD|qZ?ad`wAFyEq>m{NsC`W55Gdj6N_IVBjS=f zUST7FNX9GT;rE&`ku5RaYsM~%Us2+Bj?RD`VukhGj~>C=b7~Mil8}zmzo+nJ`{CV-b<`EAQbKZS1r7MH{ay zeie-9Zv_04eic3ZDjDrbC*xHzrZZu@7~_z|ud;_<6+?cNmb0gd@z7FA6(jgM#*?E` z)#ywlqsMxbQq8b_d9LPBW;G+7OTnJ6W^A#PS>1SKDYJ%0nKeC1sp%2nzh7tV&;S0` zTIb;Zwvql%wEeGU&wnD`|CutqZ^+dK*NK`&Qzl%&Y8jbCa_y<@u};+SSQ+YgtQ!A{ z&e~`HekssSag=FU)Q>^+j1x>xO8*p8-_%X7 zD}oysuUL1els&kik$e+-caGQ{ktev3F`cPwWWnIZ#tEiQ<%$P4F-s{P85G>qc*44_ z5ha70nYumY%LX?$>3XA>;1(t|s8b_2&ZISU>j$?qX??k7!L3Z%U$;$gYm;KibP8@` zQj4;01h+Nv+>*6k6456(-Uwp4Qa&ZPooRWl?6BbWMtjypRU8xC!ANA<5S10&(X?C? zG9|c^v50l{dNYGNo4Sb7^MYSDX;s<9!Cj0m*>ZQ(ir}uM?wvAggS(kjDQZ)2cas{F z`7HPilg5PY3+`cD<5ISlJsO-~z^|^SaX4P?bZ}2&)E!CRmHjHXm(lUAr28eW1@|^f zxmE5?aH7$db;%9B3+`j2F+HpGG`O$vCR6c}uY!||c}#;0Eu^1W%8}q4A^lBi-7a6q z0FyQtMM9EInpxT}B*mmAr9(ponp83>G9=a5#SywkMTZPBUNSW+Uo~W~;kYN;aHn+b zkRhhuuyTz;h8p$mOPx|GE@YUgI~v(8WVq3jbydrD2^nGP3Y6^`l4hi^u0#2LAtO!Q zr+$M%MwxW3bXv%0V-#D4mdXejW6XUZeG-c;}BDeQd>i^%`$7I?FyM-(w0&O zLnaz`*>Zi%@sLTzvF~M>HDkXFdDFCP>3=z7vPm04ZiGxRX-~rakf|magMSEl%cP+J zFG8l7lq2G|km-j0NJf}n&KCN%(UHk7B6sKvBZaA5q<82{V-!=9sA8eBjI&HflLA9$ z8~#7YQes<`2%Te8V47M!D)b$bJ}O@+bgoImBddqLYt&@R>t*VN&NFMauvF8~_YCDn zS?21<)}ix_0H!geI)*MVS~5M2=pOpMk-=1`d}8QAvy@qp$)SskDXbIahlVaT<}xLe z8Xfw9;dm?~lrNtd`k@ib^i9O%&?Sca*&q0=8Kq~0E;Y-{j(RtAnK6qklcE-dE;lwX z)rnjly2A8()^JVeN2XupQX4~88jdG2o-=Ak=qh6jQ~ta=LRXuXo%`+${n(_Saz{ef znAEwwR0-Qyq?SGS4JKPJ8SB$SNtOEOCySP zFUFn?J7?-zSGg2+-lX)A*TXKDG_K;ku&+!C8TBaaqDc{zo`+pBsdoCWVV6x>SOs45 zjTRj5#^_w(SBgg-Qnux?f5A>rQ|mzjoUj0*qGhX33Eshd(tf3sl??{>(^Z-I=P} z!=D=;GqoALC;WwJSvKZy_)jKP9epzVXJZ#z7LGX|{?gPv%(xo<%A~Tfx59rha{er% zf0h0){8v-gvg+gT-;83cJD%}#xUj`A<&RZLD7Ml64}0$d9#>WN?XR`=%w*D*(nDHX zD3BqgZAwcIghHi-q$yBnISB|zmBfIYrG)~87ML(Cw3efQf}kX(A|P_C0s@j46p$h) zRX{){Z%{yraum=4-|t@gsV$=KUwvP%|8;#IdhO?4>v`_A_Hp*?OiIRj`?uz6L+%Re zU9$70wMlOM6X&C64Xw@O9K3)x+_TpE%7G(mbAL7eGI875irhO^`}6q8wfS8C zzoc9C%J`|Zm47vVGrqpI&tH4b&Df*1?_Ya;&e^B7Uv8p}yK~w>wVULQwB7}0&#mpB zTV}oIr?%8?np=No|IOLQ)(*%$X0@F@Ilp#bZsxjl?Ss!=SUc#iYv?-r?ApP9?QQnS zb8D;qI?Ib^Tu?hCcesuF+76f14$aMry-VG~-L9(rMDDuS>+w6Cw7DCW+xWBC5xMWg zTKew*NBm9gj#w+X9bH@PhihBpermPD-F3BFd}!R3xo54mw`v=D*QmEu&N=TM-pje* zRw*X#=-D66{Jmy2iS>yN5{rh7Fs2XB5amQ?fvmxVM;T$q) zJUwpzhD>lj`ZU$krv2^AA9WTV%397lge@ta?p(&k{{4K`onFVB+mwiZ-|=pK4RcaW z;>?*ivv<=g$g`FtR()&-H)m@yQx9Y9^Cmf$bz{ajmvd#s3U}gXSl64|Zy1Z8iGDWv zx#(9!KW{#3`OnOp?p?YU|IC)8KHI*G^*B7@2=PzeY#zU*Cp}_u{OC?ccB^8OLAp$hwvS+kew2=Kqea-u1`f zpMPC{Z2oT@fq(BT|D$W{zrO<0bN$a;6&qhg>7M?puZ4fKh5uW}?fJra3|}%K7D`Ge#Q`X|Z5x8vz$V{0l z9jd!Z){UHrpP&0b9rdRi>*Cm^Pvcp)v}VJcY4t8S8TYQvQP!T=)2&LY(}+4zCJhJ>woWB-EcLo-{uXO{~NDQUJ;r2 zQ|kKt-T12h``7LI_n`D%$F;G3EXQhnd&3p=;mkjO#WKT(ufX(NYwgOS=uc9IZuFDXzc>F!M>Xo6y#DDWeKvbdA5A50t|!0o)7pl2llA$3#{5U0 zT09=lS zlyPtBvz_&Geks0peDuit^O+fX7WM9^qc$ALe>8TO?&RK`8P|C69Jc=_2XnOlHskeo zNia7!-lbzV-j~09a`@=X>ql*vXZ^a;**?0Kf3)Qr=XX4gZTsc18{)>*|99FOpNo%P zSLty`e}emip232n1x&9N&bcWyRHJ){I)G?3p{F}Sq7OMJrNI!S+4TK~Cd`ibS%XX2;vF};Fi@0Gqw(qYpO3@!TpHYu0n_0Rtr)6cTJyD$3OjnlSwbw@BmnxXC8*mws> zW1laON#pzVw5#KJ;hX#P(`!6#d&Hx9?LRnc8=set+aEmw8=upSt1s-x5&rtr0Rz0d z;pC4-svD0@f7kGFCOrZlAB~T%gpaR;k6#5JzY6~EdlmdhzZv)L4AjYgw)35iO5uc}&aCwfsWM z<63^D$h9=DzaW5w|~C7Z1zj4GS-LZ6sLx9%U{>F^*iZp#b3^QKU|`< z3~=wd{pzyGm723p(jK>YN!;s0-C;9EDzoO?Z52N_dSb#_rX=lQ$u=v)_2CqKGh(}& zI{zBQ!)6R{?XERH%H0~aUob7XHC%qijO4Dc|A{AQUH>(2R?-#b&E)72$?TUb_wSE7 zIB9UdpVpL24RhZN76_o(8JmW)??eAX{D^PK%=WmbER)oOpk(tLJJoOzAST(`U~yE?A1 z$4wu!B>RlomuB}58$z*X7jEmM2aqcRVh(W~lp=e@4DQ|VDT&&|)~R>!TH z8s4w2&T(uA zqm*;&qF)u*_kJ->b*E1nUa{QYxooQnwxqUVNpzO@r;qK;zUw|&*HF==bGJtYR}|l) z%RGg!#YqQM6vDGdA6D^NIDWV0ig$G-99`j)_x0_sQ^Sa3zgSV3U=CDVTroW1>`VUs|ExLYbF#rAN& z%?$mma+%|_4d?rVDjL*&Oqo+=JXKNfygDYud8Wp-HzW^D@2QyN7w6YjOilB?Zti>9 z^3!LA{GQ2?zw5eLNB zCuRm!axMyLb6=_q%vKqg`O4&lY1>wERCli&u2DJHPp=DIGx6`YR>gKzY`4erG9qS1 z#LURp9vR!?VtZU{*Tr^SY)^~rX|X*swr9rnoYfw4U|w&%w75wU$lY#$%n z$H(@9*j^CZi(`9nY%huJ^e@kzAKT~0{AICyS!`b&+gHc-%Gh2R+c(Dcjj_EdwpYdW zJ+XaHY~LT-_s90?*j^pmYhrs%Y(Ep*&&2lgvHg5(uZ``svHfOjzZu)>VtZX|XLM#e zG8xZb&g~c5{bIW+wyR=$L~M_U?UAuPGPcLX_PE%ti|xADo)+8FVtZz6&y4Lku{|fY z4~*>tV|#9F&yDRPV*7~LK0daOkL?Aqy&$&h!to;(SJs6u4=XBuZSJy4UcaMUUEnX< z)`e9kT(0=782KB(b%DR4TNesveogt`?f4DFtEYZbk-u+S7x-(ub%7%=C-8TO>jHlr zxGwN_fa?N()weG2H+t*B!jaD@^Wzg=SL84H)&>50Ze8H-^410Z9NeoC><9jrLl%~fo2&8i;ZzMy!t`>`^| zyRrT9t{AIJRL#3(nj!DbcN3Jq*wras=B6rM;dW7Mi{{E`UKh<Q?TLZ))&Udy=aaJHi^(RN^ml8M8H%qa&5Ca(Ma6fL zcExqcor*5=lwv0HreZ#`dH?>dUuLr6fXqRPRhg3%hh;8N9Fe(Eu{!gp;>gVFieoaH zZ>r;;nV~o_bGTw%=6J=OGG{AJ%Uq~fpXpGXnOUtkEAv~$Ihpqr_seWGpuamL`g7yh zrpzamIU+M#@#xG+ipOV4it{p8C@#o+S8-wHe#OO^rxo=V8Woph1`q7-mc?y2KQmVC zi!=KwUY0pl@ruk+#j7*lP;AS5PjO}DLB;DbPb=P-c~S9}%-f2qGGS1EcV}jZ;ysy> zik+DWiuY%BQG76SxZ>(eQSq_NrHX6f5qL5lfoI||DaYgXd^~P1#^bg&9=BKHaeFg! zlSaLhxl3_fX0@WrKBbt+zCI}L`enIJ24uN5s1`Q;sXA zK4xad%&eH1ljB<2FUPfXV2*2PL3Gx{_+&JniDo&P&qs4@tiBqnZ^mk-f_3F9SXaLa z)-|AlnX4+8c~}KAkEq}(t*+oI9a+IuIxUW>kE8aB?E_uTBr=ZH;kj*snmvAtjuoQq@T!5CM^{7(Jxr}f8Q729{l_QXxe z*KNw$4;?^zuHqo~+1PFxK)yLhXgabzRKg81uKp{HmD0 zb1>_@XE5vS9L#zjjOOZSJ{HY2(R?zR&qVY2=)4%6wb6MsI&Vg2U97q)wkK1?Hsq_= zhJID7tEwt)ZLE%n)#_Ls8LMNe*phKoY{|qb&VF4LXMd+E?ordKxJT7j-KQ&dX4U)tS3Iza`|}}HPpUn)>RH96s{c|vqKdos(N!;~eSFng#d%e)DK4n` zlj6dvzbG!Qa#gx}S7jBKRP|9@R<)_(`Bhblm&Gl=B5wKBam!c6%yltyW6azV_hnVw zmpkLW+!ObuGw#d%abF&c`?5Oj%VTk0*2H~zGVaSWabL=DU!ITq@?zYVwQ*lwjr;Ou z+?RLazO0M;;)bv<`5_$JenU9&1BS$FV+con*bt8Vh#?%?>LDE4kwZAPV}@{S>*J_p zF`ggCUL40h88gqsOgUzrkF&iPXImR*do|AXW}NMvINQ1*oGCYyGnE;7pYAXth7PaN zU47`*iX(^asyJro=M={cJyUVw&?^+{hJH_Rr=h=4oHq1j#rmOrhUl(7v_^5(&}oWu zh90K4-_Qk$2M%o?qO&}7wc=dG{;p~0&(%I+DDS^F4t++M^3Wb-1`OkvR1M>p3>(HV zsg9YEF*7D+#tq{rO&rEisvE{pnj4+_V|*~0tE2f?G}lD)nOH5y>hrPsPRy)}88@7D zWrj0zemFDt8_vuFhI9O@hI9Of4UgCMaJF#TaJF#2*gi0}7sqxnwij-Jvv>=fIa|`+ zZ%f(-Zpm5>*)p!BntZ=%@>Q`tEVf5f|K5&d$(jHqn3?i)cGSZFCK~c;5Ot}Z$tjE zZO9)uip(LS$h5`w%Gkbc6xAC?F=}nhzZ&yz#{4@mzit%kb)#8tW;E;VH=5Z7jApi~ z(abPxG&77CjaePdG0_}`CT}g^SgL7uZZGkUJ*-1bMIO=# zbMJa=H21D2`V0+_GRQ4_GQc%_GR1{_GRK2_N8tN`?Av*_GQ`__N9Id`!aJ3 z`!Z(?=Wf3-oVx?ZaPAHn!?~L~hI7|6hO>M`+@7Q3_8cF#XGt8jI>yK1*fnwNh+1Z= zu4T57wahlAmf6PDGTX#jW~-}Z?{=zX@21tpJ7Fz*H?x+#n^k+?VEyw=*Vi3B77lht zM{e%Ui>z@MM{et`9owz?&hFK*y~f0+{TgGFxV@g%i^eu%r?JaeHuf0x!Fn9$jn&42 zvEJBVY%(?*i^f)Co3Y*4A+p__*6+4{+4{ZK*GKztI}#DU+WIxtueW}q_4#+cc&(N% zS-;)-9oFx(ewVR3<_puy*6+2x{ux=iesO14m|kuDdSj#Io2=gw`#+oBVeB^c8j~#Z z{A_xSu_bcRE*-{hW1@enx3gQcOO3HX4&h3&t98XLmwjxq5U(IIUyXi~-l(QlkN1t(!agcGX zBI8OT9>jxq5U*Xt>k#oE9>jxqT_Rq$hzIc?9>nVr@p?r(NZ$8N^NC0vk}p`k#`2JP zA@f4K29bFiMaDxshzIeSMZ6Xf50WogA2JRy4pQ&1I;0M%L+agDhxB``59#}Uwtr&W zKaqJ7k$E6qL1g=CL_A2o!SaokhjIVJxPKyEvl#bJjQc0zwTO5SuT{h=iFlBFyX8A9 z599udaeqa;E|KxwBI6Jq$tI}}sYB|JdX3c~{RWZsG+G`q4l)jM-)a`) zev5IxMZ6Xf4>Dh?824L@`z_*?L_ElR?IK=>hzIc?9>nVs@w&x$97H_&co45g#OoFD zARfencwQgj;3Xm+#DjQ{{V0fdH6k9wgLshn8brKC5f9=)Jc!pU;F}X zl86WKARfeP7x6koJctMJAYPY<*Dc~fJctMJdPKZl5f9=)Jc#EvO}#|KgLn`R;uS>Z zs}b=a9>jxq4I*BnhzIc?9>i-F@mfSYhzIc?UaN>#5?8ouXFz<25Ah*>yNKT*;z2x! z2l2W@ylxQ>;z2x!*CXQfig*wY;z2w=AoUUv50WofzQ*#9@sRNluR&xzjUwYA9>jxq z%_3flhzIc?9_0FL74b?U9>jxqkonq0ybci$;z2x!*Cpb0i+B(Z;z7J#afMqwBV}kz zxkDu5=ray74l*v$e^WvoQis$b^%|=~>X165-e`45zeQZ(j%!SLwebn#>KSQ1Sbv8| z)=!@KA@f7#D~Z%0bx0jj@31X3Sm$o17Lu5cAI zVZ2^MeERqh-w#gxM2y#sh({j};uS>Ztr77c9>jxq4I*BnhzIc?9>i-F@mfSYhzIc? zUaN>#67eAUcFT8I9+K~}e7EHx^Fro@cs(NX_KM64@gN?I?~7Hbmxy?f@deA*SROJS zG9JeFK`|Z=k@1Zp9>jz3eNc?YL&R$l@gN?I_aiYL4-u~<;z2wZkB^AgA>u(ihzIey ztqwK+%wFq5e25S6lOgGRkUFFesn=K?Qis$b^+u~h>X165-ePq~9a4wXOIC;UJH!=k z@ywKW7}rL|{Z^fMs51{_T$jl4=@#)I9>jxqJtAJOhzIc?9>nuQQ!f!$xV1AOKE#Lk z5WgTYZ;glt@gN?=YY_1o#TBk*x0DAM&oka_d@GXq@R$!WA7s8}k@;H074CrDQl4kL zJCgC_84no`8DA2qL+X$^q~0zve}{+%$#+@4+wzd{kns?&M`V1j$ashc@gSc6MCv6X z9>jxq5U(IIUyXmYgLn|HOT_CI@gN?=gLpk6 zUayD;@gN?=^TSgw5%C}%#DjPRk@;#wJctMJAYOxr*C^saJctMJnnk=85f74YwS39) zknxc55U*Wie22(*hzIc?UYCg1E#g5uhzId{M7&-R58^>Qi03y;y+p)=yw4OYUt@X5 zc*uCj_y&>nG>VLecn}ZrdV_p^*ev3=i1-j6;zQlP_^S6um z9U?x&hxia5;&+Mo-6B53hxia5;`fO7y&^uuhxia5;`_~0KN0aEKE#Lk5WgTYe~pL_ z@gY9MhxiR5exryF@gY9MhxpARev60?@gY9Mhxn}`eo4fK_z)lBL;MaA58^>QhzIey zMLdWH@gN?=>lN`J9>jxq5YLZDw=)s(AwI;1_z=HF#DjPc58^?*MiCFnVw@gN?=gLn|HSHy#O5D(%(ykv{igLn`R;z7I` zk@+AV#DjPcuTjKQhzIdXA|Awpcn}Zbb%=Nn58^>Qh}SLRK|F{D z@gQEWhzIc?9>jxq$(E@H@gN?=gLpL}^Fcg_2k{_YqlgFbARfencr79x#DjPc58{QhzIeKtx^x-K|F{D@oGfogLn`R z;z7Jd5f9=)JctMJT0}gE2k{^t#4Cw-5D(%(Jc!pJ;z2x!2k{_Yw}=PvARfenc)cPX z#DjPc58@@&sR!{O9>jxqH6rstJctMJAYP-02k{^t#DjP(A|8zQIqR21#zDqG#zDq) zh>U}H5D(%(ylxQ>;z2x!2l0AEJctMJARfd^3aJP2ARfencr_yPK|F{D@gQEKhzIc? z9>jxqEg~MogLn`R;*~@^hzIc?9>nVq@gN?=gLn|HTf~ES5D(%(yj~Fx;z2x!2l0}v zQxD=nJctMJYDDIPcn}ZbLA*v058^>QhzIdnL_CNG@gN?=D~WiJ>#<$rd8Nbhknxc5 zknxc5-6G>59>jxq5U*FngLn`R;z7KmCiNg5#DjPcuSR4(hzIc?9>i-D@gN?=gLn|H zMZ|-65D(%(ypo6q@gN?=gLoYx9>jxq5D(&Yi+B(Z;z2x!*DK;dJctMJAYL*u^&lR^ zgLn|HMr1z7d2h5nWE^B1WE^B%i^w>L2k{^t#4Cw-koh~T59xPXAJXr&KBS*)WBVb} zudzO)-)MbEzs35He#!cf?SyP6WIG|-*&(u>ka6AChm3=agN%cW>lGOX@gN?=gLug( z+Yb?sJ|4t_cr_yPK|F{D@gQEKhzIc?9>jxqEg~MogLn`R;*~@^hzIc?9>nVq@nAeo z*6$V>2N?$$2N~BZG7jQFJctMJlF_LL@gN?=gLpL}^Fg+w(fW{aka3W4kZ~;{;~*Zy zgLn|HB;r9lhzIc?UWbSW@gN?=gLu8-&Ti%I$(WSQW1U+hze_ARKdyaT+AnOEGMSjp z3z-)(FJxZGyftDx4k8|XJjiir5HEF`j!QY)xO7~j@{EIwgN%cWYY|ttHM^(G>;ds1 zKE#Lkt>Pl(OClb`gLn|H!|ISaqzh!5Y>K#^x ztPfI$)Vr+?sYB|JdauMd4>^h?%<_%QB| z)jO;Xsl&KGR`0etWWHYOL;A_~w*4aG=`$WuudzC$-)Mapw_n7kPrb$JkUFFesh6w{ z>33Kk#_bp5_FKK%>JY!z`Vb%DL+VML?T<*EK6OaF#_EuMqxB&^#E0>IW%U-TL+X(6 zC96ZmL+UWzpRC?tbx0jj@3uN*Jfse(_gWoNhtwhUWCz<{kve_qFz&C_Ypf2bL&i5+ z9WowLhtylF4yi-xFz&zAOIC-}A@vTcL&ihukb1Y(A$3R{Qt!1oqzd6$_e~~(U z>X3Sk)gg6A9a3+!I;0M%L+Z`qBIR4ec;6B6=;J}WlDNXH+yln@kBCPf58`!L9a4wX zA@y#nL+X$^q~2?FNF7p#)RP_Uc!>0CtPk-aKBV4gbx0jjhtylF4yi-xkn5vlbx0jj zhm7yAI;0M%L+agDhtwf;NWE8F;U3>3<)B$9_le{<(`OuH9AsRwlN|?b+Kn)FE|9J(+69N2E@lI;37>bx0jjhtwOb4yi-xka~;NA$3R{ zQZHE@Qis$b^$x2;>X165-feYA9a4wXd&L!Q=AJNKCn6qwJcyTk(vE{joj!F)y~gU0 zI;0M%H(DK1htwhU7OO+*kUFGZvO1*SVSPxy+xn34knxauuhk)SNFDO}^gHwX+c_=~ zIS!C<19>(_vt2bI5Qis%=#j9M;xE3*9?_%6f5s!SlPguQVbx0k?{kD3C z)gg5lkAu~_V}IhzUhBiS-y%MJ{A8N#uSlIfbx6I&>M-uN)#+1jv^t~?84szqSRGP_ z)FJhf)gk>3afLf|&y+tfz7xrDBhNgLc_8DuMe2|`qzy=(%mbMRGEa-R!p+|+K#^x^t-JO@gY8>-fMM89a4wX{Vu$2{xB{P<8c%5=;J}Wf>?5u z<7-4bhzIc?UV~V2TaRxP@gN?=gLutihnqFNMZ|-65D&)JlhsSHul=_^#E1BhdAqF+ zsYB|JdaunXgI;0M%L+agDhtwf;NWCobxooezFuTKjUwYA9>jyZE+C)VG>P~v zB0j{2_>g%a|9+z=;+I5xh!62$eBFu6-zMUBi1-j6;zN9h-znmEi}(;9;zN9hUl#Fu zMSO@4@gY9McQaDoizRp1_(WtJWE^B1WE^B%wa9vEM0|)3@gY9MuNUzfMSO@4@gY9M zZxZoaM0|)3@gY9MFN*jj5g+11e25S6+eG{h5g+11e25S6J4O6%5g+11e25S6%OZZS zh!620KE#Lkt}*o!5g+11e25S6t3~Fo5%D2D#E1A0zh1;|6!9TG#E1A0ze&Vz5%D3{ zebMqI%R}aY%mbMRGEbYxJRKtQKzxV~@gaVvh~F*ZLwtx2@gaU$#P1dHAwI;1_z>UC zO#MW}hxia5;zRsuk@;&xe25S6AwI;f7x5cKe25S6AwI-!67gF^e25S6AwI+}iuffF zAL2uNh!64GMEnjBAL2uNh!62QMf`3NAL2uNh!635MLdWH@gN?=OLj{=hzIc?9>l8_ zS$~blybvGaLwtx|FXA_f_z)lBLwtzeB;vP-_z)lBLwtx|6!BZdk~?X9Nn{*k9Aq41 z9AsRZ$hZy>AL2uNh!62QMf`3NAL2uNh!640B7U!k5Ah*B#E1B9_tf{|B6*3(ILJ82 zILJ82xN4F0)QI>HAL2uNh+i+_H;VWWAL2uNh~FgQw}|)EX_u?XX ziO4v}ILJ82ILNqak@eJw_z)lBLwtx|FXA_dtfx_A9Aq419Aq41T$9MS77-uD`@iK& zmWRv(nFlftWS%yWc{)Vqf%p&~;zRsS5x-l+hxia5;zRsi5f9=)JctMJ{46`pB7P#` zLwtx2@oPjphzIc?9>i-D@gN?=gLn|HMZ|-65D(%(ypo6q@gN?=gLoYx9>jxq5D(&Y zi+B(Z;z2x!R~9+$Jz~jyXMC^7ILJ82ILJ82IJajyE)nq|KE#Lk5WiYvJq3~H%^Hz$ zka3W4ka3W4^&;aMMSO@4@gY9MZxZoaM0|)3@gY9MFN*jj5g&5Bw^_c!@{oBT^FZc- z%+o0{Pq)ZC5Fg@0e28Bb@q0ylh!620KE!u>rG6sfLwtx2@gaV-$ow@TKE#Lk5Fg^# zi};NqKE#Lk5Fg?Q zh*uKvAoI72CHL_74$DLG-PVWnd#w-YCv$9nMEW(>hx8k*59zm9AJQ*bAF{oW?S*VF zWP3YAwihz4+xn1kka3W4ka0cYBGr3E#zTCF5Ah*>vbXJzh({j};z7KE$hqlgFbARfenc+Dd7wutx;AL2uNh+h)%ARfenco45mobB4SZ5NrpLu4F`$J6@V zBJ)7zfy@J$rz|p0kH|c|BJ)7TLB>JGLB=Kfq#neBcn}Zb6-4H(5t$dVeT~+KjE9Ve zjE9VG78&0nG9KbXe25S6OClb`gLn`R;g?W2dofbf2;D#(HCe7`MavMPsYw+pOPd?6Q2>`nrhY^;m5zi1GMXzuEe& z;-&7r@hN9-m-13$k8$dRG=JuVHXGk*Y?zzQ+iGn1to4muM*q1q-)w9@oZs)=JE6KM z-OhSrld))QGjg?W2dofbf35J#(HCe7>~R4i$>iH;_>t%^=j+a z8=H(pW1F$lST?#NY`w;2k)I>|k?FjJFVJ5-p+V&LHPuI@e!a2D*eqV^UYL+_i-{@s zH=bquk?~K)ttS<2e4DY;*d?-GW$WvYc&FEovEJBZY!>m0*7wJx{d$r6V3Vq-SIZgSZ{1H7L9GjPGi~VPO$OD zdSjEZXlyff8q3BW@lyAhNh!M`Z+BxRyDz5mdNE#S)~`1<8H>g?W2do8yxUEmT(-VD z(YDiAZ)`FajcvwGW7+8D*?42UvB_98wi!E(Wuu#K#g5pEE?O4oyIN^UvJ{+^{+EOLFjQ&M{ID))uS zg~&ydM~Y9Y-Yl}dCDwo5=ub`aGsWnMjBkxxG+IBTEvD=; zHZNs-<@PC0F+OJ;QkUkBGp;c<>_DFDy;WqpTbHNoF?M~4^>&WyG5Qth{%hKp^yNWE}L+V5J=OVjP>ygWVMWuyCwT}Q@($ad9R zzscBa`J(mPjO~{15=-uu9U8t0AKIZ+jOQ`-S5GKhk@o$S)b+j)DNn@fiTxLMXurzF zi6xht(s{jYuhHFL+iPqPOK!_4?IQEEeuw_#DLrCb|BW`k__*6|N>Aj4QwrZr^9`c5 zXG(kI(^I-4U!GDHd42T6{<iU(cNM58H>iU(cNkDiJZp<>o*yT#&(haexb|yWuv>x<~J6NUB+3jCxZ_kF&98Y&VvT?jG}u&Bmg!U5xWv-`$(~4aO#8(O5RRAKJXe zqOr?ZHoE&#&x@D3U3N@aGX7-8g4LUh%_7@Vw0_y>I&B^?o(JnU8H+}JtyerQ)yAT+ z&FFq)bz_6EXlygK8+Fr8=Q9?KZN_$^yWc!x(b#5mKeoED)7T}(<8S>QWBpH3zscBX zEE`)NNb8-(va$X_8)xh^mW_pn(t5qI$=GV_G?tC^KTZ7xW0SFL)IZ9I$H$AjzZ8rO zmTxi^jjba84zb<(Wused+ih$%7L8@2d&E3r(O5RRpIP15Eb{Neiq>z9{mSv}kz0@N z68X8HY<2gjjW-sJ?Z&cEUnv>)yI^cG7LBdOva!eLex8mi8rzIzqx*%;Yiu$WjjhJA zQEw*c@i#Vze9qrw{bpm)*kg2S(s9+sW@D$ZY%KgT^~y%~tF+%_EE>y3_e5H65c&OW zll6wUZM?A{#_`5B%ePy<)A~KuFZ85-lgM*Qv-OMC zZ?}GrvG8B1-yp{48tWH&)4YE^ef}37{hfI)*gVEoW0%ptnAY2kJ;uUI zX}-(oe{b^`TaE1^+gCRBSl+#y=39-;Yi&P_4X;>TWc#~}{ts!t+1PIE660|YFLix( z>WOSN-e#vL64ct*; z_VGH7Gbgu;cny8ie2+-K(9i39ePMD#yBJ;P4{2bgRGOr(yvccFa;&mC@2d4ENV_}f_Vw}&|WBIPZX}(9~x=4B3&c4d> z#%6t;a2#*!68U+$$NGM#*CX05CKp70u5K3bn}?)=kk=N7~k4C?bl69d0bt}HO7V==*R12D?1({+tXETEZF+CPT5+MdOgOj zk?dFJxE`b5COuEBBIl)fl+8OjWvj8v*gPi9w;OxJ_;Y)$<&6zvZM+zNZr?WTcdh66 zbUO+Y(|ohB-Pk3@pSveP{X8wQeOs{O&g1==bpMad+vol)s+Vpng0~B0pbuMLs>HC-UVfeir$4 zQwour?${o=#f~S0GsAboD`8+VBsnHIC0U+amb53=CjBzQGKI|O%;d~|nNu^x%=wwy zGS6mymsy*6JyVt4I=gLl$83Fe&+NY0gR+NZo3lq{PspB}Jw1DN_TKDE*}l0?7<&sXQ`^DX&f@^|Fd z_$}Ob{Fd%Uzm@y0uXZ>2g1gyo?QZck?p8n2 z-R8G(tNbYUJwMug-;Z&3_*!?DAM1YLw{>^>aqb>J-reiBbDe&I>+%y_x1Z!5^po8~ zetY**U*{h7JGj+;ihIQG=pOYuxySre_jCVA_Y3{URFC^0a=Ax!?QQ?lnKhz3%sRZ}@%O zTYg{nC%>P2+wbq*@t@N7=N{nx><@H*@dxSqkw5L;_XoQV{2}_X`a_)$pK&1^<}zWf z%ZAUoT=<-;2#4!ia+_S=(Cqq$&%47yi*xSvylzDw$B&P||I!i2=m|&P#_THe&C5ev ze>c?a>o#*2xy|(v)(F?-ws1dkTe(Nv)~?6ZxVPLk&gnH*q1W7Sz2>&j>uQu$S4b@8(bUv;CR+|5>_Tzj5--wfe@Y{Z}bodoJ;JyWgpJ*`#|EZy495 zc*_j(J@v%gMrPACm>XxdDm|dgj009H)^CkJ`Y__`$v;=zY7FfyYl&xW_bbK2KSTSo zClY_RJMr|>iAUEECml(AIL`C4IkeAeAl|f$`09DYLt}gYJnd%=CT0&MzMUn0|I@@* zmJrWePW;uL#6w$%ov~er{>15Is+SVi#4UU?Zpjn#$=n{>FU4&*HCA_u?ew_qT#a+n zSYp_lcta!c%4x(QaqoT|x3)2E?S(Pk6X!WR#!0(i4myN5uY!1a%p4TAXWSWNrnVC2 z#B=mobpE(KnWN$v85hUaX2^W>c&2A$f30;75;tddxRI3;(&}pPs=ZcH>+$>_GhS$fp%wnn3%Gcx|WG%;~2;r_4c1 zi9b%Lem!1|>2*6jnvcXdKjx1dhchY8S%~qgTQhT?QRJT<$m?#ke+Jy`$rm{PlSCHpJ_5v*;fbGwHsh+mP;K zx-aRLr~8s_XS%29eznhgUTaK`)yDg~@gAk~r1Pg^)A=_(CTVs07hlnAKR@aX#j$%5 zzkA}_is_ZS@9rF{yAC0yV-Gm>J+(`Fve(V=wbK)4*m=KXtkXABlmGk}VtPi#7ijOW zkn?p{T+7B|H}*GPdpcXXRq3d7YtwnsElIa3-NJNh(``%lDBY@b?dg{MDsJsL@$QtK zyYxJ!=Ptb)q-Qz3r|nc?%g>5;lJriM&TwqpN1HPqhjfjnAD!0`c>Ab9imAErl{qtB zjpNQ3q3R8d#B`6|8qHe1aT>?xy?Et(CSKtcaV?*U@kaqC-N)iA%xhv?d>r|7?dewi z@&vBlb#YxUc&e50s@wRyw|#2EY>&rdk{-8on|~6|S9*2r6syH**7(Y)#Pk)kCcci+ z?f>tu-t>yy_!>@MkLlPC;$EM33NsHpm1}HmyiOinK)d!7;-u(Y5;KP%HS({=wmM#K z>3JL#-%Zl(9~9qH(z7#oIWzBDAYMC)Ba^-seiV=DLj$>D(>u)c8rJo8eD6!grmvUN zPS{RP=dn{1TjRUxym=hG^v;mpCDOCp633=zIXza(;=Y^^w?DmKt%%O%GufWE4`QA( z;}+f)^S8&Ny?NZPQ{!11cLv*>p1bs{rAIG4U+JqaeKl=-&F?*vQTxYpR9nMZE{N@; zGKV?NQgf-4&mVSK!w1Nnqtk_?PU#47)V$qw2XQAE@}={)djuyA!j)4RG@m zgTA>l(bHBx#k@N?n^As&VsM+dtn&R8^X{~4PWgq3!ELIiGOu2R@{6?ib2nHnr<}MT)@<*BZQ@0tYI8X?BqEmnjCfrPko}G&orKuV$;1zd|v%YOTS$f@0oX zl^v@5)rvvSjGs`xMltWM$qrM#O)q1`^%UyeOvSwWPIgP>Z&VC!H*HJa-JGpf<`%`^KBKMh?l8r?yFI(L@~aeso2#wx z?z4({cSm-l@^>l*_c=Y!dUv>D-rb!YrTjgL!8N(j$~Pi z7~DL!qw@0=^X|FqPRf@RgFDGhRsLkfyz9+=Qu*f0gq1#pY(-rgXkJ)-JXuJVkv|aBd&vH&G03nSRRgZn>gfRk{6? zAE+4Im)!o!uTa#t3Fkhg{1C<9&ey+6_U-~jeZO$-K;?%k26v%5NcoEt^^L>1Pb2E5D;+a98V^ z_3rD6dACdM2<3NG4DK7cX1%*cG4E#NzMy=gVsLG`X1!}y%)8xlM=QUFVsPKoHOnW7 z$0)y7?pWn#D+aex*Q|HnQp~%3a>pybuVQf5>YDZL+lqPjsoWQpKR_|K>vYX}cfDfX z9h{q|{2_|L-JolhPmt#;e^~A$<>x8}ccZRZ@4l;;cZcT|DBq+Q+)cV>z5cPvDayCx zPF4O0#o%tyHS682ig|ZbZlUr=D+YI)u30`=Jze?Za%U)iykc;xbj^DGBaubQpO{;$ z{5-|rzOQT6>mPfZsr<>gvy@+;7~Gw@X1)HA#@WiBmMbd1P%*e4=$hq|{8r@`<<3!l zv0`xd=$iHVM-nCF&(1ATzNi@74|UCY{bPrv%9nEID!)WAxK3TOUO#=Gr~G-jWy&v8 z4EkAox$@nL`nK-emz2LiF}VA6&3gS~ffdSMlsjMfixq?WiLP1i9#GVsJa?h;mnjDK zpsrc(9#YhuJa@73S11PeQ(d#(J*=oZdG5=~U#%GQYxYZ(e?(E=1D?A~`F6$Nex_^I zyGIrC?%Lc}l>fG3aF6Ml_3r12x~(^Uor1q&E2W|Yl^{rpsQ6M#Q3|Ee>3+3<=;{a&ilKS4~lvB zPVOG%-&G7Q@%Jj9QOvt_xgRS3o?>uWf1mO>#k_MBoyvQ~pihLll+P>XUAE#!%I6e= ztMuK<_fgEdz7_W?-%nA`LjK3f_fymzpyDUWAEKydA^(8#{T226;~!FcfTEsx{KIMw zQq*&fe?;vnMLpa2N7WvxsOK5~bG3&l>KVpAuJ&e%!ENq;srCrP;I{BjsJ*3Pa9io0 z19(@h7+k?Wt@hT6!PWR@)gGxB^aR1EGQzlqwPRt)Z7 zzp2`XCWHD=zZW70>j$DxT#V6wmgJibZ{P8CXpd%$<7{h(sdZ&|*j_D>aq ze$(=8wO1x{rmI)E=c6 zTy1z+?XimbSuDJw_BciT{1yJF_I8TFO$e{4Jy9{ZN#PB(Co2ZGeRxalI>q322yd%B zMKQP?!@Fwlq!`@P@E5f|sTkbO;XSpdDe68JK2UoXMctQz54tZY>b?{bwf9ogeJNzs zo};MyQm9aSA4T1lLZ#aKDeAry`l|gYMctReCTbt3s8>PQRP8oJy%xeiwZEwtTt^tJ z_DaRzz7>Y3eXU|}-wvNp`#Qzot`Ec2zCls1ps=~xH!A8C6t+osxQLn*dk=g?k^%_jhRC|!3UW3WmYF8-+H!NvYd$?k7nb*O; zMD2P-y>};AeYR^;*Zm;C4YR^^-ZccKg+IuSow@-4F+WRU7w_oygwf9#H z?o-J%Y9F8&+<{5E+6O5H_vxfV?SmDAJ0$s*+J`FY6O!cHY9FSk_vqw$#m^?+QRZ`s z!5yA_SM4Un;F^=0)&9Iy!cYJWj7xTBKqseQC!aK|KfsC}$raK|Ng zseQbn-n)~#)&8QQ-n)}~)t;xQ_wM9AwNFyidw0^M_5ww{cPHIypQ@<$?&Qa6FI3cf zck+PRXDI5uJ9$X$#fo|dPaanLEJeM8Cy%IIRMb0o@~GP9DC!+N`MKIl6!i|CJg)Y+ zih2i6eyR2{MZJS3PpJJRMZJS3PpN&rqTa!ir`5htQSac%vuaIkms6sCV$B zNA1fL^$wo&s{Iv3y^klqRlFj3L76KR^*)}wqU}(UMe!TSAC!xNQII^6XEtvvW`D^nhRW7aka^(*yGe!Nw zh7bL3)_mtO8)fSHPRY^zaIRs_M{{HL`rF*}zBhmBZ*z5h-`)OibJP278`rTgo~C;5`!-=Lk|gDW?&j#Cr$!M^J9Q+$957AcI>vDK=-7_T;Kb3 zd?(lU-o8JQxQEf&B<(nQJc*}eB}QT-W*?)+)Arlt?e^@V6;EO%M$2mZ5B^{zq~%GB z#7K;m)v_y|#FLoa{d~@;`hM&C~UPF0;cRdwprsrr5|{zh`g`u-<# ztna0PzaAJK_@4*<*PgSuwRdkn_7nX(5cVS6iEtM}RQdRmrG6!Txk3jm5n#ZT=o&)yN6pCW zsOdDysA#^j5}cVIHLcF#N~Im9f_7W$caTP>Sz1POrkmxUiT;#KEP$Cy&A=8l*DkI! z2pSz76AmZFge3%1^~Fjx7z-|fStQy1nPz|oeqsM*HHA!KAW zSc(JL{uEF~VOWwhy|dUVH7gCTaLnBpD4vu|^=ik@5G4iMsA6mcHFQ1Lt#b(2hPeK) zt?-f%nNUF>5;kpfNEw&EE$Vo&U0R+C2c9i44JAYK#mg42v6-1MPI4L1)DR;x6G+Q* zeA3L0&yP$@n#qZ?;|phIC(Zo$+`L3a&&Ev~fdVV#dt>$c&87nfWn1o~|^5Du>)O0CVQ4 zV0EfkE1s9hJXcyqICkc#nRzodK05njgpDSqeyKh8)EP53a(e9e^fTsSvDyh17R=d7 ztJt*wJEem%m8+>Yia+ZF5~X~`f@)<&QlbySl)x)(!OYZK8fjNA3Lsd~u*?E&JD&~~ z%}T3OZ&oXdP=7Tjo6%}#kxPa_&o+wH$&#auRB~(hWB}4i$y{Ekj@2b7BUq`l@bL9O z*#yvZ_0=GlD2Ebt^V7}2ayVilh?9N>Bt8Sn$srRV=8N>dgy|q83jI@5tz+<|J&@qlbwgn2Mv-3REGn zE<%pTF<@lKMvK*U(5!I@z`UeT`8<#GrQ#}Lvq78JtwF*Rj zzE*Dr<+*@RK0w9g0Sj__brfS*l2t ziS;f*Wi5OWHYw0>I7TFx%@s^3sCq2&K?JX~=F!h_7$isa6%pymYDJe!WjtQEMVh={hm3mnw9EaA43bjUrvt=Sj8`gZK z)QV8;W~Er2F0qRObb^oJmLwAc(W5_t@+kfweH7qjgC#o~v^&ijBnWwV7|Vs|Q8lYP zq@8vN?HTcj;oI(b^lfqn(N93Dw=iEZCnDlXOGdz~8+o=*A_AatQW%26Mo zu?Tc(W$4D{`QSLVISDit7a+DlFQ)S~J-H-`)EZ-gOHgQ~TTyWAwnmoF^Vo)#k}Z;@ zFDQ?!BoXnZCh^I(X5-n|BxYpxxNjVb$_v`_9B)Zd8H6bydpHU7MVQ91DKQBpNiu|( zByl=03HP;N5?7@XfhJ7Cv2J6CWujDdCNrQ5lb~Xv!$2~AnR+N1uCDqB;#C|0{T8q{ zMjEi1utH`DUIQoXrCO>TMP`X~EyLa;O}$PyVs$Uo%Ngzp8#=?29&#znfY zLVgZ3s%pTiAx3SbY{qLBy%bwFgZ(n}!s3=uR&}0+&qB{8cHbGy_&b1%rn>fI zm7dzwri;f+&B__;`E)MZ?x_HNwsIOhQG?}O3et!(wF*XICTisD97lXQ&*;e6vt2ND zmZbAw9cZe0*{Hc9yb5SRHg;yYUdw0#Cp5Kax^e1<%f@+ABb#8V*t~#MGP7XXZ&~%lJe6ID z64Rm!)l~V|S$as)jXKi`nwYq0L}+AL4V|WNeVWEhz*MxGgEW!?j&?y)@MbTkiAJi` z`lT7{Y-m+r7m%jFdd`u_g)EJJS3UDt0(q<-(Miox96 zvV^ftdv!|!r}^M6!DcJXXM+|&GXwFHN+V4j7ub)3Vlz!MGpz1nqQn@P1T_CGlRT zk+2>s&3cVKs5El6Q`-_xqf)ky>8zt!JKr?fn40R{3W@KG)7fL2ur7sQ0}ZFyaqKMY z4kBHQ?uF9u(30aNUtzPO3H0*gVT?;OGsZx}!fol#p8sRa7s4_FR%xx`< z+)^NNvFn+%-NjL}i&k{cB&6XsNrO*Dh^aJ~s#ga~@xj|sQ8D$W#?w2mJ&7o~`%<;nvUJ6-}V zqLq4B8O+8oPP42Z*^8yaK{EJm*)jI|Ks?B!^}%{J67j$8q{EumrNuMr7?*+G7_)4NX(^& zy`*pU_?Ac5IAwr$_98TiLGd0FXNz#7V^<3&qr16< zD+IF9H4}(nP6(P3z`T_>C!dSAEiBesGmz79xq*V)5fzq>jWw=5)jN!z4lcKC6y|3e z2T&B{DXfh^f;*;8U=mn}?P(q!^B$7D$K+BiYh$^zUN4DnE(~r|z>AvzW**Nb?ji8v zhg6CyaIHEjw+k)ri103$3=BGZWROV&8;(FCl$iBS3D(64cN>T>YZ4&-ah6MJYV?pY zOi;HAbP2;sA~=V~<&754qFh#g#~l`t1}3~=VKa4(LbeyN+BBtri?Cbj8jW9t5G-}6 z+#SUFfO~NzaiQUgotWmDz`?af+~o?%$P>PCz0D?R*KT(v;ACuzq9O|EoU2a6944Hc z=j$Pe1DBHaK#nS;san6ENIrD+NzqZt<(jWYu&D3|=IA2G5)YI^&Yj^c04cz8Aad}@ z)e6DZD1i)(YNr;A3m)b2f>lkf8{({p>9G!uX5g<0p01$ZE(z@ECN9tL0w@*9B13zg zVot+B2?eK@UP${B0@w=iU5XSm=7==apl8$6_>dc2oWhb#BBCz{i7r4190m|CJO*Os zU4YZPC}4NrAp~3s7G;Mw-I2RcLL|3=xPg{q=vY3h3MRy<>YYRB2~-wo7AAIU!y_oi ze54*iW`mbboLYJqXRXVLm~BnCclGJ)4G}Ib+=vUQ)krWFYgpa6ZxAs1hz5})DDW^5 znPP&AjBZW3Je+{hwOr}E$o(uG?B1%J>;l92OJ1pj?AF zfFkDSDm9+g$wTf7LYXdA&I?@Z66~rZfsW=%VdF*2TZtAM6$vA8ac?2l zii|o-1kEus4jEYtM~#;ZA`AxX4D<?{!3CcyxNY})lwUCDg6gHScS8w zK`zIfBtrSdx}O)uLlU%`$^whqNcB9HnD(+}U4o?`Wkjo=7Fl8^M&4=xV$k4nBo5N0 zoHX8PwT!Gw^d|Ba4G(?6g_IZGMVA!iDf3eAqzFuOAIF>rb0azd_KZl$nouADo3nR* zwQN5jxgmC(GLTCl@GFu%szAjslb92`BuBdatQIxY+SiB`n37pKBkyDX@RBGf|K%Gh7&bplgp0 zb6si&u2k>r5lPSq}+2qm~OQm2O2A86PFt&s_AK=n`#bP+{Ji{m~ED2jwJB-GY(4gsI97eg^ z@>Cz7pfRIq{CW_7KzU%^HUP73kXxs!l;QQX54O!7U%4n$(wpPr6$r1t+S-%Qn1)Cq zm0^y5i;=OOpt7UGLX&q{OdVRIXS8fntF8*uF=0TLga|hbZ42gfr<@c= z49w9JUJ7XjiFa^jCg5xj3>{e0OH(*`!kQJzX%5$NagG28R(krF^ulau6kB*gIXJNO z<35iUnH5L{Cw4lfm2H=?x9VK7=t#;l7#Q^9Y5NT=3wr@2xsbwrr;8hxK*Q-dz4#}% zOA}pm5k#u!S!~dl;{+}M!Wxa4SY~cw$`vb(f#WKchQBJF9!;ci1tKJXrORc+PC=TO zA?j4S-N04)FipYvJ|SlOs7{YAkty66}cAF*amcpbfh7OVtSb_{=08pLs?=W!- z9a2X~Tdj}8B9C6TV=c_0FAjz5>cj}Knx`8U4g_qMyJ3APB#O0Om?&#ZN@48@-m-}j zEM^lWIL#*V8P2A#GdW~XycJ=p(i)*tDoo=jq}1Vt3NHReB?O-g+J15bm;L=T7DPX} zQ1r6m))s9YIz7VT0E?x4lUok(LrNbr3s+?eI+qqoNTBjQl~mGpxF!UxT^iHoF~Tei zDvWf$rH1vQrmgR72w4JlRJE12F2=BO@2^{4$T}0HE%n~$IN7Xs8ezHFMooxDsbb)S z0Q6ZLun^E^7veFp^cIHOhtl6F-oKcxu&Yuzh8;QchxJ8k?)bSp`6jX2I%jbtv0$bf zN;A3%?R-sk9Skdv4}@-1@hR7h3e0R*9fkk|?sub}hll(`KHV|g;w-g8L^+;BDIv;R zn?e|FN|qfno^)|xD8LJNAsH7XyIlzAE)Ef1TkNu7l`ZG2Peq#-mvv-FByneOpH8qI z2T7W4sI;VFIpJZ(h1!sjc6u_x%nH$Xfh>&AMh7OwJ3Nt97E5w*HKYXdILq)M6DP6i z;MJj!1Y(jgZS9&6-gHx9v|7jFu0Ca+c41Emr?BI`5s$vTf;af&^%R49U1A3FWfS9@g93=&OyMh20($1y;YUaD z&J*5}pl8iE54H2dtKPHbm^h#Lnw2olA+FA1jX`LMH-RIH_#K^yUOku*ou6iTOe@yy zeWJXou4E)qN>L%*5cUNZODNor=({I@5kI1V$plA*9!g-h&~#^=<&idS<1b>Rgi{}T zM>Jeao(PQ7mI-}FC4!9wi=Ff5dCU;OKu6;_2AGg{(IU|FBK`C2I8lfWBj^ozDGOcJ z@o2TypgGqL8uQCoGtMtZS>}0qg2fruEZ^RX5a4U1*~Hs(aAQPJ@A_B-lzV}=zu&S4 zBG~YR(m^rmc$<)SVDPS6GeYvHr&6`+c@>8(T-jR@9+|D%JO-Ps*V_>Q6Ro%+tVS@f ziH!r#@Y@0WDXS629?HleQ@gTQ!E41H_ILmn2#%h_1~T%Jh)ayuc(Xq+$5-*dwEIyf z=;*L_w?TC?ZLfyPgpiJqQ*axTGa{HU*l;Lhv0ktGX>5A^Bvb%hU`mTuhL$xpRjFwN zm-;orslnxe*D)aBNZUi8N`a!bp`h8`JwI!}w+6JZlR;Y}SZ3Y2tbmo`WsRJGOaAz( z#^Kr5$VHA!krNafR=p#K57Q@5sR26Q#DgcLf`2Lq8e*Bo-gA}N2?EcqnyAtFgk1XR z2cw7E=%>ySt}M*ql>_t^-=<*<<06bxNU}?muHrDCUXrN2!z*mKxVP?jUYz;jc@%D4 znM`2)VZb*{L--iBVQ3^=oIH8L`^u-v&50Fc)Yl|1Bk^)7I$7Up=LFLosTr9YoxnFI za8gSw7JO($=YcBy?fDyOKT`{=#4p< zWH_*~5scUn#0y+D;Y_Ev?K4-$`Ue&hHj4vin=B!AW&+3QdddXHRjX3MwI5p`T#8b# zsH^EEs1ZrpX>Jyps1zNIEs&XNoyW-))(adk;@xmF(VCKQQJx$PbC)Va=tUZvAROQJ zz(ie^gLG&tKd!A7h>U27Ex46bQYWe%_4DfrVGKMBy13wAL0hLxl=*0&go5NHkTOz-5I{xYUyYC+kVtAhfbH zZ%BiB=9eoiTcW2{92XIGMYt(rMVVeYUTIp+k~iyRSf_w^t3P)C-Xvek1wf8bxnqc4 z)=j*RKVGWf@Uod*>f$tOYjdr;VER)@yfEYdM;F0QazOn`_6eAhZu1V!Xpmh%c-#_a~$FnhvEat#}Vv4{-R4IzM8;;o4DKe zOdAkPi#W6l051}`MnaJbBRCunnoOJw+6*q^kMloyJja&{FNcS9dVAnFOf0j2b)Pq~ zaQ6vw0gH-v^^vep-!TEXp%RWrrWR0{iv#1L3yT)7FL9DGc1=hR2?^HILB`tk6xoEB z-k1d|aDZdORd0GEI&88@S{>ZoY_&)YuBafb+nSICw#Q3DY+Uq+Le%MRtOh}GMFc!v zD`Pp*G;aKgW5^~YgS-}P0aN%0Msw9BTAD}v&h_)K#7!yMJfb(CYqSO$SXLDJ%DdFd ziyDGqZ-xn|v@ot_U6|C-Z@5&2N2R#ll{!Af+Fe<}^o2XTK8xE|^%XOMPmEc%?*!pNpddcnZN68y(6^5<63O2#vWz zIzp)%^@9l*u>4K}^#ubs8;qN+z)*!)=Zu_p%4KZcY)jfH32e5xk|08rEMG5KOQFy; z-mOCcaV3CWgwgDkLyM1$bSxArjwVsqWjXt6TQFNp) zc|40ftjsYH0%EO}vscNRI7$?lcbq6`@7_*WT(nY(OF`(|2jr-Rf+Ai>L4WD6vaSZ$ z#sUnFs0p{Q;!?TgnNC9Il?yl~sz|--AN13R_=D%NDF_i=ZWA0lHk!~K@P){N zZLydcnD5X9qF79^x#-Pv`4X0&ZtA_e$kEO>O5!)lJRCWTuty`Z7*&+5O)dfw>stA9>cPOH#FS$JLP(~mjtIJTp`6vKy)ES zWY|r4DM%G|3U0AsNZ=y5MtBziL!P<@7ufM`4Y4E5^SFLqYr~42UYg~l_B2ke&xbi| zG2s|a(?<|dl%CP8%F+j@%idS{?ly%_HJUnB}tb6kt*?mv^KF5dubZ8KN5kv zux8+%mycJ9keqp~t&l*BaWAT}S> zobFf{!KlpqzT=pF=aeM&VvOWtdE#9G+z>%e$-*^Si ze%&iPf+4OI;xuM805%XmliK+nx>uZdey}_VnB2ve1p#wZWq?buH6>B5Bv)CN3@m>C zlJBgDAjZNJaoD^R8zC-A;l->@)#i7v$xHSy;n+Pb-yqUH08cgjCxdlo?vW+KQGZ7pom_~8soP6IslAti%jE7^Kz zQ^`NKP~!9Qsz}0Ej!y#zOzDE9herWcmV6zJ4Q$iYv#9X>v$G@f{-qO(b^|mU+u&A@ zCAv~XAz2vSV8Qq5Y{Iny?Uz?RqHbh6;!w6E4k^ZRE#bQ?n!lz2_UD-9&_Os4GO$8y zOtL@aT#jlz3 z6cy$+u9t$`Ls1SE4m+G^+;PLP6i+MVdsW^yK;_D+zP*J~+^4R}c>ik!-xB9}Ci0{& z;?dG+(v%Q|kh%?*iMCsQc;P*?USzS`Xb&F029w6eFTkYn@vARsJO-;%@M)y=6?C~9 z*PY9lQ^O-mFx!nR!E-kalV4^NVGo^_tHFkqKT=S zX(>|Aeoo;MJww-4Ho0dTdxc;ZpSBU>_|c|Zzx52p1U_Xw#_^cMz5(hXRZz)mZ5{!- z&ua|rawr(rVvjES0-Q&Hg4D?n-e`*>U72=#Pn276ynm}Lj`8@jdlwI{4Ro8|G#+eq zM`~ur8BHYbqw-!Q@!`~+E9kC*{B;B%pB>hsaS(hx#ZrSPT!4KsUP4d}6%1OToHSY4;Z zevHVhkKEcqOI~&v~nCSQ(GYJwJ++dgIu+|#GK{4*nX$H7G!|gisIqbR?e`ZCt z(Jh0MF8#JmOZq_$gmF4puYt-oTMtB9a=!%g(z*y+&hm4YT%6@+rPRVO!Ev?sS!nDp z;@^oz1+BJE(1<>6(ZWR~-V}s%c)F|HjV{B0<_8?W4BXMM3LTtR_*%OClaC>^^ydTs zkHj@l-2uC^2&5G4HnEE9HEKQ74vH;8*@1#okO2Vvg?Lv#@Qt8Wf zeih$b6W<11^%T2%9}WG6X(AW4@bW?Q(>-ESw}yEvtMW*!X@HXdG}Mk3cZ58wn;9Ho zHkMb16SrV7ROFXETCnV?jJ=^6UM3AW@W7+-G^kE2l77}iC716K7R z)Kzdct|Wx%a8npUtWwkt z454$yix`LyqYcq(SPQ}*MUV{?+W z)}ZeDu>8ms&ARbvn%W8cj1(QtIuFLZ?+1$1V*oH0eqAs=qIC0YKRoDAc1W}_Jsk%6 zipOFY8V(X0KF2%lcDC{lmw~4orJ2PorKEoX~g$kv_q0)_KQ17@S?cy{kD<< zH{?A@#38O(Aq8&O;MmX7JG;uINey+{q({lYik5Z+#4sgmR{Qw&6ov)tCLJwStnNk{ z&+v8BWFpY?S^0vNXgrjH8|xgvxa8_S(@CACCtfHgx;9{^j$NfueMhUIeTS&0@GM01 zs%kw8q1-)-&O*I9ECg$pGU+I^3J7SdxQa!b4@wSaC%Q&Ugb@5<7jnvLZV^mBS*oMf z#)Y<86&mb8V6fZI9;)-xem@_UfV}8PHbRpaw!c$$mS_yd1*Ir2Ma zoRbok+Z=IjVS)J*vxU^OgxT)>$cI@#-pi|ygS3;oD@0qIF*d4!dQ_*EmVh#K4Q7hv z$zZ7+-HAIDRL(DJK_{9TXGty&sk$i6MESdcl~SdROP^RF@v8`GHTy4CTZp)PjBFj{ z?Qh}K+68b1<5NP@O_#K5DlNYW@9iZ0V&Jf7G#FO)zLIvm-u}a=rtL6gw3HfQ*NZ41>o>lJZB{|7;FncQPULuFM?G_Kc%CFbhm&-l4y&CF4#InRH>VYf~ zUZKE`?nGshS?}v+!mOVziI2{QFbB3MKB$!jO|<5)^INQ6_UVG?%evgA<2Tf#<>Aye z9O%oSsxF!caybLOiq4$ zBB}zf)zh9-0J|s#z;Qx^WuMYO@P2bgc}c)*D-uv_%8@gfU!lBCt{nJ=uR_F1i1>{e z&JoucU}Yl%p><{;pijnSMti4V(sQX#Axpc{Q17hFV5fqkcKKLC&7Pl`8b93-rot6f z&(ruKWa9UM!j~w83;i^RRBfX&%hX14zZ@iJdkZIoSvx9B+gFwB2biVsSy3Ba6)}Ly z(qdJ99t)}|yu3*Obdyi+Y#RB1voIVQFAAcM$;%K88n2ENPd0pT7;brX63ueqrwWbWS3E`fG$XNUv)wH zOvlUI`h3^boM6lH9WN=tT_#O}$xIrb*Gz&@Zm^pH{A}{Ohl%e2IhM5-lVAFYW9{`u z2c+t72UQMcZO^dt!mp}mKcBRpN6}RH@f1x$OT#1WO43iKC`Orc82`*!&ZDys{$aGk zYcVm6=TI3!5`E+F+M|g>Y=>M5g<82?AI@|V;=-aFcshb>?O3^cM?T1^GUyNi=2=wW|vUaU^MP#3CJ1mMw z9E*4uSCmyiI0f;L{*kr^_87A6REN~IxcyTC2|l`D;;JFEGt^Px%8rkmE<|zV(1i$$ zxMp{uNFU{@tHAN1lP120jpHz6a2n)bTc2|~D)1$r?sjReuUv>+y6EW^A3h<=m7~JJ zLYTvAX?&sKKyn#Cq_&{{`Id0>bvqUJa(m;!FE=ejAFGGqu9WDLDq+R`$+#nHsvR93 zO2->Df%n3&V3+Jmi;2FqSnO7LOeU0e;erVj|ICgcPo~A9Cua`ZO)~VxBt&8_=t@qx zzpw6BNr!d{7kkf6ktF&CZ-)WSu^^EJ+$L9}M4TXk(AW~4B4V!KD!JN7I5fkJ1Bvq{ zpB$j`B#l7TK^Z`Jp!k*xq>@Q$oi08u%8@|w7vg2J#tNr!(9RE_J5LplK->v}GXrQ} z<2}SQ3dc-=9vTRaa+v^|O-af2Q(|lsJ!mW%J__s5fuGGR!JZ9ZfnBU1;r3QG2?x3L z#Y6zNBEtNFaN2-iZ3U~M+%Iaw+4Pu`xyiKaU>I4X+xk> zyb&O>#2jqlJPv&EeI=82=D9QLRk=|Bk0@M$wK7BD4M%N^i{i9#2e)6L_0b*(%U{Er zv!rU^V@VufJib#mGof&TB_Ip!I0ei#@!{gIj~O6xDGlHM$K4b8oqDF>vVob%7^}ud zV))ML1+BnKZFLOoyp=pnt*+YC(|Fko3EgK~wLYgW1M_3~A{*@V%Q2W|=vi}?Z_V(X zxhZ@!v(iAEdqTVe%wK)s5K(#aUITt~NaXF}ls7dmt`m9KIK zIi9xhi5iwE_?v+VwFrIFJXj`>N(#%6pLB7u;eLWim zN0+9Ax^T0|Jh*keDQ>miZE}q!xhxU~eHStskSZP((PFPjB}Pe+*ZXlKos+nI)o z870*ayMQuQjTx9R(`L@h8yu6M^agTN(6%BdE67`ed@q}W=92t7XqH5_D}b=|RpFxq z7=GOuf4PH>?_rd|+?0MPENdQRt^iV(elp*SsM)F_N_ZNjYOf?|wcQOVmF+Kpu7xKK zkMOS`EyX)c=nb>r%Ka)MzAZh)ekcR71Xvw?P%tCX2mV|+ zE!2+zXV(7xA0XgVQXzLxK?fDE`K!RN6ImUrg^H3Y3aEerECS{RD4F6AWXD8|ayW8$ zG=)J9k6~bEK*>_IbIE#18d<_nRbE)SmRLoowNX6UbT+RD&d3cXhr(4vZrHK}b}?z= z9I#zFMchL+Uuq0w%V_>>ZU{ zV`hRAec&uG6K2eq`(^;2Kx!5>L?y<{F?&^Uz-nP@a%RWxgS#hCpBtc587nBk^}iXI zM~P?1XNrb>N>yfdJZH>3EP*|Q53)f18pnkY88I9O=B5+iYZ3|yW$he=6wIy6a}hYa zIp(HA-$NKdM{I3NfD(s;ZS){}2<1rMu$BZ|N~7W_3m>=^fPP>NC6vV{NhqUDCf0m zBy)_t=S(CuAmU3sdj%gE5D9X$Q$w3k=5phc%S9CwoPFDsby4c?fL7-$M>ak%189x& zN@gBms;!%Zi9FnVBDK~dbL~FzQ3kbdqOhMYS+3c7ox7xxxhp*o%|*6D=c+4PHIUY$ znu#mN0_qLtuV^qzi!$H}5Na^d1WSNkHs&C?<0?}}e&sqUL-iU*C0hbxRNBs^n2__B zLu!IrcI_+Nc2@# z8n5pxjrI;@NI7scxjw`SClaG3g~UXz8mGK3)jUAYgeMevx-wAs)H(NP&rYvX%sk{vHe!<=FuApVvo*up50Gz&kc4r1*8JrO2w3hj4vb1jPaaxWGN*#lSi$z>Ja8a2<$&ty%?V7?k^>lY`j-3|S zxGBn^GYWp`BXu#%9GFQP&g)LJFb3ebGG*ow~1kAMK$h9Z#{c);B zd(?LYB)uYbVVS13B#!O@s9@nra-c(I`rfuVk(1F_{{9bKB=( z-%~cV8|21(g)+IN9kwB-yQ=O8Q#CWBcO2`C$o17RG|~;o^JKcV~*%{brf~b;&GcGY8yC% zZfF0h%nh|_3am74QVw3@iAN+^eY z?m3_xlh$jal4WstPLivItQ9A9-QrxJ{o7sq9B;`sI>!dqgwc7llw+h@_idfO zV15@X#P1@%T5%CIhXPIlZ=Hj5xM`-1XLaR})4JqKTwpuy!;azy`1=FvNaK3MVR3C+qCMSZnWX|deMJ_@DYs$)^-6TPSOdQ8DR zK82a7{t7dc9Ixh1LbwRcVD{oGtQa%SeQSxLo1OxkniG1bhpV} z7%&4kAms>ah!*5(rZ$_)LGKW?3){j{xm%~lz~S}yg~u~&JFQew>8i^%I=b9Vgdfs+ zTi;~8^c1Uf=)(@W)!+Fh>vVn-%98SEbgT9JH&bhLo2ZL)E8k2#Y>V6Hbg8NS&D6v> zNPC`_5A;S;m-^QJ={H|tazV|m+TEof)(+g8A4kk7<0o-l=dUAgEj0-3e0Qeu^^YF1 zePUnd_<_F7EN}icY;W&)&N_hj*4h3Fr;G>D@ThB?!4Pc*)HQ;Ob8G+nn;Blze0mMQ z4Ugcoov427?0Zobiu!GEA1#vs(_<^puiJF+c>p7F_I|w`Zpvm2% zcJUwEYc33V#f2fSZ~QS1eSOPWv5GT0kbejKJwvn*FT)Q&yPcYw5Uva!WbYy{OZZ32 z&=ivvHa*$g26BDe`c^3KHm;zaLs%(};K>OYt#Gu-S(5pq>>9Sd!+C>c54k;JydK z{DJ0+cIceBZf&PWl4}hQBwOjc$F|DbwZ@a0>kN9Ct0?uCa+}RV*K%y_Q5)xkSMtu5 z(xa5Y^Mvj_bt)!zyEAC(D#i#$JHC!0{X$ER{G}zgbxG{gu6ciS<9V~ClH%s6tx8Pp zf#cS5s;miGUTiZ*>u)BbtxMWcMo(>(_baw&RL9(J)|PH%_^p`0tjid6cC4oB_w%Ou zVLZFWuh{mxIUh#QpSoj7)iOahm%9R!=J2b`h^*Qcq+N%{${Nj!Q4NN zdCApNw?}*lWQs!{C zTuxu|d?-}{PGa1;l)~+lTjT4U$6%tKe%5*E8h5PuSzNB<7sFly(L$&OKBFo!OX-^C>)+RlCrHf8L7F3|Q8yM(ggmguLz#6RipgvdT$Qo> zD1AH?$vO93XF6dr@MdVDe%jgg1Z0BA4$z&b-T{$hdT-AlbJZB&i7_)b0V^7(B=!R!M z@w$VtEf_F=WX-&vV)WY<{2m?nhcIHwc+#cMBfC@JZ$%_QXAzIHd7Yt+Ll-)ect}AL zu?%;xnicE^Gvu7q?s(7iJ!AOK-0m>3gX;V4H|NmSKSgLl!z{iLSnk4&lzu@6w#{W3EafO*M{T*02%dvTqEr;)u>8il`qD$F zC2Hv-v39au-%`D29+Eac9IGL!YwH$%AA=`3nE3)lZpY*BK*N!=lM9o%=}D-r@5v%% z2Hd1I#c2J1%v%LLh#^9FU{!9?E;Rrb&a9*qQ|dv zJW~jI#;hwP1>qW*a$`K)LYY~{8!aA|<@`l@p_=E?^7&Z|+@Wze zv^dRZAG^sHmxy0#ZtZW!Q7lb2?!;;s*yQaD%E++Y zx&u^G-Mob87t&hBn@Cbhi{@zfOR^zVJKt1ol!3X2DfS~rm2M5^Q8I5r)I18d zfE0Rv37?0C;mDhlQpTMuLuI8Wx6VX<4Bl>IAz~s*@FI|Tl*;>9QnJAz z_RTlH_mBU}tCRn1_kFFudTPgGrnivG_3uCdI}sTgVsdb2p(i)kv%ApSlOM^C=O_9F zFt`i2{Mz625sUDq+w;HpyeGf;On&p6i=WDGPTKhOSMt|ib@6BO*Owj5v-!=ki_hdY z=Ux1V`OPsGZ|65JyZCZ`v*F@bz4&|i&G#Mrx%}pui+`EFZftzR%VmIJ^AamIQkd!n=d)|i}~v>JNRaP^92|GD8Ko! zi@%)Te8tfp&0l}S#qZ5ucf4JHD}ViM2fryJD7 zd-Izvetjl?-O2X)sr>b@Uw)Xs9?JP}e)Fg+^O^khbFQ4%^P8^io3G|KUvuy`@|(YM z^u77({Vx7){`#*S%_sTI&s_Y2{N{%P7$;x$+-h#k_4f7j3}UPe?lOqn(zCN~$Kc># zuQB-_^%l(j!M(TSdU|fpuOH0aW$rRNcIO5$97%u&vi0xn>l@4;?C;MX$sfx<3UIDx z7al|FkM1^XHWm&{=xp8x93-KAnswUY(dItyh?c0Zz z4G!+#*AITy{$^-B=r=p|AvUOO9oWf+50a08UAO1Ypcc+1$_DlJt62Jb`*K55eIlZv zDbV)!@9FCW2e%LX6dC$=7tHPXAB#Xy#*YCa1UMG6ONk(aTMb%tE6VOG>;SX-_E9iD z>M!if_4oJp?7Zm~%zGzw+YVzMc6izsz5GJ-_x6cm#8jnSFVyamm+i?%M?>ii7zpFQNLO;;zCDwg^;1 zMSbq2>_{Vx0M)#({|cXLukK|lKg&OV2RZ0b&ep#`FYdq9>=c-zcwACa2nJ4@9VP0S)^=le~9fHyh{-8g<{)z465BBt74zuSz z%&&iJfggsXAAgxFH_MufNbnQc1=x6;L z_p2P@7PlKiMH)|#@bKww$IWN`EOqU(yZiRw2`)au-xv8c$b=2;-=AN9ACUJkr!elY z210lI%>YIc0{qYU;&hXA!}~j-&GLUn>o2drfZ-wa3u<&u&2@s2GMI_x(FX)9l>8 z6J&$?cS42qVC?kn2Sl_8C@A6n9Z(FAGdLVt`voe+lj4EW+6$%7zkg@{uD;&g1G{%4 zHGtHun1pNp44QE5pF_jt*Zw?zWfFzwdipVVpd8nSs8@j9x7(m6|B|4;ko9~0F9)D? z^J{;RU;9f)ob{8l-JE-$qriihL*V{jfjGbZS5UctPv+PDYH%RGwl1iD4b;B;`be*V zsn7>iwm-l2?}YrX2T}cg>bss^0;N&=MC^ZeZ{N-N%>((hzq5S*J$U#_@_sCTF#o9V z^Y{BOcKaaD36P2W{{h9K75~t47tND>`D19+?%hM{|CVEQ?SGTfEY05yK$oKjpnPxY z>m7s!TKmWRI0{*e&YkoyK7ewc~$Z6_G2}{q~8h9+rVvnfWKei?^A`nMA*ytdj)?s z&o3z$BtM`ELvb&Y=CH<|Hs8Dr@3mpUhI_QUjeeAI?Gr4-1GE8l z^!NXFKRo# zjbF+xCyVDkm|OHF!tL&m+~_x{*qYwn9rEM@0|ld&k3K&7`552>ucMgbzxgLU4t$mG zUED!p?yrMOc?!4Zn$odq@E#%dAs)@WSr!u|DJ(t12w(hlgT(jO z`B`l3noH#`f=U)dRKo}-bUa=*k}>{)BWbYvGLy(uNm*a?W~z)ode>dYJeyoS)uHdE zH1BA3e{bqWZg>79yMpZ&<{K%x_a?5md-&MP#~>d!^D)Fno{wAkxSfyR;^VjZxPy=H z@bNo*+{wp2KKAo*7askN>3uGeb=%;sY^1wv&;{-88vKsSoxa8p*6O2Nv6)C$=pFou z;RJej5*Ln7B6b>ao?6|-YwjaR&fz%zpb4vO&#v7JkMi*dAE)@3@7YDh*3a?rEFV=q zF7xpmA6NN!k&l;2|0-jzv6A)InSMi}zmn&h@_b94ZxcDm$2)wy%g1|y`8A^-O7tT} zKj!08K0X&9d0+ohqVFU6d_SYl?_u;7fqnuOo;OVQ@=@U9Uc&BYY>bZ?K2G7W{uyJh z@bRjY^BSYC^RdiFmH8Tcw3$S+^Ut%{&#y6dm5)t6ULXtt7<&Ec%2WFICS+_%(g5g zj3N5`#}fS^QSVFifIROX*tMVIeCVnWTmtA6Aj649N^p5sH9zIK(-O+HTXG0A*0e9SY67U!?A#n+x?tjxzUA63H8_MvMp zGAV7mrtL*tL)XaZwU_bOI7}X|y(*lNgKO{dA?>~PKBH*r&^2M}3no8Aa&r%2n`lG+ z+EFG8Oy0srKOfSAzvz?L>?q%k8Bw8TqR}vL{yV37P?{y)7!v+Lo_WH-Wp`fjEou>uj(C*2@ zyVqxSFyIMO{~%l&Ie6gUlY=9A58Y^d8Z0k#rXj#tPW~3sYau-V=c{?R$l+>x242L$ z!TdAub`eG|V!n!#qCzjK8=4v%z`2V==#J0v9EJ#Ba5|GC!JYz7eE^vRc(Bl)8=47| z+6#~DF67GX5}{uu6pJ-U)_IhLb=bhYoL}3-ag$^(5_hGr zyRZ{LG!&;msA+8zWr6@_T##r8d@TaLhBH6d46r5!wbO4CU3vw)fa#aO9t6)&}iZR9Th_}!0ayI%o4IdbWdRb8SH@n7dJag&UTX5%BOorur2o`a0G#H{ki=jUY z3j~Sd>NBqHau)nq6j}d(BB8}7B4H#PPoGj6YoCiW);XbtE}WVT-enlvWia(IuZE;?n^2gT(wjQ*uD>Fw>(46C2GBSp`Jo1F4VE!5+n7?4p$G8fxmt!U#pO|5CLsU)9ia8&~f{9IFCXrLLcY4&T{ z6pR734`P(yum)oq{7{2a8cb^Nj0Wd4C~L5+K~;l>2DV|JNNVFf4Sub`2O7Mu!G{`r ztbww$p)74EOB=5$?pGSTtHC=Oysg2f8hoa~n;IO|;1LaO)8Gybw3!<(XzFzhUew?v z4PMsZ6%AgK;95b0JsRAifi3z=O&JY(HPHI5?UU5T7aDx7I4$~`)^|hmD06eOKL;&Z7OG*%Jrsly?KX_Y~HKE{Tdw5;IIZq zHR#ts8@Bm~rXJVehZ>A&a7u$o4Q4c$*Weiq&S~(h24xMFHE3wi*5I-R&uOrx!Bq`5 zHF!aT7d3cEgO@dUMT1v0cuj-XHTb0lZ)or<4c^q?Ee+n*;2jO#)!^3}yr;qY8hoI^ zhZ=mO!N(eWqQPexe6GP48hk0ib)!MA2K^fB(cl&hZqwin4fbhJ(BNJT?$_Xe21hk` zM1#jQ_@M@48l2K#QiB-{<~4XmgL4`@tHH7cFKY0z2Cr!Fss>dFHkA1dWqw21-B5Nn zeyNnNYhY7vXzEQ3-qPT04PMjWT@8M%!Fw9Kj|Fr9<`?WCdZ1`EuYb{dKlUd(?l*(@ z>p=oL6g<}6BK${8pWy3h4nONM-}75fH;WDYO!WBW zQqYj!Xk2dAFST-@;}N<<95Y%G)TF!)T{C;x*zf{?**71YqWtZ&|IKq!u7Kp{KN7nJv zp#`#m`^)H|5`M&R9>0)>-!RLWn-+_;3nL}@t+{{Vvp)@*c>{8sYt%kD=4s^$S65qPA3TuE?)6-!tWThiz$Zo<;(znu~UCSHCfD^=#6Tn7EH8*l_c)&oY~V1_!FZ+ zISbE%TWtuh)vlD1nQs&R2K&c~?IOFnw~V1al{3GMAHCyGx68Pr$n7sE9?leh7h)Yd zCv)buBmsYj@!$;=MM^Cv$(7}Z1lx1v5o>8r=gdBztK`q2AKR9@WDYHN6vM(VcQ#nU zZ>xT9+tQRy%lHAtyDxL9aK=sGf6*u0XRPeFVdva#5)mdznniW~o zC(0Sx=VsgYGpcVeTyMtcYRONn$`47KueN^7Rk-Y`sHx-az{jthB{W@M1;3|!K4`)M zxyk$S>LiO7fG(CwSSdu(->NVx7*gRc=zgm;ao#UMA7I_W;@Hlf_a1@D^Gwd%3Gu?j zs@G&O=BVcnx57Sx(RDO)5^Rw{OI^m=)+n}Gu;0qxYNM-IC|l@A{scH@&9_=v4TB$3 z)%%g|A4&9nOg41rN=3wy#A43m{TVzKwDEi6_>3qT7oWHI zL^nz*c4mWCqh4zT$&#KxCl@5dfk>0BLP`ts7$}oRQ8%sjFHGK9+H@o>b_>5MN2e&RGBJ{0btfMIdI$?GtnMqmF zXS*ANk8aJAZ=8_Q+F&a6nJ!l0_rF@1k$ITp)3f-#0-s(kNhN;5n9wY*!%_02Ln+G(}x@Y2j!>tC4t zB_#V-zGO#dzJ_2&XTDihXLOG`AK7%`h+BIR++O#&9h=E^9AXpEXb=D4T;wo><_?+# z_5KyO$!N6cg~P^9?CHn0bsTD*gVukDtRlZRz|p_*Ihq}xnVy}WIDPVKh%wCj%}R4N zXw;kZNC?OO0vx~Mb3E5&c&dy})!`Z~J2^&TDhC&XY8~e6a1rK4y;=ErFkB1ThiI!| zn{p_`9|~#E17s1kGYg9F?Vw;IJ#@ZAxxGJ+Z}uT&3R zJaVX2S`JoGGyKwzpTX`%$dZZnN6?M@WI9$@}VmlTgjm5%7i`fH5`Nw=1gJ%w4C?` z6US_1g5FR?%o4MN59ds_XUnh1H}c>X|GM7EuHE6+HBI5EfbY+lY|mNJW_#-EkJ_6j zYNcwY98A=75}2;-b7RJ;V!LSg8y=Wmv7?o6KxAjtMt(nM5(Zad%*E?-!>X$+!@6`) zbM)|<4*NPT&70Eu?YYrBJRouPz+aZIdTn$3o&0Eg;l07hXCt?9Ok^TsD|OoOIZtK_)OP^D00 z`0sx_x9c23-j2WluNnI{JIvUBy2H%Qjm_=;Ki>Io|Mh=AGyX3g`9JR}zW?XH;+F&B7yFYz609>A?9?@ z9&VHu$-w`M{@eVo`IQ3w?>}d};8OAMC6CVF$3*MRv1)aySix5cc|sQi!{sWR;P~(V zz7J*alMes!zi(Uu@MNM)ypXyUFPi%r!(S9k!AW-tf6u(V!<^G=Lj)my6i@z2@&caY zc-wO>e8-cof$|q<_}{d71^okYO7@j$l%D2={;O$TTQpE&b ztmGFA`QN>Ux#of8XEa;#LcRMqybzc-df!5oIq<~SM)lqJbV)A@&0(}#{~g7rB_IR* zvV0HnI{Gox?te^Pzck2t3ivzBYuh31S+^V~$puMM2W zldtz1ye*r2|5-okJ&boz<#Vy1!F4p0F$sEpPoyeeB5dGQa<=q5-hjm=F5&GDrLJiU zrxZx-+Qrn3*LhUhslS-Q*S`7f-(+i}cFM0)nnxth2&Bhvr0{pJtKic8DzN)317+ys fqxr!8fBf&8lE51~3}0FQ748oF$N&ESCxQP5OLw%U literal 109568 zcmeFad0-U9);4~sCzkcEMS5cU8Gge2@BI|8!rAP`7Ek+6e^7!|mH2&gEa zsHmu@pm+s|ie6MyRP>^vfT9-^6crWqJLgo*baj{+%=^8+-*^8I?KAb9I#1P8Yj;m( zdU_3A1vUT(!{g6C0ruc4{mWw;+AP9sN8RTgusiC_dV56AH|q_UG`S>cMsd-^;?dKR z#*Usoy=Yd_nDI%)v!^Fbo}N_LyMNNOqH*Ih7s8PQ5UFKHBJQf;%vs~-%tCx(t7;duRq6JHA!Sr%aY^x5 zbg(vRJ2mt{eAWKt;c#UZkDpqEfuxlSqOu;jA}*h^HS+@XEB+&G286@T`vHz639vFb zJoJ&P}xyA=M74VMRDU>=12_Nrwo@F#t=Wu5^RpMXEi+$>mD$he#KR(dl4s zggUTJse=>fi19f%fe!3W8Nms3#Q7YYK!?NU;KXu&TWsD$Qf7pCtMO~Nw+6jZwN4*} z6X?MCDQn>bI@~@7C#WB=bXup_CR>8H7M8?qpguCVkFY!3upkO~(RQPVtG3&UxN3V? z5m#;LqsCYs_O=@mqYZCeEH5U4UZNBK5V4UNE{G^fLKF|)diatC_PBJ2^7SuqvD>fC ztzVHVcz)tY(%2+pF1Lc(Hx$dHf5kXrGm2Z2p;So%R<($xMR5uFo*;ADpMfgE5)u+* z6c%d&Tze*y<70yb7>~0O z5xwWT3)=E`og$sXkT?0}ux6F)z9#ovK-YZ3!!0 ziq5LHW0*)yv_Ig@z#Lx>*37cQ9-KY6MBR`OZ7ahGTNA5}i^_d=+``f^ z4ffesqd~FJ?&yptg`=q(aN@XQ8VT%11MY*}{RIvqr5C};u`&%%DqOdTSezWflNE*{ z@H&L&%k1jticW~J6;V;Kk!^Mpx45|tca7d?Y(==k;=UMrZ#!%SPph~EI8DQF z`}5#{Wh8^_f+0wX^5$TW7kAinZ+mKV)kPEvwj!K;c5erC5e?T>MuKwMicpWeBoDJ< zz{s%MarUK)syM`UEII-aFS;0rD(Q$Z(U2YsQB@NnO7a;Y*AwZEOl@qW8J;NYkElk2 zj^JKrcndJ!i!;l<2d-p@qR^#y~_#SB#1+>4rA7q&v}ipn|n$Cu?6S@sApIPXx9*Ld}D0@bsYN zO!J^Iv>GeZv`b7Zfrc~>s9h^DA5WNWh=)I_P}BI#MuUSJ=v1w>u@K3vjWbI6VRhKJ zDAe2^liP_FKzL(pwG{pf3ioXnxC)f;NZb(&zj#{AsNUWPh2goHcF_1jpXU0|YydPS z&4Z3aTE~=nrcooq<{dztpss-goj0&a*e=665Hq4VWRMJ@{S~JIcx3*yly5J+fEyA{ zGCprC3B&DTF#6}B9GoM9FNg8GO6AFTZ=8)TO{nG}vRIx=RBja+H&mAUqs=V$`GDo( z{G)PZymx@V-0S@1%JyLUDQ*~*%M}lo0i=)Gi&rj`Kf<3s(wdJ8o$^Owdeps-Hi;0w1RZ>7P)Mulw!ZDt`V% zKVObFo-v3&iTL)?1Z`X{nd3qOI$08Z^8~Mri8n>^+G@OJ;r@9-yz6~DIUabiL%gZP zYn0}{W{QSJ_&>!@v&JXM_~{(4jgRiPd$axRE0T2o_~6{5`esz*>wdfUUc)zUXI9|j z4o&=G=950We557in_sxpD1VkeA5Xe^eu~V$!JmJlH6O3nh(Cw(Rr_dOS^QM*O;#RW z91?GCMV`e^yizL>f*n5KGUIo^K$@mnmb^N$~1sZrb#zn-N&J#s$b*@^O( z`SWkK=Hot0`OE$Jw^;KtW&R4z$M*U5HQjIbcJk}HRnqRGJ|yY>@n|pkJN)H8Y%RZo%zuRQ zYb?2em zU#iZ38Xd+FDoEnpgl*nu@I^_PfIQ#DrBO=pcx`EvQlS4f?O6(^Yi9YLL`UwQ(&y02 zSITMlM$3FcxZ(L?@@32(OAH|`ra;E*wZstO7y}ZpUu8Kq@AK%!IZFM)byC026##`? zM$rqDO}EV0SyABKhtMV1!Ta-3>YTyooNF_@FXF2=oNli0R>Kw-)g}_lQN8hKgxMQ* z>IjbJ5mdclFZw6)We0g*!X)1VwFLWi>Sa&3;STriN4F~QPb|=Pd+846AyoxI`gmE^ z5nSKuZiUOE8z1aayZ3-uOp{2n7~dT{q^DGfnrw~Yxuta6rDbW;$Unp{Q(chmo1m{) z!l}pfKEO8{4pO`}mYw8S(!^Ke6AlZpTRXGAq#XTnad=;$5bAjxDhD>8^j~--&npJV zi{sS`@5V|Gqc<+m6PDf@?>9E$Ern4^i_7~en&PTaFvA^Q`VPk6%e(mEeGUCZhtOb! zVO0mys6^c{x!KFwyzL@2QZY)S0XRL z-a8YTPx*8MT-*SAK+b5oPBWl7mZ#1~{?UrI7nfkz{4bD%H^ohTyMVkYrj1D62itM} zcPA|+Z=nxa>yTCSHm1|;hPOAqDp354FT*JP8VmKg51Q`(_}vC~N{qeuv@bUeZ{~4) z+uV*?@vW+eXjMxDPl2-Qa2XUGp;{y4=tp5VudWgJexN5j5pNWG(EC0cJrPJx_R-Vq z#ksz;JAx;LPgrlwPqRe&@op0*2re^sIL;894tCy6@ohYCN8-Ej-i~~!jENjh(0i^8 zQ8LaIw^7;x%fa{1BWzxre$lgV4TxA{9(f}pymsDJBAS1OZXD;py!ZYBuO9My^88R0 zVqf5bapC(EwvwYXB=4iai*!_3hf-LfwLZMM2%wX^p>>)(U1ukP)zbV}k?bz;Zjip5Ka3jK;JH-KL9hSqEHbiKiNnqEn~s@{s@-#wsC@`l!F z@^qcSc$!X0ysFM%{n{s>Uh;<4Yw~ox!FZZpNxZ7wiv2nupic6J)@kx|oxymTPD!k^ zPTWod%v17))@kx|oxymTPD#9~P8|QQ0kY=!^h)Ai(R(tG-YEg~ zk~g$olc(zq#?$ml;#KuloUbJTb&@xUIwi5vI`Jwi!1^a|Xq_fc*BOkb>6FAu>%1?ZPV$DpX*wmb(mG!bsFS>*b(%a~XE2_oQxYq!^NoNy$s1ay$>)(U1uUIwi5vI{y<;CwW8bGoj?~&R{%ErzBQd=Z^t(k~g$Ylc(zp z#?y34Vx@Kd8BiyAL+dnoy3SxcO{XMQTBjibt#|T<)@kx|oxymTPD!k^PJFj6z`jJ@ z&^k??t}_@<({Sar^(ZG2IFZuC9%>v^8@N6Z)lw+PuCfYr|Fc$O6%+tP$zjq>oj?~&R{%ErzBQd zXV-u_$s1ay$U4&^k??t}_@<(oj?~&R{%ErzBQd=j{P?k~g$Ylc(zp#?y34Vx@Ji4XBg6p>>)(U1uL$}4`>1_$d)7m15S8Yp0oi7K}N#4*pO`fhZ7*EqFiIvuQD4LhPyohDD$8H}gtl*CHwJQGkSc|+?odAiPEJWZ!0R$Axx0dkP)zbV}k?b>a@NCD1kDF9G$EH?&@pr|S*I)AUN>RrOX}_rC|!N#4*pO`fhZ7*EqF ziIvv*XF#3g4XxAU={ke)G@X)IX`KQ;U3KMWkH{NZr^(ZG2IFZuC9%>v!vpFhZ)lw+ zPuCfYr|Fc$O6zn4)JfjZI!&IgGZ;_PDT$TV=?SQlyrFfPJY8ono~Bb0E3LCyK%L|b zt<&V`I)m{vosw8-oizgLByVV)CQsKHjHl_8#7gU|6;LO6L+dnoy3SxcO{XMQT4!=V zo#YLz)8y$ogYh(-l2~b-X#sVTH?&TZr|S&H({xH=rFCWm)JfjZI!&IgGZ;_PDT!Cr z+0XZ-2BUa1ezbOeV^mb}^O5*r6$zPD@xEYkz_yS#bX!cG-j-lItu2yx)wWdBIWwS6@`l!F@^qcSc$!X0 zthCNq0dkP)zbV_2SbkP)zbV_2Sb*>7ilf0pInmk=+FrKDU60fQgPXQkO%2b8#%&ZNlm%O3%nmk=^FrKDY z60fSa;(q^NK%L|bt<&V`I)m{vosw8-olghUN#4*pO`fhZ7*EqFiIvv*TtJ=V4XxAU z={ke)G@X)IX`TB6>LhPyohDD$8H}gtl*CHw{8vDoZ)lw+PuCfYr|Fc$O6xoo zP$zjq>oj?~&R{%ErzBogC!Uw^uJOw6a-I#Sm%O3%nmk=^FrKDY690RT&iP;Q&@&;b;d`G3KSKb8;L~UDX&a?Y@N@Ux z`)F^G&y9$!5QFjjJc(d_d{znMX=OIXG6!Or{M;3z>ij{NM%NIk<~^#$C>=`aPh^#N zUm%|mt?TmDxfILprImdXl1Jg5=Dkeh1s~wsq(3Dqo!@#E-;&V+oV*+Iur4xy;P3oLP={Gf<=@t5>9zM(Cl8n8MVlT?{FiPVS zP^n9~eb@(ZjnJn!N;9V0ffUTJJbr#Mwns?hN`+0571nY-D zYxq@KP|rv*ttT8KdM-OY!%MF7R#?GdjFD5V0nIFev59f%p2(<;{CraHv&@gGIyf#W z5}$(d)m7F#)qxL8u+(uUHbSd|ptX)Ym8-*pb>Lp$uLBpV7jNkN>nd0uRjt5_1MSaK zYE1^?2J_R}&(pNv+AqbYA^XR%oF=_d`YOJ7U(_@%7XbL&C0`rb+=SS-JH0`{`quR? zS;(8@-%o`YrEgLCpECV6r4P&W`;_L*$te8*)7bC0mNRH<3G$PY64jHE@Cj6Jvn2gN zNGCD!Ln`EmEby3?{zyxIjA?%ME^m|nMufyqC;;!VNa3fHR$KdLl*W4+@_$b0eKP$8 zrC*TgQX^K_wZb zx8aNTUD=Vy3sr6)?Yv1`MNc3eZ!}lo1sl6XxX$~VeblBz+lz-$bM(DK1cajzRSqbiZ#Z^;^&p|);U&Xjq_*GYUZr*l%v*HRcpQ6Q6%Bv#(doseUFsUY?oLH0E?aQ$A51FO-WEbB3QuJ1#S4YRqCkGu9m| zv$0pX<7WApxC6_q*_0*kCzjxx!3P=n&WjmyV8JoIp6^a2exzN`_aKtW?CHz&4Ms1@ zG)nv73vS3b3Vco==m|^ogyT5@9|*V+pPcTtdynyCb%*0Q0ejvZW;rJWn=`@ucxerI zpX1Zt=D0kE)Fy%IGA~7n!WGDuTm-F`Lm#ss?UKtVO(j0Q*+$z|8l~T&w3-?X$U$?I zpO?>L;YAmQrc;hOk!NV>##%ZP({$dYlLPk>IXn@G_?Ww@?g)3}Mo$zzEZ=vf5Q)8n z)5smcy`%&*q2gG8f1cnYKuJJTD$74Znn`DK3g;U=d`cdr)fGcaN~bM;*3{n>k97Hbf=NzQ=zJT|8*P{^2UOg2Z zw295|W%$<3Ov=EbxJ`l1!vz@NJ;61GJkJMPA2{;>?|c30BT250FR0j4RIE{oPtl^0 z^{o$r*7b3ktGBF=Q1s_tla%tlWvxMRIvNp=jfaZ0pFV8G5!$7U%Y<{Hg5l4 z`^RD125W5_ifwxs8{^x(9?{Z|YU!Pr)+P%mvQy5U-28_zYK?f4ix8 z-e1+43Us}}u`0h4mZiUs)6OjGet%g;=>wR?apL`XE2gokZTR9_dfUlGOOMAoP@U)0 zY@lnZ|J(c@upWH#&A$$D&SHm@ZblKaZ;%^}+OqsE?|H6Y1Ej@_wra&6PoXMdUAwoL>AZ2+mzq`b{d#cdx^xk<lVDmZPwQhU7Ik4=X9ngWg^5~|)cjYO^jrQL>vtKh>V8uUB#YSl%M*GIUlPsV! z6`;<9T`2uMYgGGhh_bGs;Qg}P-jwDmZlkm>rhRqv!?b@d4>VtXRFzfs8vSRDhxerP zJ7d0ilu?T9y(D!F!TPnONzl49`F&A+Yr^+{CCA*y$#LaAF5gA1u#fxK4r#)NOjI|JW$^Xn(65oFQh9iupN6lNo0aJ*qsW)xyHS}z8CO{&!PXA0GRxdAL5=v< zhxL8=hsp7=b{+o+)rb%6Ccm1|k5iiOVvW)#DE*t9QM)LuE()L2(oa$P4>c?0I&4@$ zOI_c^@}m^1-_Y$uhq>j6|CGqa}0lN%72Otb)LHNzQ-uVUwR7js*N9iHOhZttVU{# z((3r)yZEX>F5kKe^qyHQjbB>@2b(8#FyD(~p&;LN>_b2X0X8CweWw}o4 zjf)U}vClt$2V&ZHxi*Nocq!!Dg|5{y2m3O8S7!LLnc7;)!+M5k*SPdvz)+0PF1QI= zFK(qy?c!FpH&8zhqw4X}h;CelQyQY}7>s>2LhJWyu&;`#OuWXYIah*dt*;1L+ky85*7;Brm}i z><6RVXhxHHnzU!Gl+P)(_4@hn2DXnSCLv5opZM3&sloD`3@Ebz71crIZCkN9OZrtGDm~;6YUdY zH4U^+gkjmfojF|AZnxG>uww07c$6!yko^AL^99f!A^7*v;f5BOS((kVnm27jo^Y6o zHe)M5@&bSj_<9IuL300D#gnJwuO#EYQQrYfibmhS{&46Q{takI?lQ1jA?6)J47gm9 z^QRVJKk`4ETjJWf&qhVnLinq|(+xT>iGTBidYGslhU0Go$i_hGe|)C|{)tCb9ANAR zI`8sjDIVne|ET`UV642BI=W^lJrq)C#=jS|DmM+ zB-`O=z5R{t(3b7bNt90D^m?|1?D-~l1paK*+jY~kqv5u?AGMB#hFFdR=Cy9yJszrL z&Bbz7r;hL@LT*-_CW$b%J=q64kbU1#r->a}W{&XIfLnS%`#P`!Z4D4@p?y3&(4Dw- zs*Uj0hxc1Oj-S)m*e0$)BbeA~lSqSEttegIWRu8*rZC>H!`UXW-I~ESb+6BghDT9D zD>zqgOph;)7P^J4Noxzev&b*lKb7qhm}`fabZW~<7g>=;^?r`I^_*nlu{w9b|BR(0?wd z(IlpQQ$Nb>Kqwr47HqL_!Svk6vYX;8s>hKFyoBl^qCBGqp?ctDbXRvm$&kV5XN5AE zSKPcj2V0F}MfLSV6pg4kqcw;eh*~ka(6T%y9#I=c0#PEOc8r=~WDP{QjCx^S9YlGI z4mK^%sgJ0DQ6i!=M4cI(YgV4q2vIji4z1V)pveM1pVVl)VA7=h?|M(2<>2GKM|$FYV9h>94!ggU1nn#pJjqUnfc zG3tVm#fWZTvWG7BG4o(Go<97_~&5%MmSM6pt-hiRflV zT`=zsL@OALMYIOdN=7MI%6de%GpdDcpuWD7(PnJlMnr2E{e-ITMYN95I8^okqPrL^ z$1)#8bT^|Xu#`s-ZDv%0r96)4URaFtY!sZp8JPlGP`3-()jE-V)@TBI;C`I@C71`$ z1fFMJ2JZK#FmFGjI&Oh8wJ986^g$IuE#VbL>4}6|!|RN`_6Rr+9pFtyYnYb@Z!!9& zBSm(CcNrb$$R6+kqc;&X#X0vOqj}8h3;$*`CV}z>;xEI}S{a1(C5T~gl2HNIJ`zqb zdax=+h)HmUQEEK#Cd1c^S~I#H&Vj(~{*Q(N_Tn74!02g4a|mG#zj5sg6{?CKJ!uL{ z;YW_VA3rm)7nZ{>9C-ojYl??mQ9OR&q$&IW4H-?v50*5A zpP(_LA7TiBXv)YLN602xGJ2v8p$O52QEhH*w8&*t$Rq6#9T_F?*d~ZhjCL|A5ZxH< z;1+cjy%^azubb%0XfluA05Oo!M(m~C;zluq(Q4++5knbWW?rcn!Dt}YzEF%|RLG^= zA|`O3eZYNohnT{7&+}|ut|bDfyZc{Xm*-J+OLUC!GqZeTPKdB?@QVlJan%sYXo zl#!E1bBCD6XbjHQ6XJ2Ph*4+coeJu`I$GAU#!cz9)&u>1-=w|Hsy%0qRSI67_rpEh>ws2p!Fh1f^y7T&LXMDnWo4A+S zD|7(+Wt@?3e9n1aa4&T?zF>47OBrWeV|>YIKKADfqrdSLqorKR0OJg!iI_LX7;Kzn z^bnRZ&lqByW3&%TnP*&Qe9P!KqB+KJ<2yz%taGGso>4O{bBb}1(NNyAij7O$hD+Rr z*~VqgdzRZiN1;uO@Q<S#Cr!x`%t|b|aS29lV3xX}B0&z*2S@ ztBnLkmpO8cQH4=#H5##XMs-G=xxR;t+KdKrpY1m487K|vv(7z6D(5xE5AZdG7Zj@B zme2vCA?F=oWrvN%j1F*p?;1@Rea`58qa~NQ8hdFkd~CGgytfOel+P7<7?qthP8+$L zw*fx_-xR(!+B2HfiO!VgaCE6(B5P6Pw?+Y@r?`~wj6z0ZkayO&V02~lZD-I%2ctE(C!aOGH+nKUT}Zr(MlVLQIPWK%KU8~N=KXB+X0(g*E*X6o z?cn+@8GRYu$o2hV^kcLspUV6V=NIB;mM(^iSDK%|F87<^e>e#Mhw3us1vJGRD#eJ4y z8_sAs*N|!(!Ds;2(7-m5(Sm#`Gu<|dQ7V_2VH?e;3YVE-8^h=T=VjT(GOEgDHnojo z^aYP!OWSxxd-AEwmbM9uMl-LKZ6c%LTxKiVBt|i;Gut*jo03Agq&ZtW!7QqCL0yz3SEo_W)3%Q!EeYnX1knUR}YG}E@6 z(Wl&^V%sf@F7enF+g30tS9!NGdW>tIZClA`3zs?Db{nHZJnpk?WsLUoxX-cO&gf3& z&9U9Vs_)=6R%*MG^A>X{ixhenKmLhVoVHaQ8PDyz!?u=DPv)&xXe8&|qtGpkwknj# zkq;}>it}Do=q^TYDD*N%o+N~ONIdI2r}8Fq-UZt_&I8u@gF-nx?mybrbKYA#Uw*RP z#pnetSk+a}Ii&9g^@N%T8MhJ|hByw^A{EbJcU zeZ{=EuzL-<^S0Tk&uSnVv}j}c@n`{UW0JxJ{1#2=XJU>=$}#KNe$w>|ieY;vtKFV*8f$^9ucPrDgRJ)9Zpdi=nMx-p&$ZYhH^j%JpxUzq z{n0*GV_0}Sh|BGc_K%$I=;>B#LU`XrUptORhrxv0Onl?-=eSnkcJLbKqV3Syb{y?} zt;zPPPxg~;)W$wx-(&g>RPIa1i=WYx!geM4?XZ~bD?sTTabzcCn(>=re??Db6Y{6j zCA%V?>^B|%^q1+tKCwe?d$R4Z_w3+IB}zM=sf8oZinZ zvUB`F^!Uo5+U+pJ>+qL+KGBVJwF@T={W*R++lTWgGBY6&bKRVqZuYkQM?v#pN3uI+ z(4v>yki84jcI6)>64A34$T~PZj_m>VyoeS@lSgD8*G2vBQ}|T3nwXoPOmmytuF4z~ zO@7&vb8sB(Fq7LNd&5@u9IhwXSA(LdCuwfjVSjECvVMbec59Cf%chuVY#Ya>VvKC{ zc^>hnI~HSn9L`DKh{(}-fk&ql$IGhi!}>|s(x;-x{$L}!h0~YO`ub!O)-q_()>N|3 zqqW0R-5Q|{)Y3*6^M;G;{#>%Z0olduS;=;L6Y@OWk?gc=DyLU_YEdh+zJ7SBTazH= zH$m2WK)HJxw?MnhoRg}zPuFjOF*Y~l-kseBt?c=ayR^sj&uD$M7!F#kiOzhVN0qQH zwN?0_MI%~M?mF(tTy5nR^XQLZyO8bcY%j7s&Gt?n-+_WgA)MEpy$hw~NZrO|o=+st zSdJVT+m+S!LVGr+KiWCDL(oF@NVID+$D?f?HwEomb&Aj~#ht;|iX%MRPq3YUbHL}9 z%4xp&JTI}f=2}~%PT8U!tw@h-k(yDgFj)C=mhQrx%~yUS-e)>-t6##E?(^sH?lHX0 zEMGsX8BSa~q~eb4iyVY$JHF3BbN+NH*(+NiHPg8Jdhb1sKfv*=s*t~o_mko{npf-C zcF3HI{nitE!`H@D)hJ!gb~D@eGRX6J&O(g*Gv#KqzcyKk_DCMBsVb4Q&m{8tiemdn zw>vR6JcaDg9%L7^U5oa;WQzZScb*d+iPbiWEbWSR7}07YTDeckk$o9=4E(zX$8YD} zyTtnCJXy}8a6k8e@-eF5Y_^^G+h`l}g@fy~|&VoVS;`PcC(!9{!HgA8`6GTX!D$r%KCxb%=X! zD0`lbpt^dqe>(fSv;Q9Uf59c>aXOo0uHl##9J7G^_1K@u{yOX*$^N_9AHlu7iv2&Z zerb(=5x88itr>H)zP( zdg5&HMe1iv{cL_0N6Hzl&r*Fh4&fa`?oqNg0?&D0U00SrB#PG547MxS${OV=zA|3= zS8%<7bA5Hivwl+O^OSSX|C?vE_$3A>t>kYX-$hI`%c_Po1YdXAwkrA#p(8`r1 zuivI||I1xb-*bL#@-{}w^)CBF?f`N((ED=*mvH5(mn;3f^rKkLg|v^*?&3ARyv?VW zrk&r{E`09qQCc)fS_(&(61lD^17!+{zeZ%uYvx_QMlqQfb_ zsz>U7?N5(Q{uU$0dw)QC+;z$4SMzxTe2eq>@opHSJkNiQj!JSdd}F z+F_L=0`0!cShO_^H@-WrUsIhH6jR2#WfyIHr)uZBN9vnx|BcU0YuOIteojfIw*Sdz zy*TcJagsUe;(u(udbwgTT^bEx-XFEK@y)i6%5PDwX zS>1!v+s&SYI;oV~zx|L3WBOX|5bWENZH8d(l~)?U_HF%+#_TJfHhr~@Q_GUnn#|+R&u@a zE>fPa_ln#DQ5xtn=iU*Nud zjjx9v;oK*Ar6=>fXD;s;Pj@tXavZKrI}~yW(Y#m7GlCw|iPuhyb~mcdym&W?E5dan zs->P(qodlA)%`|n%l-~zpGzluG?r{}f2(*4EE)x0TKaX5jIpk}+c18TV-?za z>8z^SRo%S`Td@TFgBBIAZOt)q7c%d&@S2(Dt?yjC&RUwfFO%;rY^Y7`l94@f={ry!*c$bK9-G?l>2THE2U5}BwmR_S?W{+Ij z&14A?u5Eq|mz)n{TI(yYwuo4IIkJ3RgI?qA#*brsaXadhQ8k~&^pjfuNX_#4O|A=B zuZ+3OJG{JRyEk`FtZ&pJqW9o<4PkrMhJKJexx4X;n0~kLWwf%cel=dh^fiTt{hlT~ zf8;&UzSh*AD|uWx^A5a$`?fi!=W)7O*LRRBS<6#C#B@pWakTx~eU7#o-|r{$-Y#1` zhOc?X@Lsn+_bZH%JHN(NbMMyfUtue{r%{a5yi?;|S-uf>79&5-y+HN0`w8uHd33EM z+x{f)33J+9M!z#b#MxnaiXAPhRW-Iv6>)du352U`{$B9 z(2DFcK(?@m+X>s)URT4TQxz?8);-0rILNVBiT3EzMM?yjorxFyO6!N z0oiKoxxq>4XV`O+%jxML&#@@7&$F$UL+OR>*w2x>IsG=QG81|H~?dv7ahE%eyG_sRWiBHv*#_iElkL|5&f5;$D zIHyl?x`fl$vduvK3Ym2%~}E6?tQX}Q~X$n5WD-QIn$KYf3z z5tQaNu9tHuZ3HT@wILgW)>o!n%T3#kMbC{6+8>_fyRaW}CZk7Q1%1kU$kA-Nl9|u8 zR(28QK0s+TBEO5dSn{k`vIkm`?Vn4wuR-=1Ae&d8>?5gUqteL!+Li1p-N-(Vwoej$ zzHnLO@%9UGWery7Z2Rl+J^RrLO-dhW7%*9(;&l8xArvcgy4y&@26Gj<)D8dQ0ZSPz zuC}JN9Y0*WnbCSkXtFFW4302b4lO#|9v1<>N))-e2O*;#;J@XO5A;}#C`O_CT_cT1 z@F=v$g@4P2S_(ZFJJN`P6op=lbwLy~R_NNUBaLWisnF!EF8rKidxgI5xIQihIx7^G zFCYebGa}U+<6>c^%Inc!q~U~{WM1U84P4-aB`R+$=DA>{$}7e^7yLuz*}WqTH*8XQ z)xG#Q8`#EZJzQ>oe_TB5_oE$g32;%N9zAx&RfVkj)D!C=qsLIA8cbEFLyvhzby&t| zb+rwxpNXph-!NLveO&`$lDP*F38(=X5H;}oFDB)wAPRQ8CMIEQkVzpoaJ$K zV3b0&+N?C{z$!+op`G_oTwOTIXgxGH-i}Lx{rnl#_4s7JkK^jY4*awU@xKudgCEj}Yx&BXaX)uqz{H;o90Baag`+kpW09zQ9 z!vh6){RYqY^THfn*stX^g!2le*0)1Lh@}T}0F@HsXb9C9$x<3YSA{6D5sdRk#yc9p z3@tJpZuaL@ccjBAEiVJM`}2|<8L&&sYYc}Jq8b{*DSu=GM`JjzMP@=IeSrbWfg&^U zv&TNwnT|}zQhC(&CeT%jYy#u_ku4ofV1^c%1uL}3EPRK;S7weQ3wCLdP2m%NUV)=2 zoYC@{L6r<2ue+leBr%db*c@8=^ZGiPLkC97c#K*=zCzTZ7SPEbIoQzx`Y@8Ew1i0t zQDjS4=8qidXbG#d$X2jJi);nu{>TZAR&Yd%Yz?RVdD9%N;k=fY4dIP_Et=)X1{Wi# zr46L|^GY3UAWO?@3tbf=oo!*bKXQqqElkoP+rc6&vK_4RN8aja2V1nr9C*f`x5|+N z`?b7Wc;BCQmm?QWXnF0yn@Meu^QAo$GNM_2ucJNmQF%09I>2~;-gZX^n4#t6!Oi}> zosK+MrR8;m?f$%{9UWnpmX{BQ6r!HUhg1H@=N}~1>j;N`??Uk z3Q;MAQ0R|5;Pbl|Cg0m+a(IR`nX@6dXvlo2FNUpzY;CqFrlxyHef26~C z4d4e8xJ9J8H&j!IB6~v%M%2D4&fbuxMfQP#{=8bwJ}^ql>kG5}dCAVcut>}62OAWk z8v4O*e`F(PKiIED_J{ZVc}<=D;e?hq0Dfe&KGM-)W%vNNtWdoU+0FqF){I)TKJsjO zxP2hRC=`*=-Z>Bw7%jsV{ba-Edo-uWWpJP%%XTePQ|QxzpAe-m`cm9lBR_mF_b&x<`^MNnLhjBff!ytpv zV%U{y$L}8OQF&u?`(fS@l^5=OGkh2{XhpnoL47t18Y$GA5#?ZBIE~*hXv}$wVO(88 zT@|XIL1=?Q2W^C2WF*hi!{8{R<={veX$*reTT_|TOB5;py&6tEVIpd~iKw+EqSn&4 zoao=H;nZ6C9u)n1HJsWv0>0xKXlCI%4RDFkmr+q+*I`~3e$pR%DXKQ2kuZtTGH4M- z-w;^GNb*L*78Oan(Qr)TjR991Dn;_fLM|i88wXt($@<2@B88~F@vukZO@PxHZz6na zL6;PdYM%&MZB5maU=kx)`(#+hNY*|Dwx~$rO@U(??|N{xGgVK8Tt<>N4LVy;A4akb z(_n={)Q0J>pOLJ+2+nD|8E{GC&48>NQ}s-k#7OdrVI3n`dkJh&k)*l=j%mDE;L0^s z&xTw^l6M1iwxB+Yr0N@Bg+iqIM*RGSS;`zZr}1urpDc(UiH|dcwA=*Q?aemKg&B-w z8%p6GMpDZ>*r6hcHxEu|y!lWKzennuFAJa(BgtC`eHh957QzaJNcAGvukjYcIgPgj zE@`|akdM&qr8q(W2YIvC7I>Rb;uGm`b)1*=pf z>AVXLX}k@9U-`j*l6N;WW+ZtVA)ArZxe;b4L^?OY4vn`N-q(2dzzL0a4^-=H>bw{F zFp~A%2lE-p`nJFd6-hd`zi&_asbXB>Uwln4=;|=Topt<2?;$G~RBg z(!tGqI~1b&_Q45_hu^L0W$OGVRAVH0|AamY5$`2f!ARD(AD+>82VlR(I{=q7 z-pi1MmxMl@2VpoPsk0m=F_QI_!xn|8zE|Lw#(NdQdz(660~aI7dkwlOM7%?=h>_I! zIy|QF-he$C?+rMw@%{zgKBmsYFp!bd`6i68ph=8m?Qg;sg{bzo;20xW``ZxS*HnE3 zT#O{|2y|75c<;a>Mw0g~Jf`v9gFPDWJvguNj)J$Jsrr2w$VjUG07fyA^?d*v6r%b* zgd-a782qmBK7z>pRHo#81bGS(?_-$5Nb3AIY-c3vI}W=v-f=ji@jihh`ZBwkt)D_K zMw0g#3}z(j`wUhoMD?A3LmKaM_)+71!4K8;>HGq+2TIk%I|(xwNu8(Q9!9dh)9|1L zJz+t67)dRs;k-gr=9l0dWVYce7|2MLc?L#U&_oNGVL>-p&@x7{zB8~-A*%0dxX4Jh z;Tx!TE!8gT`wwI=lDz-GIE9FJ7B(}IymRon#`_kIYP@eDcCguJ-$5ZG$vY1-8Oi!C zz&sU6JJAK$t?|Bxvl{OQs6NEhc@a_=Nu3vAm_nrUM_9{9*7p+}(0D(?VU71Qgbg)y zUIP4DH2#ykUtlsLsqVJlU!>Tp@uEbz#)}e{HD0u6F@kE4ycjW>k<=M0rZSTC#fohTQGIdZ zxW;pcsF9{lr$}HVc}~$&A>z5jGDfmKw|G+H#fyC!FJ4^Kcpi~4%G8-4hA@&ktB7%o zWPMe{W`(G}L~)dntgosNqXGX(UNsTRNb;(QLWPJ|UCd)7c{Rkt8n33lWYRfy`VD-LVCB=L*Jt0#=Hrs{g48Y5XsJ<&%YDy6FOr2?BAS0=>ff&U|*3dv~P>5>qiX$4Yq4-_nH4>5IsZ7ah zB=Qs@Ub>jWNGi(^+ZoCF8jHs*XpiF2>S!#^D@3Ja3hx9{brUg=kt`)kjIf}I7BqvA zRF)-nC`4s86(<-;Wz9s~M5;lS*<2)AP+bf1T2NC9%3&nyYc6IfMD?{0I~mFPT8fV} zUMq1*Waa7~=6|vJz z)%`>vBgyM8W-^kh2Z(tpl2i{6yEWcGaaQ9E64i@L)z^v?MpEasVwggtbFf&;NY*z* z9ME_}#bJ#%RD{hibzUcO7)jnRF`1FnIb6(Ak)(6D*s1YGh*KJGq;StPb&e9X7)hO@ z!~lgz=V(#JNY*z-?A3Tr)gXD}#b`!S=L9j8k*sfm*rpKGH&Gnd zc#}j_iK%n4NMIy+lSNO3h&M$nVgi%M zBdNMbOtGL63!2ABDk~DZ6{0d{h_j5OvYDd#Y_mnhqP_*CTTlxN%C(@*7S!8<23yc* z3z}jJ^A`6;hL5nSDr3L-Nf;L;wb_;skf}XRW z{TB4P1-)xQ|F)o07Ie;nezKrHEhzFveN@~QRKtRjEhxi+T3S$h3+iG)eJp5*1&y(w z>n&)O1fEBe_o$i&F~GK2aiS%`x|$S)v;wx%bQ#{VeD@3mRuZ z(=6x)3tDJFD=cWW1#PsTtroPC5q|z9e~fdsIHFJ;_hjb{;*3HcRGHztQQ#x7@ZWkE zlW?PRjwn>9YRUrVO=6frG4VG$=Zdom?TasSmWq_Ql9%N9hjX4-q0ouMjn4Vvs6sKG z`<)BKS%q$j-{D*+l1e4-Le(dni$u0UpQb(QTrB!1G&T7}=MphVp_VD-&ZT0JLTOe1 zeB@j%4k(hw4vtZ4#ptdfQdv z+ANkSbXd%F-6QrZRKu~@b+0(4(6-DKuKUD!g$(0P*A@}EMAp|PVZG~qk)%+KgnL{M zh-`(1R@vs-D*7n2y2_)jZDNu_8>>F$+AdZoG%#VW>p`(wq05Q;T@Q)F3KhCvbL|kZ zOJ#k}d){(AEK(F2l=!~u5mBg6LE>@Oqhgps4^}cf z6`Jh61h#x_65? zD42XjIMi?!98bN}2aWolfrO z#TJFy#rAZ+AoeKqyraK+pE#mWeCwg^7sVNcrgj+Z{-=Q3WGT+LN$!_KHHCV`7rFO~ zEMH#L8{7xP7KO&d&v(Bp4lC5zv&?-^oK>i_%5Cm)kyj?m+*fst`xP-tp<`9=cE2hX zDKycu#r>MtqEOu`54jJCEw@YF7w*U1uZukjZSp+henVVR=zx2l`(L8)4jFkq{-FD? zSf$YXs&Ba86uT5!>UqcgmN=x)#Hz>KZ;LYuJ>>q(eMHQ=Q3cX#B8h>1@Q0U=m8S$TpBMNP( z(LDZBaZ#bC3fjhhCSv~~OL+=;Cq#-uV`_Aa|6JrK^lj&^@n47m3Vl_(cl=2)RUxC( zp!ic_vqEcX4v#-A_A7L{a9sSC;*>(OYF;1zm55v`>#N(TIR1=CQfODro8rF~*$VCG zyeR$~(MO>hYu^(8AF)iKP5F1kpB3c_6;xjre@+}%s7=A<_-{q6b+U#pt8b0}PP9-c zr}HE6=fz-!B5OYxe?iPp=)uB0@!yMm3ca8IQv46%j6w^mzZ!p0#IBcRE-rX8{zs9b zP*#nj@jr>K3N7#a@A#j^D1`>p{v!U8*r3pY{IBDG5&INMt$sfKS8-IKDg{5s|0WXd zk~JKt{zv>}k)cr4&f%Wl#W;n&s1@t^L(EfXPrk?Vr&z1d=;}4_*S>ZtG`ygmM;PS_ z#nkY64CA;jvU3xU&A6ygX6;s>6e`rY=1Pytn59tD!qpzPu|c6fYi#hu8~YSm)9F5s$2h9c;93uQ z5{yd`3jY6D1q1OaMZn+o z?;iNO2mbDX|BfDL1yA93?6%{tifo4*Jlf;Y0T29M8h+z!JN|~qcKi_ccIbjfS3G*) z(G!nr@aT<4KRgEDF%XYy@fd=~P&|g=F&vK(c#Onj6dt4T7=y=HJjUTM9*+rlOvGan z9+UByg2(lEOv7V39z}S}z@r$C5@dFO^poOn?hD3hZp8)hQ_2D3 zZZ7$57}?`ArYHCK#<(9n=M7=RWdDrmm0kZZqKx|>+V(K9Y?y0Qx6KlR+h^IHgpD0q z+Nv9ijCQtp?5SsbUk9H~BHqir-bS{>*3d}nag*(WD9Sj1%In~_y_*`;W3OXr%WPy< z+CGP;oa<~I(Qk)t#<`Sx(9;6H6aNv^&f01F8e^Im7trE!e>mm>j7%=K{lXq0O6&d$ zW6st8z&4t{;k6ewIz}27M0)E3MijUDYy95zceYrJ{|PO9A1;B@37npZWxAjidup)< zfB6L?Q#hT$=?qS{;B*U4=WsfQ(}kQaJWkK!^fFG%Z}OFKx{Up6IlY$Cn>oFi)7v<`jng|hy_3_sIlY_H`#8Oi)8(8l z=k#GtALjH?P9Np;aZVrS^eIlC;`CWgpXKyLPG98oWlmq_bQq4pPqr{YJs->ISWYK! zI)T%*I9-d=DV$E>bOxt0INgHNEjXRS=^RcMa=MVyJvrTz(*rm?fYZY`J&e<3f}ZDG zCg^$2WrCj7TqfvQ&1Hg~|4b{Tp;5-)jl7BHMwy`JJeLW2&U2ZdZ%~#A`VL~5pl3ms z33?WEnV{!CmkIiIU>Sdxahss;Z^Q7q6qCSm>U(3J71sZc$mg^CfnI)BjG69V`3ntkBgybPqF6=d(N`w zycmi8i((wwOJXwGS_W~Kv0Y&hx6B~!DuW`|8Wg#ibGLBrHqPC{o_*}u&z^FQKg98e z4J!GFF&*tuqXg|SV-8yUH3zhpndP!kI>AOY=5RVsrtRd_JC zK{fVqP>ll|)K|keaui37%Gd_N-$&+VhS_&|Y*rf%cMPH`>dNy=cMtPqbmqgJ>h2htS44-$d(jzKb@& z`5{{T#yHv}C-qp0lX@(JJz4B&!Jcd<_pOuqFwaSSSm>la?CK=tJ)NYykCT)SaFX)D zPEtP1NyM`IZ634R=$FjuVOuGS?w3n>$Cwt^ z37lT6ESJFP`;{fneoh}ymOLjo{kgK_0fXui%91CE)Af`kPada7vE9OUKid;*!A2z{ zvCU(9e;9f04O zUIFJ8aBczT7GUnidSlr?mi=SdKbHMVBmM#J)gx=Gzm#K^a?DbWS;{e6*}s+jTiL&r z{RbjQ;eiNJc#vZba?C-FImj_5*?*G#C)t0J{kBMIg)Nd=VT+_z*dj@1GW(O+pUnPb z_7||ffc*vRFJS*z_K#)%SoV))|KdpQy-3owH1Z$Ny#7*-T*{G4IdUmSZpGZG^~p9z zORBbV%vO%s$}tDoe~|qL*?*AzC)t0J{U_OflKr+QZXJGv7h4y_t&8H;u|Jv99ivEL z$0$-*!2SaEkLC1O=8k3VSoSYv|5ElZW&cw4Z)N{hP9Nm-L5?}dF$dXylKm&yf0F$t z*)O6=gNP;#wrJKI%{n=q%;^G77erHA3Zkhk1?(To{;`~1%;hZRa+b1xDaSA6_@x}P zmHk`Uzm@%4*?%B<6PA3Ca}ToTB&SbuvmR=ZRw_M*_Q33Tbk~9pYOZC1xQM6wv%(ZQ`&mJ_j}*x z`~UyDs8QawiZNWp7?O{#Vk=n1RzSH;xlOrExlMU;m83MeN>b_&<52FA_lWn1_aI-< zSE0N@d4=){@m0#JlvgRQ5?`adMtP0$8s%+WjB^)jLKka77h5akamwSA$0@fdw<)(N zw;@OSrQD(1q1++fquit1quissLV1Pq3gs30Q>DC0d6n`i%{?v%65mO_k zMoimkre!tLvYKgGEph8xT~VoZLSH4lx-L#+oX9wlaUv6|C6vT!)_G!VVr*h;VjRjH z${orb%FC;zo_N%H)Oyr<)K*r1TvcwVP+Ot4LT!cGD&=)D)$iOQbWL37AyA2bjmR32H6q(?__%r@F7zv;D{mG4cWx27 zhLS^|Ogp})fxhboru_!CILhOc$0?6fZc}bkZc}bk?ojSf?ojSf?osYh?osYhUZK1~ zd4=){N_fquit1quhghMc@1y$&L9nk{cCb zD#TaGSBb9@UnRaqd5!WKIuF(RBbXBFRDqU6S>dIOv%`0oAG;4Gv^iOZA5nm&|MtqHUb)(?h zZe%{($g;bUWp|_GNsQV!wQ*|W)W)gZL#<7%O|4C>P3>uF9cmqF9cmqFJ<2`GJ<2`G zE0k9#uTWlrd_`ZC@+vVk@-<>=#MCHnTgOzaV=C4$73)~Cl*cKLQy!<>rrf67rrf67 zq1>U|q1>UoyiW3}yiW4gTlaBQyxk+xBhn+%BeFtyh4KpJ70RoWS1GSjUZuQ7d5!WK z(I1cgRH&^`TcNf>ZH3w@wN+}X z)K;mjQd^_8Ms1DS8nrcQ+cq-28(BshSwI=qt>I=qjrv=REVh%Qz528Oof;QVyeVc ziK!A(C8kPDjoKQuHEL_r)~K~MT~a&Nw{2q1Y+}xAV$N)0&TL}NY+~IYGEQWi$T*R4 zBI88vAu?eo^M`nwc$;{ec$;{KS_hI(^p!V#PCd2Wqr@ZLBiqAS9b#(4)QG7OQzNEEOxsP&nVXn1H!){!V$R$oITNQg zPHmjpIJI$V_uM4;W)ou*V-sT&V-s_ln53bSE{AxBc!zk0c!zk8T8~-`xb~E$jX6DJw%#)j$CpR-s zsEtz_r#4P)oLZY&n_8P%n_8RN)AZjV#v#Tb#v#TbW||m}7>^i_7>^i_m zC!5)mY?geB6B8#UPE4GbI5B&Ov5B#Xv5B#Xv583%libYqLZk!jC;B|{9$k5K<h`GYhYed$FtPxowvPNXv7Usql=EfH0 z#unzr7Usql<_0lwV&cTaiHQ@lhnR$+>`{rgiMNTjiMNS&sCB4ysCB4ysP(AzsP(Az zsP(9wV<_{6vX3RcLVShz3h@=<7l^D9QzfQKOqG}_F*Ryy)Yho2QCp+7Z7cI5&>*+Yy?j7^M9j7^M9j6vCniqJ9%2%PvW5_E6K@l56K@mmQ0q|ZQ0q|ZQ0r0aQR`9bQR`7V z$51N7REVh%Qz528%mOi&4VCy*iLVl0CB900mG~O9HEL_r)~KyfYxP}Hzq!5*p9jH? zbRTo6kGa&xT`BNm7!$MM7~X zcPRJBd$&k#c(+Jyc#vbgaEs)|99>n2sSv+FNtKc+T~+C-N>^37s!>~`wnlA@+8VWO zamGB({EsvLhm?|+#WvcPy7UhMHh8WO^iMDT>w2M9D6NXAXnIk`Ms7MybTX%{p>rRox$nPOd-YFr@k)J2O zKt6UC<3O6Y>ymn8Ly~;*E`~yWL1W${$kU|r?-Ab?$iG8+g_6FzMZV{5B1w~!%#$uq z@($@0O8V|0{vP5Q9g=@m-)`ibu+o-|3xJm~@@mkpKpze7H;UGRzRBAF&X zM|#;%%6AB6j&y#9gmRhuG-=sT(aw=q_t7^) zMIIxcG*l$z`zq?h2BE)7sx}J$H0c|p?VIL^pEp!oEs&4x694y*CU;4k=g7~KUmzd5 zpBU2e{hw2ZH_efsH3WbD(uAQ*-GiT$SW&V- zYCR-K>mj-#zlSvW5Rv2;wEST~o+h0mT_C;uu(ZC|Bck0yntX(A$uDU6Zn`Bc@4loy zuxWm`%!Dsfa(TCeer0z>UECz}pOAi!^sbvka)I=9(m%OLJu1FghBD^l6OT%`S4h=k zf{BqP3>D-w`8m@0#{{n)Cz7o5BXUX>7mX`}Rw?d&nmY732c>cSx@g(|3UQ1EQTKKSw%$Kz!&Mx};*g^FxA}9}-OB z36WoULL^t75J}&YpHq8#6QED`&Xd1PK5u_6GtzpZ}*ldDIaAhqZ01rQE_#7R3wRGA}Nz5kBdBc zT;x~CUm_irD70D8CbO5++}6H4k@-vNpKYCg_Wh90Kg-m8^pg7KR_iA(ssFGw`IE#<)7A8U zRFPN`^hj);lFQSV)ZdNum2rPOmH_>=SQ7Lru`=ktj_nTFq5YwQp^?ysLKj1SJ@ofN zp9=kI==IRoLhoz)M{S>N`=hoWw1vVe!Z(E1hkL`fgtvwJ!@I%{hxdf{hYyEG!_S0I zhsVO1a3Op#{L%1i_@~1^7k(-H^Wm4nzZ`xo{Q2;k;V*^18vgC@H^RRkekc6z!dJup zE&ToP55wX1mF+$4ceWpHf4cp2`?Kw@wST_7)_%49&)QdY?Cdz%ajv7>@i#hN?3nNP zQpay~{87gbI<|EVcYdJrL!G70pYELN{FTn%==^HuH#=*c-|hTi=fimE^a$QJ@5T%3 z$8ewXan+7D1@bF4owzv_!JC2=cvG+vcRW|ACsh}2d9KErf^NJixB+hpdT`To4c-() z@upxc-W1%3HwEi(<8wXU6l}nof{l1nunBiRZ^D~`oAIWgS2=1kZh>yWn}V%)QxL!9BPq+K)E{ z+wrDg2i_Fy#G8V9@uuKDyeZg)HwE|OO~C_rQ}ABADR>ZX3La8_6E7!TKq`L*sr*^> zDBcu2hBpO|<4wUHyeUZFO~GEgDX{UTU;u9l2Gu9kKD;T|uPR9O%W4QO0iM8{f+z8& z;2_=<9KxG|!|D=p;M2J6`Wf{U-V_|gt<@2{DHz3@f@647a2#(6p2nMk6L?ebKD;S- zM*W6*Ki(9a#G8T-;LZGS_|?Cnf0YC8DhEPnp>1fHooIazp!F&B=;N>6sMPuQdUMqYvm& zUjo(PSuoqs{{J~b?onR>6?;445(bT^e}O)tM|}-61bZjs9iS2Q+xXX`{v~J#y~Ya2 zSAj;<@4(iheit-^bgY7WHE2ZrE7*F}w?ISaRaQfO187A30c<_$ZBU8V4Un$^ji`SE zTaS7N|3c_>)rwv}G=v^#E#&J#BkE7kC-tcR02)G%v<~u(pb_<-pzl%t z88n0*Y6IjqfkxDSg}z7qH_#Azn@y1X4`_PS{{#)GIrL(dng@-jKSgiWqy86YNc{qO zH4FX4X2|~xy<3m^A!tNdRt$UyG@{zATfldKM$`)HR`4r9BWksEJNRzUh+1Q910MyA zsCCv|;Mapj)F$h0@Hc@*)Ml$6{1(s%UKQ;Ce+y_t-Dcej{&vuay3^VP{w~mny2p9| zd_QOeFOTs1Zt7mph`Qf;82kgE5xhm(4gO)!hk-*vuejjK= z;k&cop8$=hL)Jd9EC|aELQSe^@MJuzW!G8@jqJGPo0sq^eXie5E z_}>MMsNb{xI{0sbM(~E~dGNmv8c}~}{WSPL0*$CYwq5{V1I7Jy>u13K2`KKbTOR}e zUqR))#Lt2MAE5GT;zjU(3W^);*53vHXP~&(9(oD91&Z74p-+Hs2aTvm=u_bF9U|~u zp`Qo88Z@GMLUZ8PfTBK!egXV?P}Jwp%iwPUMSTwa68J5ksL!ESz~2Ij`W*UY@VA4a zK8HRH{w`3|=g?=s_k*H7hh77JFDUAB=(FG-07ZQcy$=3i(1?00^m*`)gW~pl=ne3L zpz`+P*TMg7(3>&Wz^^r8gnt_IlbrepW)2@${}5yRKT%cmWq+Xlz54I!&oOpyu;SKs z>k(_eHDaBz&RG{M&-z*Glh!}7K4*Q=`c3O!SvBjwSpVDV46O}q4gGOwTiZa}aNGL! zN80zdf3*E8?cr&KzZF8v-xn>#zSXyPMXutDH6nw;{B=e2Z;gi01N(nnk>?*4-r|2+ zx-PQq5#gk-_W!yfTefRi(7*i;X_=2wYD=VuuiCVR`?UwOEa=}ymyo^2xHQN4l!;3) z+b? zV`hv#WAu4r&%=IFwYPmxJ&AuKZ68t7ZAaD5w*R7ayu(u84u#a!P&-Wg%6q62CSHi> zL?$LnhNSHlRT4gPw!Nt$>KQ}2h+t8jG>Y{ zVUOq1jypP)cXujrat@%}v7v0~zI(xF6FwfvyM<&aoy+b`7TweLs-d6^b~w!z4tDYX*tM(qTRpO|vCiAIe z$sJ8kxW`6qRh&FCkuKG3ZmE=UC){jZB3QvW1=qM5DJ3WJBC_oPrw%2v$+JxDh%*jz;MkMHqiSH#KKeeGBZuNCT6sGbeH#LwfB~>n;e0I_$JDe+)$doeYX}S~IObKuxoplREJ2QDkAv^NP%t6Ob ziJi-2Tt{j`v46h{SlUrX-DE0J94Qsj*|Uk_RMt`Az2+v;MMq8K&Y% zRGl2XM*5+B>Z)FsV@nvz%tOF5-bnh33wJPUdzS#riD>|`bb zBaH%rkxv#%NY26B*>o0GRKTKBNarP`V$Ekz9o?+dm6Srwa>kR{l5MIPMD^-|P*`mi zr!A3672IMGU_ags$%tFBGig*z(fUj&c@fsLsNffpQ{Vts=X2?lE72?FB{qou*=(-h zrbb-w$yDkTatCd-G-V@#XCW)N6S?#5BJt5=y6CoIhYsgT>9MI+aj~`ejpSV?J(h;= zeo7XVUju@QnntZcKBD=%4SBja>K04QGNf2~ss>26Z&Tt8ampP_PG(AIvw>o6s9m%h z=bUtE4VfR)W@*xKa+By*nxLg7+hleEz2@M>d|LN_Xf6S7Gs$8Jg=e~_X5Co2u)MNZ zLWOI_7hGquAdP5mI+KCXhBSfMU#o6xpQu|Ay2WfCeYH)v+Nq0iCl_hFL|~vohiA6hAy3TGLtCe z65JF^X{Xpwp?64TjyRG+7ikD;a;0T78`26JSwP70wZ!L5)b@}w1#Y{?7sH-i^390f`nQy#aF$vNkwcSFaTF4@UK3RUNf zTR4P{0OB*r?75@4$r4)NB6&i0C{1!l8f^v+Q!e^;RA%K$Zvt~1~*yb>4 z=`3bJFekHV)N|p26HGn-YEILLjI1u&rkgKGV??Nn1Q@IkMT~1C))PArGU*zoJZ^a*vqNYGHwiKDU0dbM@&gMnj-`L5rTeMhKK zbZizsvUrr`wzMz~Rp^vCbR8B(N@gFjla?``!O8&(wj#PD%FmL=u(=d^-KVeDxiH9iU-lxp@$AA*jokcEmN?7#?*>{M5Zxjx)P9@TEx*wCIO6k zP^ia|mSk!xx=S)rKN=fLO}#VqdT~KExX!klcWtzv*OE15mxk9fek3ikAqxElu~=f7 zh(_t=!-Qj0$rWVoU?=lfe;989fL5JfeM~iw=}dFT!NNo-G$Z4AGx?UXeZ$I^ieCo_}==iU^^L{-XB`{S2F zQ!->5u?|6WWUC2XMZsD5#)psjt3szn|)=*rMZJL0+rRfk;%w;gmH@?yVRv^iAMgm;q_Yv7iq?7{z zIlo@evTtBSFPLf5Q;=buqq1R(HN9Klm_|LKjb(B%r@b_z8AnfSpdk*J9atWqv_0x(>%Me=JiI$-+53tkrjgOlvS{ z)Ts_E5QB15MVW*XGlpcz-fi00105ChflV8%q)OZe( zW(CD2PJg8w_yD%eS|4@8EWe)f2v&`xoO|A!(O;f456Mep5 z`yH9?%j;V0W;tz&z3y^a#B@28nK8R{eN!c=hu#vmr9mxGTpH98)1^Vd2rrE=wXz<; zbTJ_-gt{G@CeCEZm3>C+9n{79-BQq+z;RU2jvgy$J(UbN4X)t0rmuS%)EsrsV$9L| zuyugWy#uYyTQ42V2~oWO0%Lgdy2C$83ic4ji$I&I2a3@`56r6DH%&LZ{~a+CE{l3CQ6)>R)->XCx499`-Hlt;7Rlq)N$x*qjpubh?CXS}jH z<$_F>4=q_blxor@jy;h(W5$}GtIi$c9Tx{sbyw2;nu(JuM<;bf zAg-qH%@8FMv>-~R4A_Tcp|Osl znXQoe_JMBvO1E+)({eed19N8bEG92|3%Lv2E|4lAdmsA1P}_7y%XG)siAm_Q7FX7^ zd29j{c)SYNsYD6eX1HpX~=X;WcQ*~7KmL#l_(b7i8GjZ zq)|f}V)!gmktV?qPaK;>bxWN=PH@Wt`8FAF?&r@)$<2?BqxU*H-f%K12Pvg}1@AY)(-WY@|A(5K{B%}3Z3Ox`s}10SQ?%nT)m7P zN=d`RiD#jq)WyUqg?SJTE@h!mZ0P+Mpe?2*ol-*qUkCN(Nt5hoE*Aj#uDN@aooXNl z+#;rLvh`YWvCax;%$^8cl+rkHPnQDPy)M>B*ahRjtrBC{z4a}FSvk#c)!r$P6lP^C zG=JYnTW}ONuDL_$tY&cTpc$FF$<{M+r_n_rGYl+wQ8U=r(ad?N6HO=VtozNPp{$J0 z=dpXn18kM#<|^7Bt{h+=^25^BunBJXK%Wv=;EX2EN_Qd#=JL45a3EC}nmFrkBB27} z<^m?Tit}{%hwT;G<+_T$zUDSn-GXVTILK?`P}(Wvin*~;|DdcxqzV@MF?}KC%w!QO zx?+*rNa6^)4LmccZ|`yMPc#@EnofRY<9(?EUq9xisQXQY7B7nCz65UV=$jbIA5xmf zgb|!o2)?B+_r*(h<#p}w5cYF*UxpK)V%jBjAx{xb|(_K;o|b&;(WlPp4C*ag}kiXJJSsE%Fo} zu^Pf%gsc(zveEH$QA>+~HR@vR1YM$;xJSnJrVH=|_egRVFbCoh)RN;IWWv>QV1?0NUUO8ek8!&;}PCT7w%WK?s(lQB9bC^|2_lTi~y;3rRmf)l( zV4|c^$phgYb!FQSA|z>4j=*ttl1iUXrzXMX@}~}>dX8dS{77N&SrN&35wZsdM?A=o z_;Hv*v}G$Z z-@MYSKTc{Jw>f0LzJ3!&w{0{R*~5^0Z@N6ypMt=|2A!1prd2EoTB2y9k~dCEnSvIPG=l(QKTe9#yu>}1=DD*NeIJLuBm+6VPU&ces!7M;6 z9a4*S>3*pNWU8w^+oY$cpMfJQie&bMIxYtjv~z+fHJdicpSs0ty4CH=^r)`C->Usv zv@DRx@JKVLu?b5zf#ItjnBPe1f~M4Q+m3EqcE>0S?2yqOILxSf*D?zwuJzUrh4pPq z8KrYL5=UVr$5O>Wfl=1j=`GS8NR-TTC$$s>8Enx3O~5~{YXhpl^}B$y#j9gD4rai6 zb2;owWrH1@lEWjM9%oe`D+bKr53fFFA|mSt}! z59mw50x|o~go`hnr$O$|Y^iw0E#%bM^jPWXLNZ@pS3i@^s}JL!9J3eYBDh(YVXY*7qRiGq^p11(VC+ z$;eEXY;0r6i-yZ;fApLkxsFwo8pWxGVTbnd-WFysn6*KraeF7zvfR?^7IkV8bFusG z-8(rp2H6>H4567~Bf?~au}B6SLO+MevA%auP$JS-k9`Tk;?X^BNXQN1LEHi;`8rco zW&2?uH-UEsdaFXt-&=O}rPUPVvUoxItVLV-ORCLgG-4M}>#ZF`N-j49B=%W481IaR_d-qrRkZ zX{la>L0xbYJ^<0>(XtI6(6=OU(MJ3tXrQ}Xq-!aeeYi-oG(6DH20X#cL2uv%ry|XI z8~q(FoCOviE&4?}_|5wL&0E6(rOv3;Y9E zF2haDN+$TtILxw|cG{b@%k8x{qXLE162Rj0wg58Rac}l6xRD;vaFOlTsQU0fnyZT( zvsgDn&(pZtfj%A6H^Vg+-2HmYGIANj3_G#t$$;96d)2utro!SGw(}i4Qo-n^pG(Qy z5dZw?ArwuE=mUD!Ztq!4k#YrDWMbC?B{GI>7_9Ok3bcCv%z!6dGI!O?S?;7~w8g0} zyfLHFqQ>e-+XK}Cm?3PFaG9w~`b-z65EUF<4R%S1-*i=JIKknzQZ>`?~(v^`Hg8bwMDqH_37Sc$3 z%PSmo5{>PlqVg|_)nms^Hk>{5>zyI&DCNhe`s=sC>Nvj=Hnz_FI7rvg?{B#Ww$`Qj zVon=yzzV0O=Iv8JDeYpoextQ`?QQ488M#=%9S&&*^?O3~=r-14DEW&(9N_}2rE=)U zn=L9++NG(CyQF6CWT}+PE~(NRhD)lrx>!=<_uVZ@J>_bCNYVn)F?|=1mce*QZ_p)k z)!Lj-e$_{xfJ)*!Z0Z(T+IV9(068x=6wqDxm*a}+l)q%P2{-+)N2?i2ekSgMMHj6Gg3ofuLWs=%dbMzb}h%yp1 zd+nKz;O-bs-lpg~1{S4Pef8)`hljeU^d37Jplr2ECdkR6-)hitHTAB#@5ay+c=V=D z!O_Jj#6ac7#)>ewLYLE$18(~4cnQrJ{UM)LaIZ;6G_Xp9173;sFNaAVrq3!6E!mVY zm&O8ebE*)Ku)9W&7Z4fHK0IdP)kfnd=3J)&H}kp46}0R5W>6w7(6t0b#l@nb;s{3W zGr5aFoZEN}q;Pb@Jr@?mkug)i!JYwG!|NP@nY@q6>q^cXl(NHw(oCOx8<*Wi6S(il zjV`|RGr6hxC0{6-a~_RAvFi0P-WteiTzcguf0~~!`fit$)*mZ2_4L{|w!fgqx`Q$g zG_^vXdo7`mTc$^{=FWM&a{Km_%mO9)rUm;?7yYAO^ODhIjK0}v(qSwpXSuz=M}FM& zGpw$d*v~L8IGfxqBW^r!)RUsRSBu700VXW@QxF;d&=*Cw?UeI##9YMZ_^srlfh4CX*-ylq~r2=3PSdYv~dTQ$CN z>3h=e;vS_ATj%L$V*=&-+mhKjms>V&d~9I;<%^cwvI!{dMf){D<)Y1+fD*YM+~)B$ zI+FsOySZ$slezTmecvrAM9U6NK+{sKd2v#E3TMH+n}C}@ews;qK-scu<7=8*K+DX> z2Q`<R$UA?JS8N$2GB4%zz*^=8v zYkEm+Ry1EerBhy+Ay>q;q0t;!p1FWA2AMiQPFit# z!YQL{2yqW6D8v*ft3S68l-8l<;$TqMaM7ZakKgcSjRYt!F8#T%tRS0L?Rpf(MF*-l zjUiVOBqn}p3|C5Ad|}{x+PzSpau_R)Bh9q7A*iod{28xNVG8Wx4mG_=P2#S$>?A&o zdpEfY_yEmCb-=}M(92Vyy;BP3u?4)bLmidJ+8I2y1|v5e{T-7j-p9jzArAS03MV3& z*0zYuS8Q6OrABWo?(_#{gfn|0ORm_>Jj*nZ5q;4_UWzhc+1+fCVGj+*>rgWzjTnvhT6ziJL zLyhfQ=w%ldhW~(k5TAKqHk#`JsMg$Tk-efikC@?tQ{9@H)K28{ITv+?YtCex>=ixj zp3$JZWt>l%`S_u-(*cdHSx@{p0xlEY@}S679qI_Uv}>xD*N6k8j&f!W_q! z<8W-LJ`8z3zF&*y>PkJ*>M98z(m$eGtg!KYx=DoM;)}P}40lm%b-34YWw*xGLD~xV zUT>aZO8D99rFac4px_I=$3ZiQtE&_wX}AkWR-b`p4FBQvzEXE=2Yv$R?dm+f=DVF? zJxjNK{z{&y$8Bnoh=KTbR>koBT^vEfeiS}6T*UAV-U9r47>GOYHNPGBTJRmpxL-+SkDs^w{KjAwuB9|3E#lKC%n3+xNH^-u8mV0u!TEWk_DdSEQ~=IJKKVHy zQf#@<4=JA*Qh>8(__a(f>=YLc{-xmyt`q~;>PJhyy|+~#3}b|G!t+;z*y8SHo%6c2 zd;}%?6F}(PP%Hf0P>+rv7Sgi(6ip&EG1j;oa$pKP_CuJOqbQY@Fp`5vt)#aAO{1)1 z>H!oE&fYvgWW^0qFd9yHwc*YCDMYj?0=+^O6Ad2N!pH#a4~!@Q@9xD z(k>qzgMLz1N7NHnGA(<7+ZbTi3Ak9}O&rBGx9%8^P- z7QdH^iyDzkzg`a)>?^L7p}HTpw(Imada1=3+cefZv^WlpZbWp83&o65_ef}=qoX%`hC3a z-_?_?V`_rUM)$>%d(x2KWyjTrBSZWiz&)T6Ydxd72jfUTzUki&)7pBiJdG)}`fj95 zx+=*7)h9M7N2yi*sGCCwQl}dTNr51e82^RyJ0T)&7C&@eN#2$4s{uLq@4~&>B)VqT zGXBSuwMH}zB;rEJDBQ^yPoLZF#aC$+uD$(mUh`n-yI zVV~a>^&a&3ZBcKB&kqFnk43!~efjRFx5ww-jCu=(pZ<1q<~zQ8I_k~({KcsEoXixj*Gf1P)&-O%T{rsGbL}%+| zp`x>X-p+1}&i4BLj7PnU&!3KZDWA_rJwG43FGszv`tnzz-fKSpQq=p@3ekEMq3)gt#G&pG zK42`i5FB*_(G8-a3D_c1={C1R9ogI-33rAD}Z5)|?kTE1engfkQ!YFDA| z?(T?cv!a9Dn|n8Oc135dMu)mX(L>RvBGF^f_k}``gtnlLt7uaEk0v{WPXAd48co?+ zEjF0pmDU#3j);`oBe6Clt=!(-9Sg0CmRDHO_aUtE>P};US8G)}{41}H#1w_y9oi6I ztk4##eWit9*L1Foy3sUZ8p2;R8BKPoaCdiaZ!hEB+tFjG&0AF4N~@PK8(J9)TL5qF zj;1@66@7M1dGiVticUl))|Bs*{2c@iDP7YULEc9vqf^nJh)$QIALwS9%I)~+1F@HP zMyEPaK;V0OIy<*OD(LCI7X82$1!!-ye7}Td;-R&a3jjjhmG(M(1*-g!xLZ`n?ewy?m>GMKoGo&d>-Xb0D>}-q94u^Eu!;~E$ zog+O#`aM$mI;;Kr1|_ePzD;^n=#0iN#eKeYswkup&gVOVTIOO;Gab?iEynF1`;$IiOW^-;VO%{ ztE;n9Dkc8l$}}};;#Z|1bakv`s8V5{?Ltm z{g&zlxiNZI!Oirm`u|m^TV=Ek`M;~jYTKfEw%~Uu(3a2yreBpxG5u;tDkCc0Q_=z8 z4|z9z88tfu1OK;own5m{+1^NvvCN!^L}yOKI&Xj;F?tgTeN#9s7t!+&J-@OuBHqeh zPbWH<;9qyAl$t<44d|yO=r8D?zX0w%o$IK38M>E)VUT|b(wD^P*TH=Kj?OidJ_pNl zBAo^^Ee!hM@~kk7jh~PgA$`%eFzPFGTo9dgoh!tznQ^3#nY|IX%Wfwaf> z;uTn4S>4$|hwyLaO+U|OkhGakQzfz34d8CyRTnI%aXN3qu!Mcw^milC>F?HUS7Eyv zdF}C2Ke^`jRz4j0m47<*;GKW?nbVQCKC<@Df9swYwdLbQz_XBaF>G(LoKtb3-m3eHYTu%GlZXs zI*1=s+7Iq9cv+Wj)Jw5`t`zi6Oh0GDcl+VLn~jva8sGvVB`c1nkqW&7Hwsgts`p&N zJ0_J{*_d5Uf8+nh)e(9z{K$hPM1G$jEWaob7GW5jj0$%M=@fz=`%q!|rHb%MA*+OR z36WnQ3U>>+L5TcXMR<*nsF1Zn@T)>9yiUk^Asd8j6tYRkO+s!433YUb&|o?u=$aF4 z9h=+H4NreZ$g81_m12Hh$PYluJwkdz9lg@E-zsFAkX=Id2pJG^P{;`(rv*O_PrKVY z(CYGHy-4;s(rMCJ(&t5aqmUPbe2l^ug`Fe&vaqiRc}>V06uv3!0@;^@eT(eZNu?tz ze_5no6(Xsa2@A)hye`&ZA)|txL42b#NLO?w26r>J3PIwcGj|KwAyyO~ z_jMtXl$iw~&qLucUU{)z6f!O3IUyyG@;8KlTjPCNxKD{f36~OblJR*(*ij+FjOCjG z|1Rt^CxyI1p*Wv;9hzBWNwj=`E_Vz2plDte%?=^Egg~}t7TPtldxQ)KIUwYq5Qepb zK6HuW7s!T1#T=Uct_Y^DuI$*nZq4-XS!-sIDj^t$yD){tJi4n}X3HU2fQ7(BI%Fo= zEwg7)bpiuJ=FE|9G%5?Y2`86Jw9ptm+9uOSIM}6)ZQ2;n#>cd=n@0Hu+V&=m z>2GV>v^Fkk<9Qmh8EvGr@GWf&YoRv016nwzjT74Vo;I}Cv&PSFXyNPHcv~A+Y0Ma; zPRguFtxnOb&Vm_}zH#mDv^MhE__8)$(Z);d3OUh*T*dTG!dVL&CRLc5aakafL?ST@ z5)86{#&@)Fl}1^+FYlmj<^^rcYU5>XM6}VP4ddWJ+RD4NF|3VIZJgA`0U9%(*2XK^ z(7Ks7HDpd3DQ%2vBTr-IHEo>G#_QU6LmN7v858XHDMW!YEAT6Ak|SYlY}Ce$+UV6r zOdEG=V}~{#)W&XY?9s-6HgrOm0XhVly)^RC6uZ1sZ zLuXI<6>Za5UjDkaeM%cT)@2>*>F-lG{R6GjX(*Sp?PJ=wsEy~eF|CbRZM>k3?`h*5 zZG2lB-_gd~+PJEX?`q>)+V}>InT$44+8EbHUK=_tGddD8IubKF5;HpOGjkfLqdW5= zZRLm-E@I`@V?Y}Rv~f@y!`c|t#tChl)W&ITq_i=v4V|A}UfW9AxTuZi zv@xxXS#3P8jTf}>F>So4jhD3XDQ(PY<7I8UqK((I@wztN(8inESkT6oweeMLyrqq= zYvUW*_?9-_*2X*9__j8_qm8TD_?|YtuZy-H^exOio>_0p> zYUA5TxPfuEd87a6`Fs0!z=Q4^`C$(E+=_g1EQ8Nk;0h~#LQ!?quYbTb=Jb|o*I%Pi zUGRHH|3m#d`gbUWfb`!0exx$+rH1<&&X@SfuKoZr@M&iJNTOPa3tQ$lDek?t9}Qs8 z3)@mXe6t*Q!hg@TJt92lM+`r#iD%1lLtZ~emaJZ>?^*D3>5>KJ+ZhVKC|S3(;x;1J zcoU~pahs*0i*MJrqN2KxgCVcS@0jAnPAjt4QY-486lhi6j7sA_VrkWFMM)O|&s|#e z;&IV`u+^$OZmA8p+9CI0c_Bx#*?flJp=)RPGOpy?9ZC&b>c&=pd~)D{znGu(ugT)~ zGn?aS;wXT>Ks*DkbUaU6sy7%t`s~u?1 z4xnKKJ(F*rU#Eq&!nH@;s1km4D(dQwi(2wxthIhT*4!strx^zN1Rc=srrzN0YbU$W z8)(Pq_}cIi@j9;Z`rhH7`2w<%9LGC8dFt=V*EjSB^skfSiybuL-}pHHbz;&0YR9|q zW59?VK3~4=+6mVn?Pw2*26y3ftao19T_D56h4vtWQ0c+W)Be>tyqL_My*p;C=1tq( zF@GT0)sK;+f5+W1^L2|yv+g8($lM(p#&1KU9o)j>7iS(lv*W(8`^VlpwsU9d{vFBt zl1kMByZ6Ts*p2v6Wcj?J`7$AgIsA~Y!cYC;7l2iF@FO8Zsn(h-u1#GT)*T*d{tc*~ zf$OCTAh_#}_@CVg%O}l##33#4b$<@HriCfBp(T(``Apeaw}1)3s=x);)&%5GGwRnO ze+=0zO+WDL=Q>S4fYkNygOS&WEzJf@T1dipVBMgfCt@as!I zh9FC*(rAYM$KcTle++@jbmxqGP`S1CN#zX0rd7Qe4GC9O%`daGYEk2(!PcqY2Phm! zsqW@BsqnkrYGtzi0~4)2?L)EqKQVFFwX2X1llro>H^=xQ`?}s}*izoeIEoQg{|18Y zO&X8FmBP{KDyZcFq`W=H{uXAXCcWmzt?;wwDq^0VPqAxgyI4$hONV^_j`!aC-v0Y` z-1i`UDjB~w@6d}O`9=EC(CP$!IA#hjwD^%VYqWcXbcaRx?WsEwS+|7eINL8yWVWB* zxxI)_15G5i8!3OUHQA3qkd^T1M{w9Yk$zD3W`FVUw_EDESwFzH^18*p8+@avltRR= zvxMrAJDv(DfI7Aw2|>lyX+i!~TJAE4`K@3ho)CUAlI6jw1%{^%{_2J^A& zp{#Cj>iS9dYvXX!Lz>{C_EAecc!VCk6Y^DAH}s_VXvR@_0aYF%6EuGz$XQ~h!SZx0>l3CKS7~g$+9u7L&WvT7gjyAtbBacty!x%b~N72I%27jU8 z|3w#T_Gi9$=KQp>4h_qJ<@5OWtuI;XTQB>&H#lp7OwJwez`xT~OP&73h7KYnN0h<8 zqay<&f9IRsn|}LKPw#(m?zIPA*zwI@6BqWwC-Do3r{tT_7x1feC-*r#p8>_EEp zf4gw&7I}cXoU7qh?t0=2yYM@UTNj66$~^=5^Y6pTT?+kH=rD2syOj9bOSgVl18}kU zvcKT2K_)&MU#r0;9X^^Hs*#><7(kDC;HUI0I^ z;R`^Tiqeqe|i5Fu=qpl-@flJ NZxa40=0AE4{2!w;pu7M8 diff --git a/AuthorizeNet.xml b/AuthorizeNet.xml index 819f187..a19970d 100644 --- a/AuthorizeNet.xml +++ b/AuthorizeNet.xml @@ -72,6 +72,12 @@ + + + + + + @@ -321,6 +327,9 @@ + + + @@ -639,6 +648,9 @@ + + + @@ -924,6 +936,12 @@ + + + + + + @@ -1095,6 +1113,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1131,6 +1206,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1194,6 +1365,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1236,6 +1443,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1449,6 +1716,18 @@ + + + + + + + + + + + + @@ -1503,6 +1782,15 @@ + + + + + + + + + @@ -2073,6 +2361,18 @@ + + + + + + + + + + + + @@ -3555,6 +3855,15 @@ + + + + + + + + + @@ -3603,6 +3912,24 @@ + + + + + + + + + + + + + + + + + +

Special case handlers @@ -4466,6 +4793,11 @@ The transaction id. + + + Validates that what was passed by Auth.net is valid + + Initializes a new instance of the class. @@ -5910,6 +6242,12 @@ + + + + + + @@ -6159,6 +6497,9 @@ + + + @@ -6477,6 +6818,9 @@ + + + @@ -6762,6 +7106,12 @@ + + + + + + @@ -6933,6 +7283,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6969,6 +7376,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7032,6 +7535,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7074,6 +7613,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7287,6 +7886,18 @@ + + + + + + + + + + + + @@ -7341,6 +7952,15 @@ + + + + + + + + + @@ -7911,6 +8531,18 @@ + + + + + + + + + + + + @@ -9393,6 +10025,15 @@ + + + + + + + + + @@ -9441,6 +10082,24 @@ + + + + + + + + + + + + + + + + + + These are field names and explanations only @@ -9583,6 +10242,7 @@ The timeStamp string + Encrypts the key/value pair supplied using HMAC-MD5 diff --git a/SampleCode.csproj b/SampleCode.csproj index 29a5425..8deae44 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -35,8 +35,9 @@ false - - packages\AuthorizeNet.1.9.6\lib\AuthorizeNet.dll + + packages\AuthorizeNet.1.9.7\lib\AuthorizeNet.dll + True diff --git a/SampleCode.exe b/SampleCode.exe index a4d56e0cc3068571371bac2cf6ea6157e8408e6e..b9f6cb889d53100a7416c8b0681b53b9d631ea36 100644 GIT binary patch literal 100352 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 - Reads the value from property file and/or the environment - Values in property file supersede the values set in environmen - - propertyName name of the property to read - String property value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Special case handlers - - validated on ????/??/?? for objects listed at the end - should be validated after each update of AnetApiSchema.cs - for fields/properties that are minOccurs="0" since xsd.exe - generates "specified" property for such fields and requires - special handling to set them seamlessly - Make sure to update the respective controllers to call the respective request hand - - - - - @author ramittal - - - - Since JAXB does not generate the class for this element, custom coding it - @author ramittal - - - - @author ramittal - - - - - This will issue a full HTML document with a built-in script, which will redirect the browser away from - Authorize.NET to the URL you pass in. Be sure the toURL is absolute. This can be used in your DPM Replay Response Endpoint - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Decides the response. - - The raw response. - - - - - A request that authorizes a transaction, no capture - - - - - Initializes a new instance of the class. - - The card number. - The expiration month and year. - The amount. - The description. - - - - Initializes a new instance of the class. - - The card number. - The expiration month and year. - The amount. - The description. - if set to true [include capture]. - - - - Loader for use with form POSTS from web - - - - - - A request representing a Capture - the final transfer of funds that happens after an auth. - - - - - Initializes a new instance of the class. - - The auth code. - The card number. - The expiration month and year. - The amount. - - - - Credits, or refunds, the amount back to the user - - - - - Initializes a new instance of the class. - - The transaction id. - The amount. - The card number. - - - - Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway - - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Sets the eCheck request as a recurring payment - - - - - - Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway - - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway - - The auth code. - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - The auth code. - The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - - The transaction id. - - - - Creates an ECheck transaction request for use with the AIM gateway - - - The transaction id. - The customer’s valid bank account number - - - - Creates an ECheck transaction (defaulted to WEB) request for use with the AIM gateway - - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - The Echeck Transaction type: ARC, BOC, CCD, PPD, TEL, WEB - - The valid routing number of the customer’s bank - The customer’s valid bank account number - CHECKING, BUSINESSCHECKING, SAVINGS - The name of the bank that holds the customer’s account - The name associated with the bank account - The check number on the customer’s paper check - - - - Creates an ECheck transaction request for use with the AIM gateway - - The transaction id. - - - - The type of API Request being performed - - - - - Credit Card authorization - - - - - Settlement of a previously authorized transaction - - - - - An authorization and capture all in one - - - - - A Credit - - - - - Voiding of a previously authorized transaction - - - - - Capturing of a prior authorization - - - - - Issue a credit for a transaction not based with the API - - - - - The type of BankAccount to be used - - - - - Checking Account - - - - - Business Checking account - - - - - Savings Account - - - - - The type of eCheck transaction - - - - - Accounts Receivable Conversion - - - - - Back Office Conversion - - - - - Cash Concentration or Disbursement - - - - - Prearranged Payment and Deposit Entry - - - - - Telephone-Initiated Entry - - - - - Internet-Initiated Entry - - - - - An abstract base class, from which all Request classes must inherit - - - - - Initializes a new instance of the class. - - - - - Outputs the queue as a delimited, URL-safe string for sending to Authorize.net as a form POST - - - - - Queues the specified key into the request. - - The key. - The value. - - - - Gets the specified key from the request. - - The key. - - - - Loads the core values tp the API request, including auth and basic settings. - - - - - Adds a Customer record to the current request - - - - - This method adds the required values for Fraud Detection Suite. Your merchant must sign up for this service with Authorize.Net - - The Customer's IP address - - - - - This method will pull the user's IP address for use with FDS. Only valid for Web-based transactions. - - - - - - Adds a detailed tax value to the request - - - - - Adds a tax value to the request - - - - - Adds a detailed tax value to the request - - - - - Adds a tax value to the request - - - - - Adds a detailed tax value to the request - - - - - Adds a tax value to the request - - - - - The 3-digit Credit Card Code (CCV) on the back of the card - - - - - Adds a Shipping Record to the current request - - - - - This is where you can add custom values to the request, which will be returned to you - in the response - - - - - Adds a line item to the current order - - - - - - Adds an InvoiceNumber to the request - - - - - Gets or sets the bank ABA code. - - The bank ABA code. - - - - Gets or sets the bank account number. - - The bank account number. - - - - Gets or sets the type of the bank account. - - The type of the bank account. - - - - Gets or sets the name of the bank. - - The name of the bank. - - - - Gets or sets the name of the bank account. - - The name of the bank account. - - - - Gets or sets the type of the echeck. - - The type of the echeck. - - - - Gets or sets the bank check number. - - The bank check number. - - - - Gets or sets the address. - - The address. - - - - Gets or sets the allow partial auth. - - The allow partial auth. - - - - Gets or sets the amount. - - The amount. - - - - Gets or sets the auth code. - - The auth code. - - - - Gets or sets the authentication indicator. - - The authentication indicator. - - - - Gets or sets the credit card code. - - The card code. - - - - Gets or sets the credit card number. - - The card num. - - - - Gets or sets the cardholder authentication value. - - The cardholder authentication value. - - - - Gets or sets the city. - - The city. - - - - Gets or sets the company. - - The company. - - - - Gets or sets the country. - - The country. - - - - Gets or sets the cust id. - - The cust id. - - - - Gets or sets the customer ip. - - The customer ip. - - - - Gets or sets the delim char. - - The delim char. - - - - Gets or sets the delim data. - - The delim data. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the duplicate window - the am. - - The duplicate window. - - - - Gets or sets the duty. - - The duty. - - - - Gets or sets the email. - - The email. - - - - Gets or sets the value indicating that the customer get an email receipt. This should be true or false, yes or no. - - The email customer. - - - - Gets or sets the merchant email. - - The email address to which to send the merchant email receipt. - - - - Gets or sets the encap char. - - The encap char. - - - - Gets or sets the exp date. - - The exp date. - - - - Gets or sets the fax. - - The fax. - - - - Gets or sets the first name. - - The first name. - - - - Gets or sets the footer email receipt. - - The footer email receipt. - - - - Gets or sets the freight. - - The freight. - - - - Gets or sets the header email receipt. - - The header email receipt. - - - - Gets or sets the invoice num. - - The invoice num. - - - - Gets or sets the last name. - - The last name. - - - - Gets or sets the line item. - - The line item. - - - - Gets or sets the login. - - The login. - - - - Gets or sets the method. - - The method. - - - - Gets or sets the phone. - - The phone. - - - - Gets or sets the po number. - - The po num. - - - - Gets or sets the recurring billing. - - The recurring billing. - - - - Gets or sets the relay response. - - The relay response. - - - - Gets or sets the ship to address. - - The ship to address. - - - - Gets or sets the ship to company. - - The ship to company. - - - - Gets or sets the ship to country. - - The ship to country. - - - - Gets or sets the ship to city. - - The ship to city. - - - - Gets or sets the first name of the ship to. - - The first name of the ship to. - - - - Gets or sets the last name of the ship to. - - The last name of the ship to. - - - - Gets or sets the state of the ship to. - - The state of the ship to. - - - - Gets or sets the ship to zip. - - The ship to zip. - - - - Gets or sets the split tender id. - - The split tender id. - - - - Gets or sets the state. - - The state. - - - - Gets or sets the tax. - - The tax. - - - - Gets or sets the tax exempt. - - The tax exempt. - - - - Gets or sets the test request. - - The test request. - - - - Gets or sets the tran key. - - The tran key. - - - - Gets or sets the trans id. - - The trans id. - - - - Gets or sets the type. - - The type. - - - - Gets or sets the version. - - The version. - - - - Gets or sets the zip. - - The zip. - - - - Gets or sets the solution id. - - The solution id. - - - - A request representing a PriorAuthCapture - the final transfer of funds that happens after an auth. - - - - - Initializes a new instance of the class. - - The amount. - The transaction id. - - - - A request representing a Void of a previously authorized transaction - - - - - Initializes a new instance of the class. - - The transaction id. - - - - Validates that what was passed by Auth.net is valid - - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - The mode. - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - - - - Creates a new subscription - - The subscription to create - requires that you add a credit card and billing first and last. - - - - Updates the subscription. - - The subscription to update. Can't change billing intervals however. - - - - - Cancels the subscription. - - The subscription ID. - - - - - Gets the subscription status. - - The subscription ID. - - - - - This is the abstracted SubscriptionRequest class - it provides a simplified way of dealing with the underlying - ARB API. This class uses a Fluent Interface to build out the request - creating only what you need. - - - - - Creates a monthly subscription request. - - The email. - Name of the subscription. - The amount. - The number of billings. So if you wanted to create a monthly subscription that lasts for a year - this would be 12 - - - - - Returns a new subscription request. - - SubscriptionRequest object. - - - - Creates an annual subscription. - - The email. - Name of the subscription. - The amount. - The number of billings. So if you wanted to create a yearly subscription that lasts for a year - this would be 1 - - - - - Creates a weekly subscription that bills every 7 days. - - The email. - Name of the subscription. - The amount. - - - - - Creates a weekly subscription that bills every 7 days. - - The email. - Name of the subscription. - The amount. - The number of billings. If you want this subscription to last for a month, this should be set to 4 - - - - - Adds a credit card payment to the subscription. This is required. - - The first name. - The last name. - The card number. - The card expiration year. - The card expiration month. - - - - - Adds a full billing address - which is required for a credit card. - - The add. - - - - - Adds a shipping address to the request. - - The address to ship to - - - - - Sets a trial period for the subscription. This is part of the overall subscription plan. - - The trial billing cycles. - The trial amount. - - - - - This is mostly for internal processing needs - it takes the SubscriptionRequest and turns it into something the Gateway can serialize. - - - - - - The Update function won't accept a change to some values - specifically the billing interval. This creates a request - that the API can understand for updates only - - - - - - This is an Address abstraction used for Billing and Shipping - - - - - Initializes a new instance of the class, resolving the given API Type - - From type. - - - - Initializes a new instance of the class, resolving the given API Type - - From type. - - - - Initializes a new instance of the class, resolving the given API Type - - From type. - - - - Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. - - - - - - Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. - - - - - - Creates an API type for use with outbound requests to the Gateway. Mostly for internal use. - - - - - - This is an abstraction for use with the CIM API. It's a partial class so you can combine it with your class as needed. - - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - Test or Live. - None, Test, or Live. - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - - - - Retrieve an existing customer profile along with all the associated customer payment profiles and customer shipping addresses. - - The profile ID - - - - - Adds a credit card profile to the user and returns the profile ID - - The profile ID. - The card number. - The expiration month. - The expiration year. - The card code. - - - - - Adds a credit card profile to the user and returns the profile ID - - The profile ID. - The card number. - The expiration month. - The expiration year. - - - - - Adds a credit card profile to the user and returns the profile ID - - - - - - Adds a eCheck bank account profile to the user and returns the profile ID - - - - - - Adds a bank account profile to the user and returns the profile ID - - - - - - Adds a bank account profile to the user and returns the profile ID - - - - - - Adds a Shipping Address to the customer profile - - - - - Adds a Shipping Address to the customer profile - - - - - Authorizes and Captures a transaction using the supplied profile information. - - The profile ID. - The payment profile ID. - The amount. - - - - - Authorizes and Captures a transaction using the supplied profile information with Tax and Shipping specified. If you want - to add more detail here, use the 3rd option - which is to add an Order object - - The profile ID. - The payment profile ID. - The amount. - The tax. - The shipping. - - - - - Authorizes and Captures a transaction using the supplied profile information, abstracted through an Order object. Using the Order - you can add line items, specify shipping and tax, etc. - - The order. - - - - - Authorizes a transaction using the supplied profile information. - - The profile ID. - The payment profile ID. - The amount. - - - - - Authorizes a transaction using the supplied profile information with Tax and Shipping specified. If you want - to add more detail here, use the 3rd option - which is to add an Order object - - The profile ID. - The payment profile ID. - The amount. - The tax. - The shipping. - - - - - Authorizes a transaction using the supplied profile information, abstracted through an Order object. Using the Order - you can add line items, specify shipping and tax, etc. - - The order. - A string representing the approval code - - - - Captures the specified transaction. - - The profile ID. - The payment profile id. - The 3 or 4 digit card code in the signature space. - The amount. - The approval code. - - - - - Captures the specified transaction. - - The profile ID. - The payment profile id. - The id of the shipping information to use for the transaction. - The transaction id to mark to capture (settle). - The decimal amount to capture. - - - - - Captures the specified transaction. - - The profile ID. - The payment profile id. - The transaction id to mark to capture (settle). - The decimal amount to capture. - - - - - Captures the specified transaction. - - The transaction id to mark to capture (settle). - The amount. - - - - - Refunds a transaction for the specified amount - - The profile ID. - The payment profile id. - The transaction id. - The approval code. - The amount. - - - - - Refunds a transaction for the specified amount - - The profile ID. - The payment profile id. - The transaction id. - The amount. - - - - - Voids a previously authorized transaction - - The profile ID. - The payment profile id. - The transaction id. - The approval code. - - - - - Voids a previously authorized transaction - - The profile ID. - The payment profile id. - The transaction id. - - - - - Deletes a customer from the AuthNET servers. - - The profile ID. - - - - - Deletes a payment profile for a customer from the AuthNET servers. - - The profile ID. - The payment profile ID. - - - - - Deletes a shipping address for a given user from the AuthNET servers. - - The profile ID. - The shipping address ID. - - - - - Returns all Customer IDs stored at Authorize.NET - - - - - - Gets a shipping address for a customer. - - The profile ID. - The shipping address ID. - - - - - Updates a customer's record. - - The customer. - - - - - Updates a payment profile for a user. - - The profile ID. - The profile. - - - - - Updates a shipping address for a user. - - The profile ID. - The address. - - - - - Overload method ommitting shippingAddressID. - - The profile ID. - The payment profile ID. - The mode. - - - - - Overload method ommitting shippingAddressID & ValidationMode enum so will use the value passed into the constructor. - - The profile ID. - The payment profile ID. - - - - - Overload method ommitting ValidationMode enum so will use the value passed into the constructor. - - The profile ID. - The payment profile ID. - The shipping address ID. - - - - - This function validates the information on a profile - making sure what you have stored at AuthNET is valid. You can - do this in two ways: in TestMode it will just run a validation to be sure all required fields are present and valid. If - you specify "live" - a live authorization request will be performed. - - The profile ID. - The payment profile ID. - The shipping address ID. - The mode. - - - - - This is an abstraction for the AuthNET API so you can specify detailed order information. - - - - - Initializes a new instance of the class. - - The profile ID. - The payment profile id. - The shipping address ID. - - - - For the Information in name/value pair format that does not exist within CIM. - Example: x_customer_ip=100.0.0.1&x_cust_id=Testing Extra Options - - - - - An abstraction for the AuthNET API, allowing you store credit card information with Authorize.net - - - - - Creates an API object, ready to send to AuthNET servers. - - - - - - Initializes a new instance of the class, using the passed-in API type to create the profile. - - Type of the API. - - - - Initializes a new instance of the class. - - The amount. - The card number. - The expiration month. - The expiration year. - - - - Initializes a new instance of the class using track data from a card reader. - - The amount. - The track1 data. - The track2 data. - - - - Initializes a new instance of the class. - - The amount. - The card number. - The expiration month. - The expiration year. - - - - Capture only function - - - - - Initializes a new instance of the class. - - The auth code. - The card number. - The expiration month and year. - The amount. - - - - A Credit transaction - - - - - Initializes a new instance of the class. - - The transaction ID. - - - - The devise which read in the Credit Card - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The gateway which runs the credit card transaction - - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - if set to true [is test]. - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - Type of the market. - Type of the device. - if set to true [is test]. - - - - Sends the specified request. - - The request. - The description. - - - - - Captures a prior authorization - - - - - Initializes a new instance of the class. - - The transaction ID. - The amount. - - - - Parses the response from the transaction (a piped string) into a representational class - - - - - Initializes a new instance of the class. - - The raw response. - - - - Gets the user reference. - - The user reference. - - - - Gets the MD5 hash. - - The MD5 hash. - - - - Gets the split tender ID. - - The split tender ID. - - - - Gets the remaining balance on card. - - The remaining balance on card. - - - - Gets the requested amount. - - The requested amount. - - - - Gets the AVS response. - - The AVS response. - - - - Gets the card code response. - - The card code response. - - - - Gets the amount. - - The amount. - - - - Gets a value indicating whether this is approved. - - true if approved; otherwise, false. - - - - Gets the authorization code. - - The authorization code. - - - - Gets the invoice number. - - The invoice number. - - - - Gets the card number. - - The card number. - - - - Gets the response code. - - The response code. - - - - Gets the response reason code. - - The response reason code. - - - - Gets the message. - - The message. - - - - Gets the transaction ID. - - The transaction ID. - - - - Gets the value by index - - position of the response to be returned - Returns index value. - - - - A Cardpresent Void transaction - - - - - Initializes a new instance of the class. - - The transaction ID. - - - - A class that builds out a DPM-ready form for submission to Auth.net. - - - - - A helper class for representing a charge - - - - - Creates a List of Charges from the Statistics return from the batch. - - The stats. - - - - - Gets or sets the type of the card. - - The type of the card. - - - - Gets or sets the amount. - - The amount. - - - - Gets or sets the charge back amount. - - The charge back amount. - - - - Gets or sets the charge back count. - - The charge back count. - - - - Gets or sets the returned items count. - - The returned items count. - - - - Gets or sets the returned items amount. - - The returned items amount. - - - - Gets or sets the correction notice count. - - The correction notice count. - - - - Gets or sets the decline count. - - The decline count. - - - - Gets or sets the refund amount. - - The refund amount. - - - - Gets or sets the void count. - - The void count. - - - - A class representing a batch-settlement - - - - - Creates a new batch from a stats response - - - - - Creates a list of batches directly from the API Response - - The batches. - - - - - Gets or sets the charges. - - The charges. - - - - Gets or sets the ID. - - The ID. - - - - Gets or sets the settled on. - - The settled on. - - - - Gets or sets the state. - - The state. - - - - Gets or sets the payment method. - - The payment method. - - - - Gets or Sets the MarketType - - MarketType - - - - Gets or Sets the Product - - Product - - - - The gateway for requesting Reports from Authorize.Net - - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - Test or Live. - - - - Initializes a new instance of the class. - - The API login. - The transaction key. - - - - Returns all Settled Batches for the last 30 days - - - - - returns the most recent 1000 transactions that are unsettled - - - - - - Returns all Settled Batches for the last 30 days - - - - - Returns batch settlements for the specified date range - - - - - Returns charges and statistics for a given batch - - the batch id - a batch with statistics - - - - Returns batch settlements for the specified date range - - - - - Returns all transaction within a particular batch - - - - - Returns Transaction details for a given transaction ID (transid) - - - - - - Returns all transactions for the last 30 days - - - - - - Returns all transactions for a given time period. This can result in a number of calls to the API - - - - - The status for the transaction - - - - - Approved - - - - - Declined - - - - - Error - - - - - HeldForReview - - - - - Representational class for a transactional line item - - - - - Gets or sets the ID. - - The ID. - - - - Gets or sets the name. - - The name. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the quantity. - - The quantity. - - - - Gets or sets the unit price. - - The unit price. - - - - Gets or sets a value indicating whether this is taxable. - - true if taxable; otherwise, false. - - - - A representational class for a Transaction - - - - - Initializes a new instance of the class. - - - - - Creates a list of Transactions directly from the API Response. - - The transactions. - - - - - Creates a Transaction directly from the API Response - - The trans. - - - - - Creates a Transaction directly from the API Response - - The trans. - - - - - Gets or sets the transaction ID. - - The transaction ID. - - - - - - Gets or sets the type of the transaction. - - The type of the transaction. - - - - Gets or sets the response code. - - The response code. - - - - Gets or sets the response reason. - - The response reason. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the authorization code. - - The authorization code. - - - - Gets or sets the fraud filters. - - The fraud filters. - - - - Gets the line items. - - The line items. - - - - Gets or sets the CAVV code. - - The CAVV code. - - - - Gets or sets the status. - - The status. - - - - Gets or sets the last name. - - The last name. - - - - Gets or sets the first name. - - The first name. - - - - Gets or sets the invoice number. - - The invoice number. - - - - Gets or sets the order description. - - The order description. - - - - Gets or sets the PO number. - - The PO number. - - - - Gets or sets the requested amount. - - The requested amount. - - - - Gets or sets the authorization amount. - - The authorization amount. - - - - Gets or sets the settle amount. - - The settle amount. - - - - Gets or sets the tax. - - The tax. - - - - Gets or sets the tax description. - - The tax description. - - - - Gets or sets the shipping. - - The shipping. - - - - Gets or sets the shipping description. - - The shipping description. - - - - Gets or sets the duty. - - The duty. - - - - Gets or sets the duty description. - - The duty description. - - - - Gets or sets the batch settlement ID. - - The batch settlement ID. - - - - Gets or sets the batch settled on. - - The batch settled on. - - - - Gets or sets the state of the batch settlement. - - The state of the batch settlement. - - - - Gets or sets a value indicating whether [tax exempt]. - - true if [tax exempt]; otherwise, false. - - - - Gets or sets the card number. - - The card number. - - - - Gets or sets the card expiration. - - The card expiration. - - - - Gets or sets the type of the card. - - The type of the card. - - - - Gets or sets eCheckBankAccount. - - eCheckBankAccount - - - - Gets or sets the customer ID. - - The customer ID. - - - - Gets or sets the customer email. - - The customer email. - - - - Gets or sets the billing address. - - The billing address. - - - - Gets or sets the shipping address. - - The shipping address. - - - - Gets or sets a value indicating whether this instance is recurring. - - - true if this instance is recurring; otherwise, false. - - - - - Gets the CAVV response. - - The CAVV response. - - - - Gets or sets the card response code. - - The card response code. - - - - Gets the card response. - - The card response. - - - - Gets or sets the AVS code. - - The AVS code. - - - - Gets the AVS response. - - The AVS response. - - - - Gets or Sets the MarketType - - MarketType - - - - Gets or Sets the Product - - Product - - - - Gets or Sets the MobileDeviceID - - MobileDeviceID - - - - Gets or Sets the SubscriptionPayment - - SubscriptionPayment - - - - Gets or Sets the HasReturnedItems - True - has eCheck returned items. use GetTransactionDetails to get detailed information on returned items - False - has no eCheck returned items. - Null - eCheck returned items information is not returned. - - HasReturnedItems - - - - Gets or Sets the ReturnedItems - - ReturnedItems - - - - Gets or Sets the Solution - - Solution - - - - A class that builds out a SIM-ready form for submission to Auth.net. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - These are field names and explanations only - - - - - The merchant's unique API Login ID - - - - - The merchant's unique Transaction Key - - - - - True, False - - - - - Whether to return the data in delimited fashion - - - - - If the return from AuthorizeNet is delimited - this is the character to use. Default is pipe - - - - - The relay response - leave this set as TRUE - - - - - The solution ID of your product or integration used for better reporting - - - - - Required - The merchant's transaction version - - - - - The type of transaction: - AUTH_CAPTURE (default), AUTH_ONLY, CAPTURE_ONLY, CREDIT, PRIOR_AUTH_CAPTURE, VOID - - - - - CC or ECHECK - - - - - The recurring billing status - - - - - The amount of the transaction - - - - - The credit card number - between 13 and 16 digits without spaces. When x_type=CREDIT, only the last four digits are required - - - - - The expiration date - MMYY, MM/YY, MM-YY, MMYYYY, MM/YYYY, MM-YYYY - - - - - The three- or four-digit number on the back of a credit card (on the front for American Express). - - - - - The credit card type or echeck in the case of echeck transactions. - - - - - The payment gateway assigned transaction ID of an original transaction - Required only for CREDIT, PRIOR_ AUTH_ CAPTURE, and VOID transactions - - - - - The payment gateway-assitned ID assigned when the original transaction includes two or more partial payments. This is the identifier that is used to group transactions that are part of a split tender order. - - - - - The authorization code of an original transaction not authorized on the payment gateway - - - - - The request to process test transactions - - - - - The window of time after the submission of a transaction that a duplicate transaction can not be submitted - - - - - The merchant assigned invoice number for the transaction - - - - - The transaction description - - - - - The ID of the Customer as relates to your application - - - - - NullableBooleanEnum - - - - - Generates the HMAC-encrypted hash to send along with the SIM form - - The merchant's transaction key - The merchant's Authorize.NET API Login - The amount of the transaction - The sequence - The timeStamp - string - - - - - Encrypts the key/value pair supplied using HMAC-MD5 - - key - value - - - - - Generates a 4-place sequence number randomly - - - - - - Generates a timestamp in seconds from 1970 - - - - - Source Code from MSDN article http://msdn.microsoft.com/en-us/magazine/cc163367.aspx - - - - - This class posts the XML Form to Authorize.NET - - - - - Initializes a new instance of the class. - - The mode. - The API login. - The transaction key. - - - - Adds authentication information to the request. - - The request. - - - - Sends the specified API request. - - The API request. - - - - diff --git a/DotNetCoreReleaseArtifacts/AuthorizeNET.dll b/DotNetCoreReleaseArtifacts/AuthorizeNET.dll new file mode 100644 index 0000000000000000000000000000000000000000..2108b24fe18284dbe6165807b314196553b52cc6 GIT binary patch literal 119296 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 G2mU8K9Gg%8 literal 0 HcmV?d00001 diff --git a/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj b/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj index b2c558e..43838c8 100644 --- a/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj +++ b/SampleCodeTest/SampleCodeTest_DotNet_Core.csproj @@ -14,6 +14,7 @@ bin\ + false @@ -51,7 +52,7 @@ - ..\AuthorizeNet.dll + ..\DotNetCoreReleaseArtifacts\AuthorizeNET.dll diff --git a/SampleCode_DotNet_Core.csproj b/SampleCode_DotNet_Core.csproj index 6d349fe..d915a5d 100644 --- a/SampleCode_DotNet_Core.csproj +++ b/SampleCode_DotNet_Core.csproj @@ -24,11 +24,6 @@ - - - - - @@ -43,7 +38,7 @@ - AuthorizeNet.dll + DotNetCoreReleaseArtifacts\AuthorizeNET.dll \ No newline at end of file diff --git a/SampleCode_DotNet_Core.sln b/SampleCode_DotNet_Core.sln index a68a305..b26662e 100644 --- a/SampleCode_DotNet_Core.sln +++ b/SampleCode_DotNet_Core.sln @@ -7,8 +7,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleCode_DotNet_Core", "S EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleCodeTest_DotNet_Core", "SampleCodeTest\SampleCodeTest_DotNet_Core.csproj", "{A0955044-8446-45AE-A8E9-2D97299E5C6A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthorizeNET", "..\AuthorizeNET\AuthorizeNET.csproj", "{973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -23,12 +21,11 @@ Global {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Debug|Any CPU.Build.0 = Debug|Any CPU {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A0955044-8446-45AE-A8E9-2D97299E5C6A}.Release|Any CPU.Build.0 = Release|Any CPU - {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {973B1ED4-CFBC-4F8D-B254-22F4F4DE784A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CFEC75E8-285B-413C-A7D9-7478C46F6307} + EndGlobalSection EndGlobal From b6ed75060cf5e5ba114db1716374af251a98efa6 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Tue, 26 Feb 2019 15:27:26 +0530 Subject: [PATCH 098/115] + Removing main method from this class --- Sha512/ComputeTransHashSHA2.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sha512/ComputeTransHashSHA2.cs b/Sha512/ComputeTransHashSHA2.cs index 7b5c885..fbbe727 100644 --- a/Sha512/ComputeTransHashSHA2.cs +++ b/Sha512/ComputeTransHashSHA2.cs @@ -9,7 +9,7 @@ namespace Sha512 { class ComputeTransHashSHA2 { - static void Main(string[] args) + static void TestTransHashSHA2(string[] args) { String key = "14B9609FFE2378449B3C0886046DD3B0F20DF12DEB758E48B5FFE1B5875615F0D2A50F7DDB1EAC417EBF76A1FAC374079793650AA493CE127601CB0960938E82"; String transId = "60115446273"; From 4deb384b4d264702693afd56c2dae05723be64c0 Mon Sep 17 00:00:00 2001 From: Kaushik Date: Sat, 2 Mar 2019 10:32:28 +0530 Subject: [PATCH 099/115] Update SDK version to 1.9.8 --- SampleCode.csproj | 2 +- packages.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 8eb719b..64dbdf3 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.7\lib\AuthorizeNet.dll + packages\AuthorizeNet.1.9.8\lib\AuthorizeNet.dll True diff --git a/packages.config b/packages.config index 71d0944..d647d30 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + From 007d3e07a25c39c3e6cbd99dc32d62cdced63c3a Mon Sep 17 00:00:00 2001 From: Kaushik Date: Mon, 4 Mar 2019 11:07:02 +0530 Subject: [PATCH 100/115] Update to 2.0.0. --- SampleCode.csproj | 2 +- packages.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 64dbdf3..6b645c7 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.1.9.8\lib\AuthorizeNet.dll + packages\AuthorizeNet.2.0.0\lib\AuthorizeNet.dll True diff --git a/packages.config b/packages.config index d647d30..1497e19 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + From b3c92482560f38edd393ec72bd9f3fc68d90fde0 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 20 Mar 2019 16:05:59 +0530 Subject: [PATCH 101/115] Update to latest version 2.0.1 of SDK --- SampleCode.csproj | 2 +- packages.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 6b645c7..6b248ce 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.2.0.0\lib\AuthorizeNet.dll + packages\AuthorizeNet.2.0.1\lib\AuthorizeNet.dll True diff --git a/packages.config b/packages.config index 1497e19..8d78c9e 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + From 5731c9831c4c356b5d1cd1946d947e32d5d1245f Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 31 Jul 2019 22:18:52 +0530 Subject: [PATCH 102/115] Update .travis.yml --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a019294..ab47a22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@ language: csharp +dist: trusty + install: - nuget restore SampleCode.sln - sudo apt-get install nunit-console From 1fa0d0e97e6b9fd97c5129a934502a7cec41fe82 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 12:43:33 +0530 Subject: [PATCH 103/115] Renamed Visa Checkout to Visa SRC --- VisaCheckout/CreateVisaCheckoutTransaction.cs | 98 ------------------- VisaCheckout/DecryptVisaCheckoutData.cs | 60 ------------ 2 files changed, 158 deletions(-) delete mode 100644 VisaCheckout/CreateVisaCheckoutTransaction.cs delete mode 100644 VisaCheckout/DecryptVisaCheckoutData.cs diff --git a/VisaCheckout/CreateVisaCheckoutTransaction.cs b/VisaCheckout/CreateVisaCheckoutTransaction.cs deleted file mode 100644 index e9f5b82..0000000 --- a/VisaCheckout/CreateVisaCheckoutTransaction.cs +++ /dev/null @@ -1,98 +0,0 @@ -using AuthorizeNet.Api.Contracts.V1; -using AuthorizeNet.Api.Controllers; -using AuthorizeNet.Api.Controllers.Bases; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace net.authorize.sample -{ - public class CreateVisaCheckoutTransaction - { - public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) - { - Console.WriteLine("Running VisaCheckoutTransaction Sample ..."); - // The test setup. - ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() - { - name = ApiLoginID, - ItemElementName = ItemChoiceType.transactionKey, - Item = ApiTransactionKey, - }; - - ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; - - - //set up data based on transaction - var transactionAmount = Convert.ToDecimal(25.60); - var opaqueDataType = new opaqueDataType - { - dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", - dataKey = "NQzcMISSxLX789w+CGX+tXi3lKntO1dpZbZaREOUprVRByJkg1xnpc2Wx9aT5/BLOxQmHqmIsjjy+tF6HqKKGwovvXjIS3fE3y3tBRNbz8D7y6vYMup+AWbEvZqDEBSi", - dataValue = "+6hn53rUcggeZZti2IdBp3qNLa9ohAH87cFSc1BggZFNEpsrfdJbRViWwv/JbCNkHkOD6CpFlRO3gCDH2VEQTd8laqWR1ccHiZpdYDnOxfhUQpU9E18ZByW7j17puVWogh7HaItbDUL0YvIxxfClX9bohurOo1JHyUgBO9YxTj3CLY2RdRkjmipAQqOyxiGX9enFQjAHdPgKj2RxnVMYe8on5ei94zbtYUbI3fXrp3I+DJcZCGZ4SzrlnPAPpcn20qaIoaOTX/xuD+voRAUKb/KE5oy+CuSNBtyMBgrvWU0Lf3SLjGfE/FJx3Bh9/LABCwWBYQvtpo3DQkDItp8P5/3EOz7JwBFbFd9UQs8wm/J8YvJMd3Kf4MkQ1+KYyg17RH6OAcoNaqQxT3MjOSvVv3KAlKV82ZDco+IRTVPcjyVd/Vff0qDIqes08fPCQDhttefl/bh18urrmCnM9PcP7xJ0A8Ek7LRMLF19c81O7IIaEn0FXxq+UuV5oZArY+mE4GD08xizyd0hoW9pvsdZ7RkuPu4yK1yXPTAKbc3vTxrj0kamFWd4kRHapwLxcvawIQzrlQGQj5AUFkpEg1o1UGWz0vtGgqE08hplJehsTZwPw9KSaA+u5M79gXM3uLR8g2RlE5cEDRLy3aEv0ufeag+lt8zME9wzrfTK8zhjTdBGIAJqSUYto1JbiW9IEMJgjLaqEJhwO49pNlUgOJVp7BXO9JoHPM8PyS+vZlOCX6b0bip/+mCEok09L9B0IhnLjs95Q4kDZfCcQNfDIdLEPe5tLp8eGaSkK3HDoQFbZKCFyGmUTEEF19PScZURbYuGrwpxHqqAAhU87ZmdhRRdJbMTrWPhIvk9/kRzRIP2ciKu8ClNZIJ9azafIUBo7WdlYs+6QbLCn8UCNvYczrLXo3tGhVvHPheWWgmuxDYbHDyJu7SIPKgVvi6LrPYgg8g+I0pMWPojWmBdp85tMt+sQrWk2x325/pOrYXj8fc2W8PHtOAka1EltTdZiNsRKzA8orzLQrtvqtxhzgXMSTOEmosEAxA7DuQdKscL2BWWmiYsAOCNYQxtm/nR6PBAKZ5PDS6Wjk73hKTOeB6kA5E/H1ij15iJqNK6O1+4b4gpJHnHm7tccVQIK5w1EeLR1waqO2G4FMM5FoyA1WsSEQURQncDek0bK1ohcu73l5FLiq8he/H6gF3dEsKL6Z367ki59HKwnnJXfWj/WOUZxTbIho4H5i/lIcc0vSgFH84ReTjjiANEm+ccl5PcFV9wEVlbGXiOiJfeZ0mEzo9ghDyKEAGEDzZtHDwZzKEYyT92oFXkeewGQ6DJX7GSQPZ1MW17jAQODAqmzJcmwMunc7PwGvJcscRbxkXpGe7/asq2H4POz3ByBrBQHCl/+oUVtw8hEbavCpuEgXfWl09Sc3Dfg69UP8XBR80vWsP1YL8YtBxOmL2hinZc5SJZ4boulAOHiMQyKBwwkg2D1gJDEY9JzUJtbg3p06swB0UthNmVuo/1mV8047sB5QrjGCugEo87+vh9eV1EVvyLZLRFS+RIZoIpLR3UkO6Pe1s7MnO7ZvCsbz9sKNb0GtQPoFtU9b7KaCHgQ20vL7xjqTEmR2QwkHEriuGJ8a7oMdSd88w/e2InL1SfHCnS2JeWY9vY6RSTvmjkEf3BFGhHjFP5QRR3Bd8AVH/1YrFcxtSSJP5GeY3CVnJgjZToK+ngxsRzpDcEm6pz3RPUEIBNkk3c9plpdlMbyvuVVKXLSFdTdtAALRfiD9qhdpgGMqboZ0kXi+qn3irYXT19q8oQktoZ4ILkbzewloftLbfUTqQprA8cddy7/ikUKKhBoBVs/DAupRe9aRP3TLgIEz6eNNilZszXoFfUv9EgqOZ0EBb83KNV3HvbE2xGJcTArjRpmzszQQkNOpJnyRDtvPj7FU7K16UYQ9zQBrxnx5vnoWSaqNhzOxikd+hWZ6i5G7EPpCO+utdoMdyOTOoDAjBmiy5JsDHSVv4zvkT9ySYPH2PmS47mMEpZICKTAxuDrm3zTpT064P+7ivcGmaIyaBCkc4udIHaWSbi5XJ/ciXUxSqAtqaVcd5HD++6vjBzKhbAPU4shSBav6qCSp/XqFurEAJbkLB3VmXe7bghcM+VNPJHHiYlIdzndDaFENyaZCukypggK0Gf4cH+8CKI9YnQx9s4JMs4lX57i4IkkoJE7fjWaOHyxYM/AiKvWlMQtRO8Y5Yta454JfHVq7Mg11Wqu2Ex4q5QLNqKudVt3wveu3G1zoNFanW6i+d0Aa3hTdxerl9BacX/" - }; - - //standard api call to retrieve response - var paymentType = new paymentType { Item = opaqueDataType }; - var transactionRequest = new transactionRequestType - { - transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), - payment = paymentType, - amount = transactionAmount, - callId = "1482912778237697701" - }; - var request = new createTransactionRequest { transactionRequest = transactionRequest }; - var controller = new createTransactionController(request); - controller.Execute(); - var response = controller.GetApiResponse(); - - // validate response - if (response != null) - { - if (response.messages.resultCode == messageTypeEnum.Ok) - { - if(response.transactionResponse.messages != null) - { - Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); - Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); - Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); - Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); - Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); - } - else - { - Console.WriteLine("Failed Transaction."); - if (response.transactionResponse.errors != null) - { - Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); - Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); - } - } - } - else - { - Console.WriteLine("Failed Transaction."); - if (response.transactionResponse != null && response.transactionResponse.errors != null) - { - Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); - Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); - } - else - { - Console.WriteLine("Error Code: " + response.messages.message[0].code); - Console.WriteLine("Error message: " + response.messages.message[0].text); - } - } - } - else - { - Console.WriteLine("Null Response."); - } - - return response; - - } - } -} \ No newline at end of file diff --git a/VisaCheckout/DecryptVisaCheckoutData.cs b/VisaCheckout/DecryptVisaCheckoutData.cs deleted file mode 100644 index a01cf14..0000000 --- a/VisaCheckout/DecryptVisaCheckoutData.cs +++ /dev/null @@ -1,60 +0,0 @@ -using AuthorizeNet.Api.Contracts.V1; -using AuthorizeNet.Api.Controllers; -using AuthorizeNet.Api.Controllers.Bases; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace net.authorize.sample -{ - public class DecryptVisaCheckoutData - { - public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) - { - Console.WriteLine("Running VisaCheckoutDecrypt Sample ..."); - - ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() - { - name = ApiLoginID, - ItemElementName = ItemChoiceType.transactionKey, - Item = ApiTransactionKey, - }; - - ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; - - //create a transaction - var opaqueDataType = new opaqueDataType - { - dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", - dataKey = "foFBEbhXljevQQasx5Q87hzj57xvUl4iBmXDdB1vs/Lm/M1uKJiF9V5QxI0A6NvAtIckMvutSl0Chz2SNoSeBuTRzK0y4IlfnfWKnJF7a1LV/bjZokTtFKINdZ+Ks9RB", - dataValue = "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" - }; - - var decryptPaymentDataRequest = new decryptPaymentDataRequest() - { - opaqueData = opaqueDataType, - callId = "1166739390571781401" - }; - //create controller, execute and get response - var decryptPaymentDataController = new decryptPaymentDataController(decryptPaymentDataRequest); - decryptPaymentDataController.Execute(); - var decryptPaymentDataResponse = decryptPaymentDataController.GetApiResponse(); - - if (decryptPaymentDataResponse != null) - { - // validate response - Console.WriteLine("Result : "+decryptPaymentDataResponse.messages.message); - Console.WriteLine(" : "+decryptPaymentDataResponse.messages.resultCode); - Console.WriteLine("First Name : "+decryptPaymentDataResponse.billingInfo.firstName); - Console.WriteLine("Last name : "+decryptPaymentDataResponse.billingInfo.lastName); - Console.WriteLine("Card Number : "+decryptPaymentDataResponse.cardInfo.cardNumber); - Console.WriteLine("Amount : "+decryptPaymentDataResponse.paymentDetails.amount); - } - - return decryptPaymentDataResponse; - - } - } -} From d0e6eb2e9852d849813d98ae78ea32eb3648b7ba Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 12:43:56 +0530 Subject: [PATCH 104/115] Renamed Visa Checkout to Visa SRC --- VisaCheckout/CreateVisaSrcTransaction.cs | 98 ++++++++++++++++++++++++ VisaCheckout/DecryptVisaSrcData.cs | 60 +++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 VisaCheckout/CreateVisaSrcTransaction.cs create mode 100644 VisaCheckout/DecryptVisaSrcData.cs diff --git a/VisaCheckout/CreateVisaSrcTransaction.cs b/VisaCheckout/CreateVisaSrcTransaction.cs new file mode 100644 index 0000000..afb269c --- /dev/null +++ b/VisaCheckout/CreateVisaSrcTransaction.cs @@ -0,0 +1,98 @@ +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace net.authorize.sample +{ + public class CreateVisaSrcTransaction + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Running VisaCheckoutTransaction Sample ..."); + // The test setup. + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + + //set up data based on transaction + var transactionAmount = Convert.ToDecimal(25.60); + var opaqueDataType = new opaqueDataType + { + dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", + dataKey = "NQzcMISSxLX789w+CGX+tXi3lKntO1dpZbZaREOUprVRByJkg1xnpc2Wx9aT5/BLOxQmHqmIsjjy+tF6HqKKGwovvXjIS3fE3y3tBRNbz8D7y6vYMup+AWbEvZqDEBSi", + dataValue = "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" + }; + + //standard api call to retrieve response + var paymentType = new paymentType { Item = opaqueDataType }; + var transactionRequest = new transactionRequestType + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), + payment = paymentType, + amount = transactionAmount, + callId = "1482912778237697701" + }; + var request = new createTransactionRequest { transactionRequest = transactionRequest }; + var controller = new createTransactionController(request); + controller.Execute(); + var response = controller.GetApiResponse(); + + // validate response + if (response != null) + { + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if(response.transactionResponse.messages != null) + { + Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); + Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); + Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); + Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); + Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + } + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse != null && response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + else + { + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + } + } + else + { + Console.WriteLine("Null Response."); + } + + return response; + + } + } +} \ No newline at end of file diff --git a/VisaCheckout/DecryptVisaSrcData.cs b/VisaCheckout/DecryptVisaSrcData.cs new file mode 100644 index 0000000..2ce4279 --- /dev/null +++ b/VisaCheckout/DecryptVisaSrcData.cs @@ -0,0 +1,60 @@ +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace net.authorize.sample +{ + public class DecryptVisaSrcData + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Running VisaCheckoutDecrypt Sample ..."); + + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + //create a transaction + var opaqueDataType = new opaqueDataType + { + dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", + dataKey = "foFBEbhXljevQQasx5Q87hzj57xvUl4iBmXDdB1vs/Lm/M1uKJiF9V5QxI0A6NvAtIckMvutSl0Chz2SNoSeBuTRzK0y4IlfnfWKnJF7a1LV/bjZokTtFKINdZ+Ks9RB", + dataValue = "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" + }; + + var decryptPaymentDataRequest = new decryptPaymentDataRequest() + { + opaqueData = opaqueDataType, + callId = "1166739390571781401" + }; + //create controller, execute and get response + var decryptPaymentDataController = new decryptPaymentDataController(decryptPaymentDataRequest); + decryptPaymentDataController.Execute(); + var decryptPaymentDataResponse = decryptPaymentDataController.GetApiResponse(); + + if (decryptPaymentDataResponse != null) + { + // validate response + Console.WriteLine("Result : "+decryptPaymentDataResponse.messages.message); + Console.WriteLine(" : "+decryptPaymentDataResponse.messages.resultCode); + Console.WriteLine("First Name : "+decryptPaymentDataResponse.billingInfo.firstName); + Console.WriteLine("Last name : "+decryptPaymentDataResponse.billingInfo.lastName); + Console.WriteLine("Card Number : "+decryptPaymentDataResponse.cardInfo.cardNumber); + Console.WriteLine("Amount : "+decryptPaymentDataResponse.paymentDetails.amount); + } + + return decryptPaymentDataResponse; + + } + } +} From 8af0d134bfa18119130ed53b3ceb7069af399f39 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 12:45:12 +0530 Subject: [PATCH 105/115] Renamed Visa Checkout to Visa SRC --- SampleCode.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index 6b248ce..c5d94ae 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -111,9 +111,9 @@ - + - + From 242a914f47b95e75f0b5990bbebfc3527dc7ada7 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 12:54:46 +0530 Subject: [PATCH 106/115] Renamed Visa Checkout to Visa SRC --- SampleCode.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SampleCode.cs b/SampleCode.cs index dcf944d..511fd31 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -82,8 +82,8 @@ private static void ShowMethods() Console.WriteLine(" CreateAnApplePayTransaction"); Console.WriteLine(" CreateAnAndroidPayTransaction"); Console.WriteLine(" CreateAnAcceptTransaction"); - Console.WriteLine(" DecryptVisaCheckoutData"); - Console.WriteLine(" CreateVisaCheckoutTransaction"); + Console.WriteLine(" DecryptVisaSrcData"); + Console.WriteLine(" CreateVisaSrcTransaction"); Console.WriteLine(" PayPalVoid"); Console.WriteLine(" PayPalAuthorizeCapture"); Console.WriteLine(" PayPalAuthorizeCaptureContinued"); @@ -239,11 +239,11 @@ private static void RunMethod(String methodName) case "CreateAnAcceptTransaction": CreateAnAcceptTransaction.Run(apiLoginId, transactionKey, 12.23m); break; - case "DecryptVisaCheckoutData": - DecryptVisaCheckoutData.Run(apiLoginId, transactionKey); + case "DecryptVisaSrcData": + DecryptVisaSrcData.Run(apiLoginId, transactionKey); break; - case "CreateVisaCheckoutTransaction": - CreateVisaCheckoutTransaction.Run(apiLoginId, transactionKey); + case "CreateVisaSrcTransaction": + CreateVisaSrcTransaction.Run(apiLoginId, transactionKey); break; case "ChargeCreditCard": ChargeCreditCard.Run(apiLoginId, transactionKey, amount); From 7522359991a771f011efd7d4e2974c29fcf23b60 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 12:55:50 +0530 Subject: [PATCH 107/115] Renamed Visa Checkout to Visa SRC --- SampleCodeTest/SampleCodeList.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 6a9d86b..4052788 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -5,8 +5,8 @@ GetTransactionList 0 1 CreateAnApplePayTransaction 1 0 CreateAnAndroidPayTransaction 1 0 CreateAnAcceptTransaction 1 0 -DecryptVisaCheckoutData 0 1 -CreateVisaCheckoutTransaction 0 0 +DecryptVisaSrcData 0 1 +CreateVisaSrcTransaction 0 0 CaptureFundsAuthorizedThroughAnotherChannel 1 1 AuthorizeCreditCard 1 1 DebitBankAccount 1 1 From 2ce9f8da46f70ff0e593b35b10df2089b5316751 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Wed, 4 Mar 2020 13:10:22 +0530 Subject: [PATCH 108/115] Blocking GetCustomerProfileIds call as response exceeds log limit --- SampleCodeTest/SampleCodeList.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCodeTest/SampleCodeList.txt b/SampleCodeTest/SampleCodeList.txt index 4052788..9df563d 100644 --- a/SampleCodeTest/SampleCodeList.txt +++ b/SampleCodeTest/SampleCodeList.txt @@ -22,7 +22,7 @@ UpdateCustomerShippingAddress 1 1 UpdateCustomerProfile 1 1 UpdateCustomerPaymentProfile 1 1 GetCustomerShippingAddress 1 1 -GetCustomerProfileIds 1 1 +GetCustomerProfileIds 1 0 GetCustomerProfile 1 1 GetAcceptCustomerProfilePage 1 1 GetCustomerPaymentProfile 1 1 From a0a56af42ba5dcc4ec45a05d46a7102c601bfefe Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Thu, 7 Apr 2022 15:25:08 +0530 Subject: [PATCH 109/115] Update to new version of SDK --- SampleCode.csproj | 2 +- SampleCode.exe | Bin 100352 -> 101888 bytes SampleCode.sln | 4 +++- packages.config | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/SampleCode.csproj b/SampleCode.csproj index c5d94ae..f93d263 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -36,7 +36,7 @@ - packages\AuthorizeNet.2.0.1\lib\AuthorizeNet.dll + packages\AuthorizeNet.2.0.3\lib\AuthorizeNet.dll True diff --git a/SampleCode.exe b/SampleCode.exe index b27652105da04c7322bb39760862484bc65bf9cb..85be577cbd69cb8b6fc4c0b98ab7b31b56ebc47e 100644 GIT binary patch delta 18317 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 delta 17292 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 L!Tm2+nP&Na`4FyC diff --git a/SampleCode.sln b/SampleCode.sln index 5e4ede4..e84cfa5 100644 --- a/SampleCode.sln +++ b/SampleCode.sln @@ -1,6 +1,8 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32228.343 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleCode", "SampleCode.csproj", "{EE8CB03C-AFF3-4480-AFD5-1C8B51540570}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleCodeTest", "SampleCodeTest\SampleCodeTest.csproj", "{71C96893-D93D-469D-A49D-1B3DE4985914}" diff --git a/packages.config b/packages.config index 8d78c9e..05e33d5 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + From 57eb33ca367c7ec0c97f7b5c6ea84a293c68f794 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Date: Wed, 19 Jul 2023 17:25:46 +0530 Subject: [PATCH 110/115] Added CreateGooglePayTransaction --- .../CreateGooglePayTransaction.cs | 132 ++++++++++++++++++ SampleCode.cs | 6 +- SampleCode.csproj | 1 + SampleCode.exe | Bin 101888 -> 103936 bytes packages.config | 3 +- 5 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 MobileInAppTransactions/CreateGooglePayTransaction.cs diff --git a/MobileInAppTransactions/CreateGooglePayTransaction.cs b/MobileInAppTransactions/CreateGooglePayTransaction.cs new file mode 100644 index 0000000..3648884 --- /dev/null +++ b/MobileInAppTransactions/CreateGooglePayTransaction.cs @@ -0,0 +1,132 @@ +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace net.authorize.sample.MobileInAppTransactions +{ + public class CreateGooglePayTransaction + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, Decimal Amount) + { + Console.WriteLine("Create Google Pay Transaction Sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var opaqueData = new opaqueDataType() + { + dataDescriptor = "COMMON.GOOGLE.INAPP.PAYMENT", + dataValue = "1234567890ABCDEF1111AAAA2222BBBB3333CCCC4444DDDD5555EEEE6666FFFF7777888899990000", + }; + + var paymentType = new paymentType() + { + Item = opaqueData + }; + + var lineItems = new lineItemType[] + { + new lineItemType() + { + itemId = "1", + name = "vase", + description = "Cannes logo", + quantity = 18, + unitPrice = 45.00M + } + }; + + var tax = new extendedAmountType() + { + amount = Amount, + name = "level2 tax name", + description = "level2 tax" + }; + + var userFields = new userField[] + { + new userField() + { + name = "UserDefinedFieldName1", + value = "UserDefinedFieldValue1" + }, + new userField() + { + name = "UserDefinedFieldName2", + value = "UserDefinedFieldName2" + } + }; + + var transactionRequest = new transactionRequestType() + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), + amount = Amount, + payment = paymentType, + lineItems = lineItems, + tax = tax, + userFields = userFields + }; + + var request = new createTransactionRequest { transactionRequest = transactionRequest }; + + var controller = new createTransactionController(request); + controller.Execute(); + + var response = controller.GetApiResponse(); + + if (response != null) + { + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.transactionResponse.messages != null) + { + Console.WriteLine("Successfully created a Google Pay transaction with Transaction ID: " + response.transactionResponse.transId); + Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); + Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); + Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + } + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse != null && response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + else + { + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + } + } + else + { + Console.WriteLine("Null Response."); + } + + return response; + } + } +} diff --git a/SampleCode.cs b/SampleCode.cs index 511fd31..844eb09 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -1,4 +1,4 @@ -using net.authorize.sample.MobileInappTransactions; +using net.authorize.sample.MobileInAppTransactions; using net.authorize.sample.PaymentTransactions; using System; using net.authorize.sample.CustomerProfiles; @@ -82,6 +82,7 @@ private static void ShowMethods() Console.WriteLine(" CreateAnApplePayTransaction"); Console.WriteLine(" CreateAnAndroidPayTransaction"); Console.WriteLine(" CreateAnAcceptTransaction"); + Console.WriteLine(" CreateGooglePayTransaction"); Console.WriteLine(" DecryptVisaSrcData"); Console.WriteLine(" CreateVisaSrcTransaction"); Console.WriteLine(" PayPalVoid"); @@ -239,6 +240,9 @@ private static void RunMethod(String methodName) case "CreateAnAcceptTransaction": CreateAnAcceptTransaction.Run(apiLoginId, transactionKey, 12.23m); break; + case "CreateGooglePayTransaction": + CreateGooglePayTransaction.Run(apiLoginId, transactionKey, 50.00m); + break; case "DecryptVisaSrcData": DecryptVisaSrcData.Run(apiLoginId, transactionKey); break; diff --git a/SampleCode.csproj b/SampleCode.csproj index f93d263..dbaf28f 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -54,6 +54,7 @@ + diff --git a/SampleCode.exe b/SampleCode.exe index 85be577cbd69cb8b6fc4c0b98ab7b31b56ebc47e..9e5c1b6e9722122ba57edef2bc827df94361fa11 100644 GIT binary patch literal 103936 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 diff --git a/packages.config b/packages.config index 05e33d5..e8e34cd 100644 --- a/packages.config +++ b/packages.config @@ -2,5 +2,4 @@ - - + \ No newline at end of file From 8cd49f557a218c1f368b006901200347b8920bdb Mon Sep 17 00:00:00 2001 From: Gaidin Daishan Date: Thu, 22 Feb 2024 16:34:58 +0530 Subject: [PATCH 111/115] Updated dates used in requests --- CustomerProfiles/CreateCustomerProfile.cs | 2 +- .../UpdateCustomerPaymentProfile.cs | 2 +- .../UpdateCustomerShippingAddress.cs | 2 +- .../CreateAnAcceptTransaction.cs | 2 +- .../CreateAnAndroidPayTransaction.cs | 2 +- .../CreateAnApplePayTransaction.cs | 2 +- .../CreateGooglePayTransaction.cs | 2 +- PaymentTransactions/AuthorizeCreditCard.cs | 2 +- ...ureFundsAuthorizedThroughAnotherChannel.cs | 2 +- PaymentTransactions/ChargeCreditCard.cs | 2 +- .../ChargeTokenizedCreditCard.cs | 2 +- .../CreateChasePayTransaction.cs | 2 +- RecurringBilling/CreateSubscription.cs | 2 +- .../CreateSubscriptionFromCustomerProfile.cs | 2 +- RecurringBilling/UpdateSubscription.cs | 2 +- SampleCode.cs | 1 - SampleCode.csproj | 2 +- SampleCode.exe | Bin 103936 -> 103424 bytes SampleCodeTest/SampleCodeTest.csproj | 4 ++-- SampleCodeTest/TestRunner.cs | 1 - 20 files changed, 18 insertions(+), 20 deletions(-) diff --git a/CustomerProfiles/CreateCustomerProfile.cs b/CustomerProfiles/CreateCustomerProfile.cs index 9c69da4..ea1c2f1 100644 --- a/CustomerProfiles/CreateCustomerProfile.cs +++ b/CustomerProfiles/CreateCustomerProfile.cs @@ -26,7 +26,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; var bankAccount = new bankAccountType diff --git a/CustomerProfiles/UpdateCustomerPaymentProfile.cs b/CustomerProfiles/UpdateCustomerPaymentProfile.cs index 5d0fbc7..9be4e39 100644 --- a/CustomerProfiles/UpdateCustomerPaymentProfile.cs +++ b/CustomerProfiles/UpdateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //=========================================================================== diff --git a/CustomerProfiles/UpdateCustomerShippingAddress.cs b/CustomerProfiles/UpdateCustomerShippingAddress.cs index ce81475..49d9c0e 100644 --- a/CustomerProfiles/UpdateCustomerShippingAddress.cs +++ b/CustomerProfiles/UpdateCustomerShippingAddress.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; var paymentType = new paymentType { Item = creditCard }; diff --git a/MobileInAppTransactions/CreateAnAcceptTransaction.cs b/MobileInAppTransactions/CreateAnAcceptTransaction.cs index e94a4f9..12eb560 100644 --- a/MobileInAppTransactions/CreateAnAcceptTransaction.cs +++ b/MobileInAppTransactions/CreateAnAcceptTransaction.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; -namespace net.authorize.sample.MobileInappTransactions +namespace net.authorize.sample { public class CreateAnAcceptTransaction { diff --git a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs index b0267ac..e046949 100644 --- a/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs +++ b/MobileInAppTransactions/CreateAnAndroidPayTransaction.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Text; -namespace net.authorize.sample.MobileInappTransactions +namespace net.authorize.sample { public class CreateAnAndroidPayTransaction { diff --git a/MobileInAppTransactions/CreateAnApplePayTransaction.cs b/MobileInAppTransactions/CreateAnApplePayTransaction.cs index 76fd909..ed94d5a 100644 --- a/MobileInAppTransactions/CreateAnApplePayTransaction.cs +++ b/MobileInAppTransactions/CreateAnApplePayTransaction.cs @@ -6,7 +6,7 @@ using AuthorizeNet.Api.Contracts.V1; using AuthorizeNet.Api.Controllers.Bases; -namespace net.authorize.sample.MobileInappTransactions +namespace net.authorize.sample { public class CreateAnApplePayTransaction { diff --git a/MobileInAppTransactions/CreateGooglePayTransaction.cs b/MobileInAppTransactions/CreateGooglePayTransaction.cs index 3648884..e07ee08 100644 --- a/MobileInAppTransactions/CreateGooglePayTransaction.cs +++ b/MobileInAppTransactions/CreateGooglePayTransaction.cs @@ -7,7 +7,7 @@ using System.Text; using System.Threading.Tasks; -namespace net.authorize.sample.MobileInAppTransactions +namespace net.authorize.sample { public class CreateGooglePayTransaction { diff --git a/PaymentTransactions/AuthorizeCreditCard.cs b/PaymentTransactions/AuthorizeCreditCard.cs index 4420171..ccf631a 100644 --- a/PaymentTransactions/AuthorizeCreditCard.cs +++ b/PaymentTransactions/AuthorizeCreditCard.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //standard api call to retrieve response diff --git a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs index b2be7fb..4d7f22c 100644 --- a/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs +++ b/PaymentTransactions/CaptureFundsAuthorizedThroughAnotherChannel.cs @@ -29,7 +29,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //standard api call to retrieve response diff --git a/PaymentTransactions/ChargeCreditCard.cs b/PaymentTransactions/ChargeCreditCard.cs index 7132d48..024b6a9 100644 --- a/PaymentTransactions/ChargeCreditCard.cs +++ b/PaymentTransactions/ChargeCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028", + expirationDate = "1035", cardCode = "123" }; diff --git a/PaymentTransactions/ChargeTokenizedCreditCard.cs b/PaymentTransactions/ChargeTokenizedCreditCard.cs index b7a8c2a..6da78e9 100644 --- a/PaymentTransactions/ChargeTokenizedCreditCard.cs +++ b/PaymentTransactions/ChargeTokenizedCreditCard.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028", + expirationDate = "1035", // Set the token specific info isPaymentToken = true, cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=" // Set this to the value of the cryptogram received from the token provide diff --git a/PaymentTransactions/CreateChasePayTransaction.cs b/PaymentTransactions/CreateChasePayTransaction.cs index ecfa16a..d14de16 100644 --- a/PaymentTransactions/CreateChasePayTransaction.cs +++ b/PaymentTransactions/CreateChasePayTransaction.cs @@ -28,7 +28,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "0725", + expirationDate = "0735", cardCode = "999", // Set the token specific info isPaymentToken = true, diff --git a/RecurringBilling/CreateSubscription.cs b/RecurringBilling/CreateSubscription.cs index 1148d0e..256cda9 100644 --- a/RecurringBilling/CreateSubscription.cs +++ b/RecurringBilling/CreateSubscription.cs @@ -40,7 +40,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //standard api call to retrieve response diff --git a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs index f4af347..ec32399 100644 --- a/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs +++ b/RecurringBilling/CreateSubscriptionFromCustomerProfile.cs @@ -41,7 +41,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //standard api call to retrieve response diff --git a/RecurringBilling/UpdateSubscription.cs b/RecurringBilling/UpdateSubscription.cs index b679359..54da0b2 100644 --- a/RecurringBilling/UpdateSubscription.cs +++ b/RecurringBilling/UpdateSubscription.cs @@ -32,7 +32,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s var creditCard = new creditCardType { cardNumber = "4111111111111111", - expirationDate = "1028" + expirationDate = "1035" }; //standard api call to retrieve response diff --git a/SampleCode.cs b/SampleCode.cs index 844eb09..b8fc8c7 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -1,4 +1,3 @@ -using net.authorize.sample.MobileInAppTransactions; using net.authorize.sample.PaymentTransactions; using System; using net.authorize.sample.CustomerProfiles; diff --git a/SampleCode.csproj b/SampleCode.csproj index dbaf28f..5962cac 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -9,7 +9,7 @@ Properties net.authorize.sample SampleCode - v4.5 + v4.5.1 512 diff --git a/SampleCode.exe b/SampleCode.exe index 9e5c1b6e9722122ba57edef2bc827df94361fa11..0b2dfdc9dd9700ecdc0fe784294514845d4b066b 100644 GIT binary patch delta 23065 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 delta 23166 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 diff --git a/SampleCodeTest/SampleCodeTest.csproj b/SampleCodeTest/SampleCodeTest.csproj index fa2b7ce..74b274d 100644 --- a/SampleCodeTest/SampleCodeTest.csproj +++ b/SampleCodeTest/SampleCodeTest.csproj @@ -8,7 +8,7 @@ Properties SampleCodeTest SampleCodeTest - v4.5 + v4.5.1 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10.0 @@ -39,7 +39,7 @@ - ..\AuthorizeNet.dll + ..\packages\AuthorizeNet.2.0.3\lib\AuthorizeNet.dll False diff --git a/SampleCodeTest/TestRunner.cs b/SampleCodeTest/TestRunner.cs index e4b3a55..50e217f 100644 --- a/SampleCodeTest/TestRunner.cs +++ b/SampleCodeTest/TestRunner.cs @@ -10,7 +10,6 @@ using net.authorize.sample.PaymentTransactions; using System.Threading; using net.authorize.sample.CustomerProfiles; -using net.authorize.sample.MobileInappTransactions; #if NETCOREAPP2_0 using AuthorizeNet.Utilities; #endif From 627dc76158432f99ed075c24530330238cd12cfe Mon Sep 17 00:00:00 2001 From: gnongsie Date: Wed, 24 Jul 2024 21:35:12 +0530 Subject: [PATCH 112/115] Modifications to keep up to date --- .../CreateCustomerPaymentProfile.cs | 2 +- .../ValidateCustomerPaymentProfile.cs | 2 +- SampleCode.cs | 6 +++--- SampleCode.csproj | 2 +- SampleCode.exe | Bin 103424 -> 103936 bytes SampleCodeTest/SampleCodeList.txt | 2 +- SampleCodeTest/SampleCodeTest.csproj | 17 ++++++++++++++--- SampleCodeTest/packages.config | 5 +++++ packages.config | 1 - 9 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 SampleCodeTest/packages.config diff --git a/CustomerProfiles/CreateCustomerPaymentProfile.cs b/CustomerProfiles/CreateCustomerPaymentProfile.cs index 601e285..1e21334 100644 --- a/CustomerProfiles/CreateCustomerPaymentProfile.cs +++ b/CustomerProfiles/CreateCustomerPaymentProfile.cs @@ -48,7 +48,7 @@ public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, s { customerProfileId = customerProfileId, paymentProfile = echeckPaymentProfile, - validationMode = validationModeEnum.none + validationMode = validationModeEnum.testMode }; // instantiate the controller that will call the service diff --git a/CustomerProfiles/ValidateCustomerPaymentProfile.cs b/CustomerProfiles/ValidateCustomerPaymentProfile.cs index b8eb602..7d39eb3 100644 --- a/CustomerProfiles/ValidateCustomerPaymentProfile.cs +++ b/CustomerProfiles/ValidateCustomerPaymentProfile.cs @@ -27,7 +27,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, s var request = new validateCustomerPaymentProfileRequest(); request.customerProfileId = customerProfileId; request.customerPaymentProfileId = customerPaymentProfileId; - request.validationMode = validationModeEnum.liveMode; + request.validationMode = validationModeEnum.testMode; // instantiate the controller that will call the service diff --git a/SampleCode.cs b/SampleCode.cs index b8fc8c7..64deac2 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -149,10 +149,10 @@ private static void RunMethod(String methodName) //Update PayerID for which you want to run the sample code const string payerId = "M8R9JRNJ3R28Y"; - const string customerProfileId = "1915435550"; //"213213"; - const string customerPaymentProfileId = "1828811149"; //"2132345"; + const string customerProfileId = "922449496"; //"213213"; + const string customerPaymentProfileId = "921836008"; //"2132345"; - const string shippingAddressId = "1223213"; + const string shippingAddressId = "922279358"; const decimal amount = 12.34m; const string subscriptionId = "1223213"; const short day = 45; diff --git a/SampleCode.csproj b/SampleCode.csproj index 5962cac..7ffef27 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -9,7 +9,7 @@ Properties net.authorize.sample SampleCode - v4.5.1 + v4.6.1 512 diff --git a/SampleCode.exe b/SampleCode.exe index 0b2dfdc9dd9700ecdc0fe784294514845d4b066b..03d6bd73e944754f168924a8a0c1c24350ebd375 100644 GIT binary patch literal 103936 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 E3xccmfdBvi literal 103424 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 c7Wz);>wCWcn@sdo68-{v@Be@O + Debug AnyCPU @@ -8,7 +9,7 @@ Properties SampleCodeTest SampleCodeTest - v4.5.1 + v4.6.1 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10.0 @@ -17,6 +18,8 @@ False UnitTest + + true @@ -42,8 +45,7 @@ ..\packages\AuthorizeNet.2.0.3\lib\AuthorizeNet.dll - False - ..\packages\NUnit.3.9.0\lib\net45\nunit.framework.dll + ..\packages\NUnit.2.6.3\lib\nunit.framework.dll @@ -72,6 +74,9 @@ + + + @@ -92,6 +97,12 @@ + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + +

=rXiS)Q3 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 L|Nr@a4+H-T@-zMr literal 98304 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 Y^Ut~(U(1aXW$WA* - ..\AuthorizeNet.dll + ..\packages\AuthorizeNet.1.9.7\lib\AuthorizeNet.dll False From a66c1e6b4ece7418e8854b8b11cf0a37e12cfa1e Mon Sep 17 00:00:00 2001 From: Sharath Date: Fri, 7 Dec 2018 16:39:20 +0530 Subject: [PATCH 092/115] Sample Code for Chase Pay Transaction --- .../CreateChasePayTransaction.cs | 107 ++++++++++++++++++ SampleCode.cs | 4 + SampleCode.csproj | 1 + 3 files changed, 112 insertions(+) create mode 100644 PaymentTransactions/CreateChasePayTransaction.cs diff --git a/PaymentTransactions/CreateChasePayTransaction.cs b/PaymentTransactions/CreateChasePayTransaction.cs new file mode 100644 index 0000000..6698277 --- /dev/null +++ b/PaymentTransactions/CreateChasePayTransaction.cs @@ -0,0 +1,107 @@ +using AuthorizeNet.Api.Contracts.V1; +using AuthorizeNet.Api.Controllers; +using AuthorizeNet.Api.Controllers.Bases; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace net.authorize.sample.PaymentTransactions +{ + class CreateChasePayTransaction + { + public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) + { + Console.WriteLine("Create a ChasePay Transaction Sample"); + + ApiOperationBase.RunEnvironment = AuthorizeNet.Environment.SANDBOX; + + // define the merchant information (authentication / transaction id) + ApiOperationBase.MerchantAuthentication = new merchantAuthenticationType() + { + name = ApiLoginID, + ItemElementName = ItemChoiceType.transactionKey, + Item = ApiTransactionKey, + }; + + var creditCard = new creditCardType + { + cardNumber = "4111111111111111", + expirationDate = "0725", + cardCode = "999", + // Set the token specific info + isPaymentToken = true, + cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=", // Set this to the value of the cryptogram received from the token provide + tokenRequestorName = "CHASE_PAY", + tokenRequestorId = "12345678901", + tokenRequestorEci = "07" + }; + + //standard api call to retrieve response + var paymentType = new paymentType { Item = creditCard }; + + var transactionRequest = new transactionRequestType + { + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card + amount = 133.45m, + payment = paymentType + }; + + var request = new createTransactionRequest { transactionRequest = transactionRequest }; + + // instantiate the controller that will call the service + var controller = new createTransactionController(request); + controller.Execute(); + + // get the response from the service (errors contained if any) + var response = controller.GetApiResponse(); + + // validate response + if (response != null) + { + if (response.messages.resultCode == messageTypeEnum.Ok) + { + if (response.transactionResponse.messages != null) + { + Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); + Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); + Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); + Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); + Console.WriteLine("Hash Code: " + response.transactionResponse.transHash); + Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + } + } + else + { + Console.WriteLine("Failed Transaction."); + if (response.transactionResponse != null && response.transactionResponse.errors != null) + { + Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); + Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); + } + else + { + Console.WriteLine("Error Code: " + response.messages.message[0].code); + Console.WriteLine("Error message: " + response.messages.message[0].text); + } + } + } + else + { + Console.WriteLine("Null Response."); + } + + return response; + } + } +} diff --git a/SampleCode.cs b/SampleCode.cs index d401d9b..dcf944d 100644 --- a/SampleCode.cs +++ b/SampleCode.cs @@ -133,6 +133,7 @@ private static void ShowMethods() Console.WriteLine(" GetCustomerProfileTransactionList"); Console.WriteLine(" CreateAnAcceptPaymentTransaction"); Console.WriteLine(" GetAccountUpdaterJobSummary"); + Console.WriteLine(" CreateChasePayTransaction"); } private static void RunMethod(String methodName) @@ -361,6 +362,9 @@ private static void RunMethod(String methodName) case "GetCustomerProfileTransactionList": GetCustomerProfileTransactionList.Run(apiLoginId, transactionKey, customerProfileId); break; + case "CreateChasePayTransaction": + CreateChasePayTransaction.Run(apiLoginId, transactionKey); + break; //case "GetAccountUpdaterJobSummary": // GetAccountUpdaterJobSummary.Run(apiLoginId, transactionKey); // break; diff --git a/SampleCode.csproj b/SampleCode.csproj index 8deae44..8eb719b 100644 --- a/SampleCode.csproj +++ b/SampleCode.csproj @@ -80,6 +80,7 @@ + From a3ac78c73a8319795e6288160a22be9c760410b1 Mon Sep 17 00:00:00 2001 From: Gabriel B Nongsiej Date: Sat, 8 Dec 2018 04:05:10 +0530 Subject: [PATCH 093/115] + Fixing Travis build issues --- SampleCode.exe | Bin 100352 -> 100352 bytes SampleCodeTest/SampleCodeTest.csproj | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/SampleCode.exe b/SampleCode.exe index b9f6cb889d53100a7416c8b0681b53b9d631ea36..b27652105da04c7322bb39760862484bc65bf9cb 100644 GIT binary patch delta 100 zcmV-q0Gt1SkOqK|29SsXRrP_2wTc0*aS+&+*cW;%w@;E|8Uyvzn98?EashM;0#)^w zzI_22BM7a4nbNs6O|jU0A?vE;-vIys07W`nM`?6YWpHm?K~6nFVzFI~p z;~LGZ*V9;+dCe4B9g&n@)5FNXz~F2Zlb2c^U!0#-Ql40p8snZ>5|mny9}|?ClbTqZ QI{kMoKFw$0k32$=>Px# diff --git a/SampleCodeTest/SampleCodeTest.csproj b/SampleCodeTest/SampleCodeTest.csproj index 1e7facd..fa2b7ce 100644 --- a/SampleCodeTest/SampleCodeTest.csproj +++ b/SampleCodeTest/SampleCodeTest.csproj @@ -39,7 +39,7 @@ - ..\packages\AuthorizeNet.1.9.7\lib\AuthorizeNet.dll + ..\AuthorizeNet.dll False From be4a6c403c056e20b1d89d98a3e8865893c4f2f5 Mon Sep 17 00:00:00 2001 From: Sharath Date: Mon, 10 Dec 2018 12:25:09 +0530 Subject: [PATCH 094/115] Changes made based on review comments. --- PaymentTransactions/CreateChasePayTransaction.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/PaymentTransactions/CreateChasePayTransaction.cs b/PaymentTransactions/CreateChasePayTransaction.cs index 6698277..c557d0d 100644 --- a/PaymentTransactions/CreateChasePayTransaction.cs +++ b/PaymentTransactions/CreateChasePayTransaction.cs @@ -32,7 +32,8 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) cardCode = "999", // Set the token specific info isPaymentToken = true, - cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=", // Set this to the value of the cryptogram received from the token provide + // Set this to the value of the cryptogram received from the token provide + //cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=", tokenRequestorName = "CHASE_PAY", tokenRequestorId = "12345678901", tokenRequestorEci = "07" @@ -43,7 +44,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) var transactionRequest = new transactionRequestType { - transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card + transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 133.45m, payment = paymentType }; @@ -98,7 +99,14 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) } else { - Console.WriteLine("Null Response."); + // Display the error code and message when response is null + ANetApiResponse errorResponse = controller.GetErrorResponse(); + Console.WriteLine("Failed to get response"); + if (!string.IsNullOrEmpty(errorResponse.messages.message.ToString())) + { + Console.WriteLine("Error Code: " + errorResponse.messages.message[0].code); + Console.WriteLine("Error message: " + errorResponse.messages.message[0].text); + } } return response; From 111f21834b4c72cf5aeeb634fc4ac98cf9f544ee Mon Sep 17 00:00:00 2001 From: Sharath Date: Mon, 10 Dec 2018 12:36:00 +0530 Subject: [PATCH 095/115] Made changes based on comments --- PaymentTransactions/CreateChasePayTransaction.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PaymentTransactions/CreateChasePayTransaction.cs b/PaymentTransactions/CreateChasePayTransaction.cs index c557d0d..ecfa16a 100644 --- a/PaymentTransactions/CreateChasePayTransaction.cs +++ b/PaymentTransactions/CreateChasePayTransaction.cs @@ -33,7 +33,7 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) // Set the token specific info isPaymentToken = true, // Set this to the value of the cryptogram received from the token provide - //cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=", + cryptogram = "EjRWeJASNFZ4kBI0VniQEjRWeJA=", tokenRequestorName = "CHASE_PAY", tokenRequestorId = "12345678901", tokenRequestorEci = "07" From ff8a816a81ba97c704c4d1441e30d0c9fc14569c Mon Sep 17 00:00:00 2001 From: KarthikeyanKumar Date: Mon, 11 Feb 2019 10:46:43 +0530 Subject: [PATCH 096/115] Create ComputeTransHashSHA2.cs This is a logic for computing trans hash sha 512 --- Sha512/ComputeTransHashSHA2.cs | 59 ++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Sha512/ComputeTransHashSHA2.cs diff --git a/Sha512/ComputeTransHashSHA2.cs b/Sha512/ComputeTransHashSHA2.cs new file mode 100644 index 0000000..7b5c885 --- /dev/null +++ b/Sha512/ComputeTransHashSHA2.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; + +namespace Sha512 +{ + class ComputeTransHashSHA2 + { + static void Main(string[] args) + { + String key = "14B9609FFE2378449B3C0886046DD3B0F20DF12DEB758E48B5FFE1B5875615F0D2A50F7DDB1EAC417EBF76A1FAC374079793650AA493CE127601CB0960938E82"; + String transId = "60115446273"; + String apiLogin = "5T9cRn9FK"; + String amount = "9.00"; + //transHashSHA2 represents the computed TransHash2 using SignatureKey for the given transaction + //textToHash is formed by concatenating apilogin id , transId for the given transaction and transaction amount. + // For more details please visit https://developer.authorize.net/support/hash_upgrade/?utm_campaign=19Q2%20MD5%20Hash%20EOL%20Partner&utm_medium=email&utm_source=Eloqua for implementation details. + String transHashSHA2 = ComputeTransHashSHA2.HMACSHA512(key, "^"+ apiLogin+"^"+ transId +"^"+ amount+"^"); + } + + /** + * This is method to generate HMAC512 key for a given signature key and Text to Hash + * @param signatureKey + * @param textToHash + * @return + * @throws Exception + */ + public static string HMACSHA512(string key, string textToHash) + { + if (string.IsNullOrEmpty(key)) + throw new ArgumentNullException("HMACSHA512: key", "Parameter cannot be empty."); + if (string.IsNullOrEmpty(textToHash)) + throw new ArgumentNullException("HMACSHA512: textToHash", "Parameter cannot be empty."); + if (key.Length % 2 != 0 || key.Trim().Length < 2) + { + throw new ArgumentNullException("HMACSHA512: key", "Parameter cannot be odd or less than 2 characters."); + } + try + { + // This is the section to con vert byte array to hexadecimal string + byte[] k = Enumerable.Range(0, key.Length) + .Where(x => x % 2 == 0) + .Select(x => Convert.ToByte(key.Substring(x, 2), 16)) + .ToArray(); + HMACSHA512 hmac = new HMACSHA512(k); + byte[] HashedValue = hmac.ComputeHash((new System.Text.ASCIIEncoding()).GetBytes(textToHash)); + return BitConverter.ToString(HashedValue).Replace("-", string.Empty); + } + catch (Exception ex) + { + throw new Exception("HMACSHA512: " + ex.Message); + } + } + + } +} From b1974be8636857a4edb77d8677c9fcaffeab9614 Mon Sep 17 00:00:00 2001 From: Gabriel Broadwin Nongsiej Date: Tue, 26 Feb 2019 14:17:52 +0530 Subject: [PATCH 097/115] Testing for issue #11 (dotnet-core-sdk-beta) --- AcceptSuite/GetAnAcceptPaymentPage.cs | 7 +- AuthorizeNet.dll | Bin 236544 -> 0 bytes AuthorizeNet.xml | 10297 ---------------- DotNetCoreReleaseArtifacts/AuthorizeNET.dll | Bin 0 -> 119296 bytes .../SampleCodeTest_DotNet_Core.csproj | 3 +- SampleCode_DotNet_Core.csproj | 7 +- SampleCode_DotNet_Core.sln | 9 +- 7 files changed, 12 insertions(+), 10311 deletions(-) delete mode 100644 AuthorizeNet.dll delete mode 100644 AuthorizeNet.xml create mode 100644 DotNetCoreReleaseArtifacts/AuthorizeNET.dll diff --git a/AcceptSuite/GetAnAcceptPaymentPage.cs b/AcceptSuite/GetAnAcceptPaymentPage.cs index bc9725d..ac05920 100644 --- a/AcceptSuite/GetAnAcceptPaymentPage.cs +++ b/AcceptSuite/GetAnAcceptPaymentPage.cs @@ -34,7 +34,12 @@ public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, d var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // authorize capture only - amount = amount + amount = amount, + order = new orderType + { + invoiceNumber = "INV-123456", + description = "TEST INVOICE" + } }; var request = new getHostedPaymentPageRequest(); diff --git a/AuthorizeNet.dll b/AuthorizeNet.dll deleted file mode 100644 index a1f48269dd0583defd8557f1163b94c5b49b557b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236544 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 diff --git a/AuthorizeNet.xml b/AuthorizeNet.xml deleted file mode 100644 index a19970d..0000000 --- a/AuthorizeNet.xml +++ /dev/null @@ -1,10297 +0,0 @@ - - - - AuthorizeNet - - - - @return the baseUrl - - - @return the xmlBaseUrl - - - @return the cardPresentUrl - - - If a custom environment needs to be supported, this convenience create - method can be used to pass in a custom baseUrl. - - @param baseUrl - @param xmlBaseUrl - @return Environment object - - - If a custom environment needs to be supported, this convenience create - method can be used to pass in a custom baseUrl. - - @param baseUrl - @param xmlBaseUrl - @param cardPresentUrl - - @return Environment object - - - Reads a integer value from property file and/or the environment - Values in property file supersede the values set in environment - @param propertyName name of the integer property to read - @return int property value - - - Reads a boolean value from property file and/or the environment - Values in property file supersede the values set in environment - @param propertyName name of the boolean property to read - @return boolean property value - - -