diff --git a/src/GlobalPayments.Api/Gateways/BillPay/AuthorizationRequest.cs b/src/GlobalPayments.Api/Gateways/BillPay/AuthorizationRequest.cs
index 43f1e5a3..e36b9790 100644
--- a/src/GlobalPayments.Api/Gateways/BillPay/AuthorizationRequest.cs
+++ b/src/GlobalPayments.Api/Gateways/BillPay/AuthorizationRequest.cs
@@ -4,16 +4,18 @@
using GlobalPayments.Api.PaymentMethods;
using GlobalPayments.Api.Utils;
using System.Linq;
+using System.Net;
namespace GlobalPayments.Api.Gateways.BillPay {
///
/// Factory method to create and return the request object based on the transaction type
///
internal class AuthorizationRequest : GatewayRequestBase {
- public AuthorizationRequest(Credentials credentials, string serviceUrl, int timeout) {
+ public AuthorizationRequest(Credentials credentials, string serviceUrl, int timeout, IWebProxy webProxy) {
this.Credentials = credentials;
this.ServiceUrl = serviceUrl;
this.Timeout = timeout;
+ this.WebProxy = webProxy;
}
internal Transaction Execute(AuthorizationBuilder builder, bool isBillDataHosted) {
diff --git a/src/GlobalPayments.Api/Gateways/BillPay/BillingRequest.cs b/src/GlobalPayments.Api/Gateways/BillPay/BillingRequest.cs
index f23e943b..d62276fd 100644
--- a/src/GlobalPayments.Api/Gateways/BillPay/BillingRequest.cs
+++ b/src/GlobalPayments.Api/Gateways/BillPay/BillingRequest.cs
@@ -3,17 +3,19 @@
using GlobalPayments.Api.Entities.Billing;
using GlobalPayments.Api.Entities.Enums;
using GlobalPayments.Api.Utils;
+using System.Net;
namespace GlobalPayments.Api.Gateways.BillPay {
///
/// Factory method to create and return the request object based on the transaction type
///
internal class BillingRequest : GatewayRequestBase {
- public BillingRequest(Credentials credentials, string serviceUrl, int timeout)
+ public BillingRequest(Credentials credentials, string serviceUrl, int timeout, IWebProxy webPRoxy)
{
this.Credentials = credentials;
this.ServiceUrl = serviceUrl;
this.Timeout = timeout;
+ this.WebProxy = webPRoxy;
}
internal BillingResponse Execute(BillingBuilder builder) {
diff --git a/src/GlobalPayments.Api/Gateways/BillPay/ManagementRequest.cs b/src/GlobalPayments.Api/Gateways/BillPay/ManagementRequest.cs
index 11aa7f7e..92ade804 100644
--- a/src/GlobalPayments.Api/Gateways/BillPay/ManagementRequest.cs
+++ b/src/GlobalPayments.Api/Gateways/BillPay/ManagementRequest.cs
@@ -3,16 +3,18 @@
using GlobalPayments.Api.Entities.Billing;
using GlobalPayments.Api.PaymentMethods;
using GlobalPayments.Api.Utils;
+using System.Net;
namespace GlobalPayments.Api.Gateways.BillPay {
///
/// Factory method to create and return the request object based on the transaction type
///
internal class ManagementRequest : GatewayRequestBase {
- public ManagementRequest(Credentials credentials, string serviceUrl, int timeout) {
+ public ManagementRequest(Credentials credentials, string serviceUrl, int timeout, IWebProxy webProxy) {
this.Credentials = credentials;
this.ServiceUrl = serviceUrl;
this.Timeout = timeout;
+ this.WebProxy = webProxy;
}
internal Transaction Execute(ManagementBuilder builder, bool isBillDataHosted) {
diff --git a/src/GlobalPayments.Api/Gateways/BillPay/RecurringRequest.cs b/src/GlobalPayments.Api/Gateways/BillPay/RecurringRequest.cs
index 77278b1c..8cd1d4f4 100644
--- a/src/GlobalPayments.Api/Gateways/BillPay/RecurringRequest.cs
+++ b/src/GlobalPayments.Api/Gateways/BillPay/RecurringRequest.cs
@@ -3,13 +3,15 @@
using GlobalPayments.Api.Entities.Billing;
using GlobalPayments.Api.PaymentMethods;
using GlobalPayments.Api.Utils;
+using System.Net;
namespace GlobalPayments.Api.Gateways.BillPay {
internal sealed class RecurringRequest : GatewayRequestBase where T: class {
- public RecurringRequest(Credentials credentials, string serviceUrl, int timeout) {
+ public RecurringRequest(Credentials credentials, string serviceUrl, int timeout, IWebProxy webProxy) {
this.Credentials = credentials;
this.ServiceUrl = serviceUrl;
this.Timeout = timeout;
+ this.WebProxy = webProxy;
}
internal T Execute(RecurringBuilder builder) {
diff --git a/src/GlobalPayments.Api/Gateways/BillPayProvider.cs b/src/GlobalPayments.Api/Gateways/BillPayProvider.cs
index f1a06bad..80a68c52 100644
--- a/src/GlobalPayments.Api/Gateways/BillPayProvider.cs
+++ b/src/GlobalPayments.Api/Gateways/BillPayProvider.cs
@@ -2,6 +2,7 @@
using GlobalPayments.Api.Entities;
using GlobalPayments.Api.Entities.Billing;
using GlobalPayments.Api.Gateways.BillPay;
+using System.Net;
namespace GlobalPayments.Api.Gateways {
internal class BillPayProvider: IBillingProvider, IPaymentGateway, IRecurringService {
@@ -19,13 +20,15 @@ internal class BillPayProvider: IBillingProvider, IPaymentGateway, IRecurringSer
public string ServiceUrl { get; set; }
+ public IWebProxy WebProxy { get; set; }
+
///
/// Invokes a request against the BillPay gateway using the AuthorizationBuilder
///
/// The AuthroizationBuilder containing the required information to build the request
/// A Transaction response
public Transaction ProcessAuthorization(AuthorizationBuilder builder) {
- return new AuthorizationRequest(Credentials, ServiceUrl, Timeout)
+ return new AuthorizationRequest(Credentials, ServiceUrl, Timeout, WebProxy)
.Execute(builder, IsBillDataHosted);
}
@@ -35,18 +38,18 @@ public Transaction ProcessAuthorization(AuthorizationBuilder builder) {
/// The ManagementBuilder containing the required information to build the request
/// A Transaction response
public Transaction ManageTransaction(ManagementBuilder builder) {
- return new ManagementRequest(Credentials, ServiceUrl, Timeout)
+ return new ManagementRequest(Credentials, ServiceUrl, Timeout, WebProxy)
.Execute(builder, IsBillDataHosted);
}
public BillingResponse ProcessBillingRequest(BillingBuilder builder) {
- return new BillingRequest(Credentials, ServiceUrl, Timeout)
+ return new BillingRequest(Credentials, ServiceUrl, Timeout, WebProxy)
.Execute(builder);
}
public T ProcessRecurring(RecurringBuilder builder) where T : class
{
- return new RecurringRequest(Credentials, ServiceUrl, Timeout)
+ return new RecurringRequest(Credentials, ServiceUrl, Timeout, WebProxy)
.Execute(builder);
}
diff --git a/src/GlobalPayments.Api/ServiceConfigs/BillPayConfig.cs b/src/GlobalPayments.Api/ServiceConfigs/BillPayConfig.cs
index da7d9a4f..7af04d16 100644
--- a/src/GlobalPayments.Api/ServiceConfigs/BillPayConfig.cs
+++ b/src/GlobalPayments.Api/ServiceConfigs/BillPayConfig.cs
@@ -22,7 +22,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
},
ServiceUrl = ServiceUrl ?? ServiceEndpoints.BILLPAY_PRODUCTION,
Timeout = Timeout,
- IsBillDataHosted = UseBillRecordlookup
+ IsBillDataHosted = UseBillRecordlookup,
+ WebProxy = WebProxy
};
services.GatewayConnector = gateway;
diff --git a/src/GlobalPayments.Api/ServiceConfigs/Gateways/GeniusConfig.cs b/src/GlobalPayments.Api/ServiceConfigs/Gateways/GeniusConfig.cs
index eb9931a9..6ca53c7f 100644
--- a/src/GlobalPayments.Api/ServiceConfigs/Gateways/GeniusConfig.cs
+++ b/src/GlobalPayments.Api/ServiceConfigs/Gateways/GeniusConfig.cs
@@ -37,7 +37,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
RegisterNumber = RegisterNumber,
TerminalId = TerminalId,
Timeout = Timeout,
- ServiceUrl = ServiceUrl
+ ServiceUrl = ServiceUrl,
+ WebProxy = WebProxy
};
services.GatewayConnector = gateway;
diff --git a/src/GlobalPayments.Api/ServiceConfigs/Gateways/GpEcomConfig.cs b/src/GlobalPayments.Api/ServiceConfigs/Gateways/GpEcomConfig.cs
index d5245912..b186faf3 100644
--- a/src/GlobalPayments.Api/ServiceConfigs/Gateways/GpEcomConfig.cs
+++ b/src/GlobalPayments.Api/ServiceConfigs/Gateways/GpEcomConfig.cs
@@ -73,7 +73,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
SharedSecret = SharedSecret,
Timeout = Timeout,
ServiceUrl = ServiceUrl,
- HostedPaymentConfig = HostedPaymentConfig
+ HostedPaymentConfig = HostedPaymentConfig,
+ WebProxy = WebProxy
};
services.GatewayConnector = gateway;
services.RecurringConnector = gateway;
@@ -98,7 +99,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
MerchantContactUrl = MerchantContactUrl,
MethodNotificationUrl = MethodNotificationUrl,
ChallengeNotificationUrl = ChallengeNotificationUrl,
- Timeout = Timeout
+ Timeout = Timeout,
+ WebProxy = WebProxy
//secure3d2.EnableLogging = EnableLogging
};
diff --git a/src/GlobalPayments.Api/ServiceConfigs/Gateways/PorticoConfig.cs b/src/GlobalPayments.Api/ServiceConfigs/Gateways/PorticoConfig.cs
index 635b30d3..7c5f23de 100644
--- a/src/GlobalPayments.Api/ServiceConfigs/Gateways/PorticoConfig.cs
+++ b/src/GlobalPayments.Api/ServiceConfigs/Gateways/PorticoConfig.cs
@@ -110,7 +110,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
Timeout = Timeout,
ServiceUrl = ServiceUrl + "/Hps.Exchange.PosGateway/PosGatewayService.asmx",
UniqueDeviceId = UniqueDeviceId,
- RequestLogger = RequestLogger
+ RequestLogger = RequestLogger,
+ WebProxy = WebProxy
};
services.GatewayConnector = gateway;
@@ -123,7 +124,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
SecretApiKey = SecretApiKey,
Timeout = Timeout,
ServiceUrl = ServiceUrl + PayPlanEndpoint,
- RequestLogger = RequestLogger
+ RequestLogger = RequestLogger,
+ WebProxy = WebProxy
};
services.RecurringConnector = payplan;
@@ -142,7 +144,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
TermID = TerminalID,
Timeout = Timeout,
ServiceUrl = ServiceUrl,
- X509CertPath = X509CertificatePath
+ X509CertPath = X509CertificatePath,
+ WebProxy = WebProxy
};
services.PayFacProvider = payFac;
diff --git a/src/GlobalPayments.Api/ServiceConfigs/Gateways/TransitConfig.cs b/src/GlobalPayments.Api/ServiceConfigs/Gateways/TransitConfig.cs
index 71ad9598..3535cb90 100644
--- a/src/GlobalPayments.Api/ServiceConfigs/Gateways/TransitConfig.cs
+++ b/src/GlobalPayments.Api/ServiceConfigs/Gateways/TransitConfig.cs
@@ -29,7 +29,8 @@ internal override void ConfigureContainer(ConfiguredServices services) {
TransactionKey = TransactionKey,
ServiceUrl = ServiceUrl,
Timeout = Timeout,
- RequestLogger = RequestLogger
+ RequestLogger = RequestLogger,
+ WebProxy = WebProxy
};
services.GatewayConnector = gateway;