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 {