Skip to content

Commit a984e21

Browse files
Add AccountHolderResponse and related types for account holder inquiries (#172)
1 parent 9b45954 commit a984e21

File tree

3 files changed

+72
-20
lines changed

3 files changed

+72
-20
lines changed

common/common.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,24 @@ const (
111111
U ThreeDsMethodCompletion = "u"
112112
)
113113

114+
type AccountNameInquiryType string
115+
116+
const (
117+
FullMatchANIT AccountNameInquiryType = "full_match"
118+
PartialMatchANIT AccountNameInquiryType = "partial_match"
119+
NoMatchANIT AccountNameInquiryType = "no_match"
120+
NotPerformedANIT AccountNameInquiryType = "not_performed"
121+
NotSupportedANIT AccountNameInquiryType = "not_supported"
122+
)
123+
124+
type NameCheckType string
125+
126+
const (
127+
FullMatchNCT NameCheckType = "full_match"
128+
PartialMatchNCT NameCheckType = "partial_match"
129+
NoMatchNCT NameCheckType = "no_match"
130+
)
131+
114132
type (
115133
Address struct {
116134
AddressLine1 string `json:"address_line1,omitempty"`
@@ -201,6 +219,34 @@ type (
201219
Identification *AccountHolderIdentification `json:"identification,omitempty"`
202220
AccountNameInquiry bool `json:"account_name_inquiry,omitempty"`
203221
}
222+
223+
AccountNameInquiryDetails struct {
224+
FirstName NameCheckType `json:"first_name,omitempty"`
225+
MiddleName NameCheckType `json:"middle_name,omitempty"`
226+
LastName NameCheckType `json:"last_name,omitempty"`
227+
}
228+
229+
AccountHolderResponse struct {
230+
Id string `json:"id,omitempty"`
231+
Type AccountHolderType `json:"type,omitempty"`
232+
Title string `json:"title,omitempty"`
233+
FullName string `json:"full_name,omitempty"`
234+
FirstName string `json:"first_name,omitempty"`
235+
MiddleName string `json:"middle_name,omitempty"`
236+
LastName string `json:"last_name,omitempty"`
237+
Email string `json:"email,omitempty"`
238+
Gender string `json:"gender,omitempty"`
239+
CompanyName string `json:"company_name,omitempty"`
240+
TaxId string `json:"tax_id,omitempty"`
241+
DateOfBirth string `json:"date_of_birth,omitempty"`
242+
CountryOfBirth Country `json:"country_of_birth,omitempty"`
243+
ResidentialStatus string `json:"residential_status,omitempty"`
244+
BillingAddress *Address `json:"billing_address,omitempty"`
245+
Phone *Phone `json:"phone,omitempty"`
246+
Identification *AccountHolderIdentification `json:"identification,omitempty"`
247+
AccountNameInquiry AccountNameInquiryType `json:"account_name_inquiry,omitempty"`
248+
AccountNameInquiryDetails AccountNameInquiryDetails `json:"account_name_inquiry_details,omitempty"`
249+
}
204250
)
205251

206252
type InstrumentType string

payments/nas/client_test.go

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,8 @@ func TestRequestPayment(t *testing.T) {
146146
tc.getAuthorization(&credentials.Mock)
147147
tc.apiPost(&apiClient.Mock)
148148

149-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
150-
client := NewClient(configuration, apiClient)
149+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
150+
client := NewClient(config, apiClient)
151151

152152
tc.checker(client.RequestPayment(tc.request, tc.idempotencyKey))
153153
})
@@ -170,6 +170,9 @@ func TestRequestPaymentList(t *testing.T) {
170170
Source: &SourceResponse{
171171
ResponseCardSource: &ResponseCardSource{
172172
Type: payments.CardSource,
173+
AccountHolder: &common.AccountHolderResponse{
174+
AccountNameInquiry: common.NoMatchANIT,
175+
},
173176
},
174177
},
175178
Reference: reference,
@@ -216,7 +219,10 @@ func TestRequestPaymentList(t *testing.T) {
216219
assert.Equal(t, paymentListResponse.Data[0].Id, response.Data[0].Id)
217220
assert.Equal(t, paymentListResponse.Data[0].Amount, response.Data[0].Amount)
218221
assert.Equal(t, paymentListResponse.Data[0].Currency, response.Data[0].Currency)
219-
assert.Equal(t, paymentListResponse.Data[0].Source.ResponseCardSource.Type, response.Data[0].Source.ResponseCardSource.Type)
222+
assert.Equal(t, paymentListResponse.Data[0].Source.ResponseCardSource.Type,
223+
response.Data[0].Source.ResponseCardSource.Type)
224+
assert.Equal(t, paymentListResponse.Data[0].Source.ResponseCardSource.AccountHolder.AccountNameInquiry,
225+
response.Data[0].Source.ResponseCardSource.AccountHolder.AccountNameInquiry)
220226
assert.Equal(t, paymentListResponse.Data[0].Reference, response.Data[0].Reference)
221227
},
222228
},
@@ -273,8 +279,8 @@ func TestRequestPaymentList(t *testing.T) {
273279
tc.getAuthorization(&credentials.Mock)
274280
tc.apiGet(&apiClient.Mock)
275281

276-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
277-
client := NewClient(configuration, apiClient)
282+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
283+
client := NewClient(config, apiClient)
278284

279285
tc.checker(client.RequestPaymentList(tc.queryRequest))
280286
})
@@ -384,8 +390,8 @@ func TestRequestPayout(t *testing.T) {
384390
tc.getAuthorization(&credentials.Mock)
385391
tc.apiPost(&apiClient.Mock)
386392

387-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
388-
client := NewClient(configuration, apiClient)
393+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
394+
client := NewClient(config, apiClient)
389395

390396
tc.checker(client.RequestPayout(tc.request, tc.idempotencyKey))
391397
})
@@ -489,8 +495,8 @@ func TestGetPaymentDetails(t *testing.T) {
489495
tc.getAuthorization(&credentials.Mock)
490496
tc.apiGet(&apiClient.Mock)
491497

492-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
493-
client := NewClient(configuration, apiClient)
498+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
499+
client := NewClient(config, apiClient)
494500

495501
tc.checker(client.GetPaymentDetails(tc.paymentId))
496502
})
@@ -600,8 +606,8 @@ func TestGetPaymentActions(t *testing.T) {
600606
tc.getAuthorization(&credentials.Mock)
601607
tc.apiGet(&apiClient.Mock)
602608

603-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
604-
client := NewClient(configuration, apiClient)
609+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
610+
client := NewClient(config, apiClient)
605611

606612
tc.checker(client.GetPaymentActions(tc.paymentId))
607613
})
@@ -800,8 +806,8 @@ func TestIncrementAuthorization(t *testing.T) {
800806
tc.getAuthorization(&credentials.Mock)
801807
tc.apiPost(&apiClient.Mock)
802808

803-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
804-
client := NewClient(configuration, apiClient)
809+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
810+
client := NewClient(config, apiClient)
805811

806812
tc.checker(client.IncrementAuthorization(tc.paymentId, tc.request, tc.idempotencyKey))
807813
})
@@ -957,8 +963,8 @@ func TestCapturePayment(t *testing.T) {
957963
tc.getAuthorization(&credentials.Mock)
958964
tc.apiPost(&apiClient.Mock)
959965

960-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
961-
client := NewClient(configuration, apiClient)
966+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
967+
client := NewClient(config, apiClient)
962968

963969
tc.checker(client.CapturePayment(tc.paymentId, tc.request, tc.idempotencyKey))
964970
})
@@ -1111,8 +1117,8 @@ func TestRefundPayment(t *testing.T) {
11111117
tc.getAuthorization(&credentials.Mock)
11121118
tc.apiPost(&apiClient.Mock)
11131119

1114-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
1115-
client := NewClient(configuration, apiClient)
1120+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
1121+
client := NewClient(config, apiClient)
11161122

11171123
tc.checker(client.RefundPayment(tc.paymentId, &tc.request, tc.idempotencyKey))
11181124
})
@@ -1264,8 +1270,8 @@ func TestVoidPayment(t *testing.T) {
12641270
tc.getAuthorization(&credentials.Mock)
12651271
tc.apiPost(&apiClient.Mock)
12661272

1267-
configuration := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
1268-
client := NewClient(configuration, apiClient)
1273+
config := configuration.NewConfiguration(credentials, &enableTelemertry, environment, &http.Client{}, nil)
1274+
client := NewClient(config, apiClient)
12691275

12701276
tc.checker(client.VoidPayment(tc.paymentId, &tc.request, tc.idempotencyKey))
12711277
})

payments/nas/source.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type (
4242
PaymentAccountReference string `json:"payment_account_reference,omitempty"`
4343
EncryptedCardNumber string `json:"encrypted_card_number,omitempty"`
4444
AccountUpdateStatus payments.AccountUpdateStatusType `json:"account_update_status,omitempty"`
45-
AccountHolder *common.AccountHolder `json:"account_holder,omitempty"`
45+
AccountHolder *common.AccountHolderResponse `json:"account_holder,omitempty"`
4646
}
4747

4848
ResponseCurrencyAccountSource struct {

0 commit comments

Comments
 (0)