6
6
namespace GlobalPayments . Api . Entities {
7
7
internal class GpApiReportRequestBuilder {
8
8
internal static GpApiRequest BuildRequest < T > ( ReportBuilder < T > builder , GpApiConnector gateway ) where T : class {
9
+ var merchantUrl = ! string . IsNullOrEmpty ( gateway . MerchantId ) ? $ "/merchants/{ gateway . MerchantId } " : string . Empty ;
9
10
if ( builder is TransactionReportBuilder < T > trb ) {
10
11
var request = new GpApiRequest ( ) ;
11
12
switch ( builder . ReportType ) {
12
13
case ReportType . TransactionDetail :
13
14
return new GpApiRequest {
14
15
Verb = HttpMethod . Get ,
15
- Endpoint = $ "/transactions/{ trb . TransactionId } ",
16
+ Endpoint = $ "{ merchantUrl } /transactions/{ trb . TransactionId } ",
16
17
} ;
17
18
case ReportType . FindTransactionsPaged :
18
19
request = new GpApiRequest {
19
20
Verb = HttpMethod . Get ,
20
- Endpoint = " /transactions",
21
+ Endpoint = $ " { merchantUrl } /transactions",
21
22
} ;
22
23
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
23
24
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
@@ -49,7 +50,7 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
49
50
case ReportType . FindSettlementTransactionsPaged :
50
51
request = new GpApiRequest {
51
52
Verb = HttpMethod . Get ,
52
- Endpoint = " /settlement/transactions",
53
+ Endpoint = $ " { merchantUrl } /settlement/transactions",
53
54
} ;
54
55
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
55
56
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
@@ -79,12 +80,12 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
79
80
case ReportType . DepositDetail :
80
81
return new GpApiRequest {
81
82
Verb = HttpMethod . Get ,
82
- Endpoint = $ "/settlement/deposits/{ trb . SearchBuilder . DepositReference } ",
83
+ Endpoint = $ "{ merchantUrl } /settlement/deposits/{ trb . SearchBuilder . DepositReference } ",
83
84
} ;
84
85
case ReportType . FindDepositsPaged :
85
86
request = new GpApiRequest {
86
87
Verb = HttpMethod . Get ,
87
- Endpoint = " /settlement/deposits",
88
+ Endpoint = $ " { merchantUrl } /settlement/deposits",
88
89
} ;
89
90
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
90
91
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
@@ -104,12 +105,12 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
104
105
case ReportType . DisputeDetail :
105
106
return new GpApiRequest {
106
107
Verb = HttpMethod . Get ,
107
- Endpoint = $ "/disputes/{ trb . SearchBuilder . DisputeId } ",
108
+ Endpoint = $ "{ merchantUrl } /disputes/{ trb . SearchBuilder . DisputeId } ",
108
109
} ;
109
110
case ReportType . FindDisputesPaged :
110
111
request = new GpApiRequest {
111
112
Verb = HttpMethod . Get ,
112
- Endpoint = " /disputes",
113
+ Endpoint = $ " { merchantUrl } /disputes",
113
114
} ;
114
115
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
115
116
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
@@ -128,12 +129,12 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
128
129
case ReportType . SettlementDisputeDetail :
129
130
return new GpApiRequest {
130
131
Verb = HttpMethod . Get ,
131
- Endpoint = $ "/settlement/disputes/{ trb . SearchBuilder . SettlementDisputeId } ",
132
+ Endpoint = $ "{ merchantUrl } /settlement/disputes/{ trb . SearchBuilder . SettlementDisputeId } ",
132
133
} ;
133
134
case ReportType . FindSettlementDisputesPaged :
134
135
request = new GpApiRequest {
135
136
Verb = HttpMethod . Get ,
136
- Endpoint = " /settlement/disputes",
137
+ Endpoint = $ " { merchantUrl } /settlement/disputes",
137
138
} ;
138
139
request . AddQueryStringParam ( "account_name" , gateway . DataAccountName ) ;
139
140
request . AddQueryStringParam ( "deposit_id" , trb . SearchBuilder . DepositReference ) ;
@@ -156,12 +157,12 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
156
157
case ReportType . StoredPaymentMethodDetail :
157
158
return new GpApiRequest {
158
159
Verb = HttpMethod . Get ,
159
- Endpoint = $ "/payment-methods/{ trb . SearchBuilder . StoredPaymentMethodId } ",
160
+ Endpoint = $ "{ merchantUrl } /payment-methods/{ trb . SearchBuilder . StoredPaymentMethodId } ",
160
161
} ;
161
162
case ReportType . FindStoredPaymentMethodsPaged :
162
163
request = new GpApiRequest {
163
164
Verb = HttpMethod . Get ,
164
- Endpoint = " /payment-methods",
165
+ Endpoint = $ " { merchantUrl } /payment-methods",
165
166
} ;
166
167
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
167
168
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
@@ -180,12 +181,12 @@ internal static GpApiRequest BuildRequest<T>(ReportBuilder<T> builder, GpApiConn
180
181
case ReportType . ActionDetail :
181
182
return new GpApiRequest {
182
183
Verb = HttpMethod . Get ,
183
- Endpoint = $ "/actions/{ trb . SearchBuilder . ActionId } ",
184
+ Endpoint = $ "{ merchantUrl } /actions/{ trb . SearchBuilder . ActionId } ",
184
185
} ;
185
186
case ReportType . FindActionsPaged :
186
187
request = new GpApiRequest {
187
188
Verb = HttpMethod . Get ,
188
- Endpoint = " /actions",
189
+ Endpoint = $ " { merchantUrl } /actions",
189
190
} ;
190
191
request . AddQueryStringParam ( "page" , trb . Page ? . ToString ( ) ) ;
191
192
request . AddQueryStringParam ( "page_size" , trb . PageSize ? . ToString ( ) ) ;
0 commit comments