globalpayments-api 3.11.4 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/lib/src/Builders/AuthorizationBuilder.d.ts +0 -1
  3. package/lib/src/Builders/AuthorizationBuilder.js +0 -4
  4. package/lib/src/Builders/AuthorizationBuilder.js.map +1 -1
  5. package/lib/src/Builders/RecurringBuilder.js +12 -1
  6. package/lib/src/Builders/RecurringBuilder.js.map +1 -1
  7. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +17 -4
  8. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +38 -5
  9. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  10. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +0 -1
  11. package/lib/src/Terminals/Builders/TerminalBuilder.js +0 -1
  12. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
  13. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +5 -0
  14. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +16 -0
  15. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  16. package/lib/src/Terminals/TerminalResponse.d.ts +4 -0
  17. package/lib/src/Terminals/TerminalResponse.js +4 -0
  18. package/lib/src/Terminals/TerminalResponse.js.map +1 -1
  19. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +7 -0
  20. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +38 -0
  21. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  22. package/lib/src/Terminals/UPA/UpaController.js +116 -17
  23. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  24. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.d.ts +1 -0
  25. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js +177 -0
  26. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js.map +1 -0
  27. package/lib/test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.d.ts +1 -0
  28. package/lib/test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.js +29 -0
  29. package/lib/test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.js.map +1 -0
  30. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.d.ts +17 -0
  31. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.js +325 -0
  32. package/lib/test/Unit/Terminals/Builders/TerminalBuilderParityTests.test.js.map +1 -0
  33. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +2246 -446
  34. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -1
  35. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +703 -26
  36. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -1
  37. package/package.json +2 -2
@@ -72,7 +72,10 @@ class UpaController extends DeviceController_1.DeviceController {
72
72
  const transactionData = {
73
73
  transaction: {},
74
74
  };
75
- if (builder.clerkId !== undefined && builder.clerkId !== null) {
75
+ if (builder.clerkId !== undefined &&
76
+ builder.clerkId !== null &&
77
+ transactionType !== src_1.TransactionType.Refund &&
78
+ transactionType !== src_1.TransactionType.Capture) {
76
79
  transactionData.params = {
77
80
  clerkId: builder.clerkId,
78
81
  };
@@ -82,32 +85,70 @@ class UpaController extends DeviceController_1.DeviceController {
82
85
  transactionData.transaction.tranNo = builder.terminalRefNumber;
83
86
  }
84
87
  transactionData.transaction.authorizedAmount = this.formatAmount(builder.amount);
88
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
89
+ transactionData.transaction.cashBackAmount = this.formatAmount(manageBuilder.cashBackAmount);
90
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
91
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
92
+ transactionData.transaction.taxIndicator = builder.taxExempt;
93
+ transactionData.transaction.processCPC =
94
+ builder.processCPC !== undefined
95
+ ? builder.processCPC
96
+ ? "1"
97
+ : "0"
98
+ : undefined;
99
+ transactionData.transaction.purchaseOrder = builder.orderId;
100
+ transactionData.transaction.clerkId = manageBuilder.clerkId;
85
101
  }
86
102
  else if (transactionType === src_1.TransactionType.Delete &&
87
103
  builder.transactionModifier === src_1.TransactionModifier.DeletePreAuth) {
88
104
  transactionData.transaction.referenceNumber = builder.transactionId;
89
105
  transactionData.transaction.preAuthAmount = this.formatAmount(builder.amount);
106
+ // Add common fields
107
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
108
+ transactionData.transaction.cashBackAmount = this.formatAmount(manageBuilder.cashBackAmount);
109
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
110
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
111
+ transactionData.transaction.taxIndicator = builder.taxIndicator;
112
+ transactionData.transaction.processCPC =
113
+ builder.processCPC !== undefined
114
+ ? builder.processCPC
115
+ ? "1"
116
+ : "0"
117
+ : undefined;
118
+ transactionData.transaction.purchaseOrder = builder.orderId;
119
+ transactionData.transaction.clerkId = manageBuilder.clerkId;
90
120
  }
91
121
  else if (transactionType === src_1.TransactionType.Edit &&
92
122
  builder.transactionModifier === src_1.TransactionModifier.UpdateLodgingDetails) {
93
123
  transactionData.transaction.referenceNumber = builder.transactionId;
94
124
  transactionData.transaction.amount = this.formatAmount(builder.amount);
125
+ // Add common fields
126
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
127
+ transactionData.transaction.cashBackAmount = this.formatAmount(manageBuilder.cashBackAmount);
128
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
129
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
130
+ transactionData.transaction.taxIndicator = builder.taxIndicator;
131
+ transactionData.transaction.processCPC =
132
+ builder.processCPC !== undefined
133
+ ? builder.processCPC
134
+ ? "1"
135
+ : "0"
136
+ : undefined;
137
+ transactionData.transaction.purchaseOrder = builder.orderId;
138
+ transactionData.transaction.clerkId = manageBuilder.clerkId;
95
139
  }
96
140
  else if (transactionType === src_1.TransactionType.Refund) {
97
- // Refund should only have totalAmount and referenceNumber
98
- // authCode is NOT sent in refund requests - it's only used internally by the device
99
- transactionData.transaction.referenceNumber = builder.transactionId;
141
+ // NOTE: For refund, use terminalRefNumber (tranNo) not transactionId (gateway refNum)
142
+ transactionData.transaction.referenceNumber = builder.terminalRefNumber;
100
143
  transactionData.transaction.totalAmount = this.formatAmount(builder.amount);
144
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
145
+ transactionData.transaction.cashBackAmount = this.formatAmount(manageBuilder.cashBackAmount);
146
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
101
147
  transactionData.transaction.invoiceNbr = builder.invoiceNumber;
102
- const refundProcessingIndicators = {};
103
- if (manageBuilder.hasSecurityCode !== undefined) {
104
- refundProcessingIndicators.securityCode = manageBuilder.hasSecurityCode
105
- ? "Y"
106
- : "N";
107
- }
108
- if (Object.keys(refundProcessingIndicators).length > 0) {
109
- transactionData.processingIndicators = refundProcessingIndicators;
110
- }
148
+ transactionData.transaction.taxIndicator = builder.taxIndicator;
149
+ // NOTE: processCPC is NOT supported for Refund (device returns ERR009)
150
+ transactionData.transaction.purchaseOrder = builder.orderId;
151
+ transactionData.transaction.clerkId = manageBuilder.clerkId;
111
152
  }
112
153
  else if (transactionType === src_1.TransactionType.Void) {
113
154
  // Per UPA spec §12.4.2.1: transaction sub-node accepts ONLY
@@ -134,6 +175,18 @@ class UpaController extends DeviceController_1.DeviceController {
134
175
  transactionData.transaction.referenceNumber = builder.transactionId;
135
176
  }
136
177
  }
178
+ else if (transactionType === src_1.TransactionType.Capture) {
179
+ // Capture requires both "amount" and "preAuthAmount" fields
180
+ transactionData.transaction.referenceNumber = builder.transactionId;
181
+ transactionData.transaction.amount = this.formatAmount(builder.amount);
182
+ transactionData.transaction.preAuthAmount = this.formatAmount(builder.amount);
183
+ transactionData.transaction.processCPC =
184
+ builder.processCPC !== undefined
185
+ ? builder.processCPC
186
+ ? "1"
187
+ : "0"
188
+ : undefined;
189
+ }
137
190
  else {
138
191
  transactionData.transaction.referenceNumber = builder.transactionId;
139
192
  transactionData.transaction.amount = isTipAdjust
@@ -142,6 +195,7 @@ class UpaController extends DeviceController_1.DeviceController {
142
195
  transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
143
196
  transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
144
197
  transactionData.transaction.taxIndicator = builder.taxIndicator;
198
+ transactionData.transaction.cashBackAmount = this.formatAmount(manageBuilder.cashBackAmount);
145
199
  transactionData.transaction.invoiceNbr = builder.invoiceNumber;
146
200
  transactionData.transaction.processCPC =
147
201
  builder.processCPC !== undefined
@@ -149,6 +203,10 @@ class UpaController extends DeviceController_1.DeviceController {
149
203
  ? "1"
150
204
  : "0"
151
205
  : undefined;
206
+ if (builder.clerkId !== undefined && builder.clerkId !== null) {
207
+ transactionData.transaction.clerkId = builder.clerkId;
208
+ }
209
+ transactionData.transaction.purchaseOrder = builder.orderId;
152
210
  }
153
211
  if (isTipAdjust) {
154
212
  transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
@@ -168,6 +226,8 @@ class UpaController extends DeviceController_1.DeviceController {
168
226
  }
169
227
  if (builder.transactionType === src_1.TransactionType.Capture) {
170
228
  transactionData.transaction.amount = this.formatAmount(builder.amount);
229
+ // Per UPA spec §12.4.16: preAuthAmount is the initial amount authorized on the original Pre-Auth
230
+ transactionData.transaction.preAuthAmount = this.formatAmount(builder.amount);
171
231
  }
172
232
  if (builder.taxExempt !== undefined) {
173
233
  transactionData.transaction.taxIndicator = builder.taxExempt;
@@ -192,6 +252,7 @@ class UpaController extends DeviceController_1.DeviceController {
192
252
  delete transactionData.transaction.referenceNumber;
193
253
  }
194
254
  const isDedicatedAmountCommand = transactionType === src_1.TransactionType.Reversal ||
255
+ transactionType === src_1.TransactionType.Capture ||
195
256
  transactionType === src_1.TransactionType.Void ||
196
257
  (transactionType === src_1.TransactionType.Delete &&
197
258
  builder.transactionModifier === src_1.TransactionModifier.DeletePreAuth) ||
@@ -296,9 +357,7 @@ class UpaController extends DeviceController_1.DeviceController {
296
357
  if (builder.hasSecurityCode !== undefined) {
297
358
  processingIndicators.securityCode = builder.hasSecurityCode ? "Y" : "N";
298
359
  }
299
- // Only add processingIndicators for Sale, Auth, and Refund - NOT for CardVerify (Verify)
300
- if (Object.keys(processingIndicators).length > 0 &&
301
- transactionType !== src_1.TransactionType.Verify) {
360
+ if (Object.keys(processingIndicators).length > 0) {
302
361
  transactionData.processingIndicators = processingIndicators;
303
362
  }
304
363
  if (authBuilder.lodging) {
@@ -321,6 +380,18 @@ class UpaController extends DeviceController_1.DeviceController {
321
380
  // start line 412 mid
322
381
  transactionData.transaction.amount = this.formatAmount(builder.amount);
323
382
  transactionData.transaction.preAuthAmount = this.formatAmount(authBuilder.preAuthAmount);
383
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
384
+ transactionData.transaction.taxIndicator = builder.taxExempt;
385
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
386
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
387
+ transactionData.transaction.cashBackAmount = this.formatAmount(builder.cashBackAmount);
388
+ transactionData.transaction.processCPC =
389
+ authBuilder.processCPC !== undefined
390
+ ? authBuilder.processCPC
391
+ ? "1"
392
+ : "0"
393
+ : undefined;
394
+ transactionData.transaction.purchaseOrder = builder.orderId;
324
395
  }
325
396
  else if (transactionType === src_1.TransactionType.Sale) {
326
397
  transactionData.transaction.invoiceNbr = builder.invoiceNumber;
@@ -339,6 +410,15 @@ class UpaController extends DeviceController_1.DeviceController {
339
410
  : undefined;
340
411
  transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
341
412
  transactionData.transaction.cashBackAmount = this.formatAmount(builder.cashBackAmount);
413
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
414
+ transactionData.transaction.taxIndicator = builder.taxExempt;
415
+ transactionData.transaction.processCPC =
416
+ authBuilder.processCPC !== undefined
417
+ ? authBuilder.processCPC
418
+ ? "1"
419
+ : "0"
420
+ : undefined;
421
+ transactionData.transaction.purchaseOrder = builder.orderId;
342
422
  // Add lineItems if provided
343
423
  if (Array.isArray(authBuilder.lineItems) &&
344
424
  authBuilder.lineItems.length > 0) {
@@ -349,7 +429,14 @@ class UpaController extends DeviceController_1.DeviceController {
349
429
  }
350
430
  }
351
431
  else {
352
- transactionData.transaction.baseAmount = this.formatAmount(builder.amount);
432
+ // For Capture, use totalAmount instead of baseAmount
433
+ // For other types (TipAdjust, Void, Edit), use baseAmount
434
+ if (transactionType === src_1.TransactionType.Capture) {
435
+ transactionData.transaction.totalAmount = this.formatAmount(builder.amount);
436
+ }
437
+ else {
438
+ transactionData.transaction.baseAmount = this.formatAmount(builder.amount);
439
+ }
353
440
  //amount change to baseAmount for tip adjust, cash back amount is not sent for tip adjust
354
441
  transactionData.transaction.cashBackAmount = this.formatAmount(builder.cashBackAmount);
355
442
  transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
@@ -364,10 +451,22 @@ class UpaController extends DeviceController_1.DeviceController {
364
451
  transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
365
452
  }
366
453
  transactionData.transaction.referenceNumber = builder.terminalRefNumber;
454
+ transactionData.transaction.shippingAmount = this.formatAmount(authBuilder.shippingAmount);
455
+ // Use direct taxIndicator if set, otherwise use taxExempt
456
+ if (authBuilder.taxIndicator !== undefined) {
457
+ transactionData.transaction.taxIndicator = authBuilder.taxIndicator;
458
+ }
459
+ else if (transactionType !== src_1.TransactionType.Auth &&
460
+ builder.taxExempt !== undefined) {
461
+ transactionData.transaction.taxIndicator = builder.taxExempt;
462
+ }
367
463
  transactionData.transaction.prescriptionAmount = this.formatAmount(authBuilder.prescriptionAmount);
368
464
  transactionData.transaction.clinicAmount = this.formatAmount(authBuilder.clinicAmount);
369
465
  transactionData.transaction.dentalAmount = this.formatAmount(authBuilder.dentalAmount);
370
466
  transactionData.transaction.visionOpticalAmount = this.formatAmount(authBuilder.visionOpticalAmount);
467
+ transactionData.transaction.surchargeAmount = this.formatAmount(authBuilder.surchargeAmount);
468
+ transactionData.transaction.confirmationAmount =
469
+ authBuilder.confirmAmount;
371
470
  transactionData.transaction.cardAcquisition = authBuilder.cardAcquisition;
372
471
  if (authBuilder.transactionDate) {
373
472
  transactionData.transaction.tranDate =
@@ -1 +1 @@
1
- {"version":3,"file":"UpaController.js","sourceRoot":"","sources":["../../../../src/Terminals/UPA/UpaController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpaController.js","sourceRoot":"","sources":["../../../../src/Terminals/UPA/UpaController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const BaseGpApiTestConfig_1 = require("../../../Data/BaseGpApiTestConfig");
5
+ const defaultConfigName = "default";
6
+ const merchantConfigName = "merchant-sale";
7
+ const mmaConfigName = "mma-account-merchant-sale";
8
+ const merchantScopedAppId = "wuqol13QQJu0vcjbdN9892cl5IcyJgPU";
9
+ const merchantScopedAppKey = "jdOJNxsGbE0nLeTx";
10
+ const merchantScopedMerchantId = "MER_3abc0724f49c40e59a61309ae6d37dfd";
11
+ const invalidMerchantId = "MER_20c2b3fcfedd484e9c3723347db56b71";
12
+ const partnerAppId = "ju9LDqNIxUgY2NeQPgwqc0fLbq3AcJCL";
13
+ const partnerAppKey = "KYYh3YJwyfzqjWNa";
14
+ const merchantManagementAccountID = "MMA_344aebc638864d7381909dcf78d4c760";
15
+ const mmaMerchantId = "MER_6517954c0c8544feb3f74c825e2b032c";
16
+ const requestEndpoints = [];
17
+ const requestLogger = {
18
+ requestSent: (_verb, endpoint) => {
19
+ requestEndpoints.push(endpoint);
20
+ },
21
+ responseReceived: async () => undefined,
22
+ responseError: async () => undefined,
23
+ };
24
+ const createCard = (cardPresent = false) => {
25
+ const card = new src_1.CreditCardData();
26
+ card.number = "5425230000004415";
27
+ card.expMonth = "12";
28
+ card.expYear = "2027";
29
+ card.cvn = "123";
30
+ card.cardPresent = cardPresent;
31
+ return card;
32
+ };
33
+ const createConfig = (appId, appKey, channel) => {
34
+ const config = new src_1.GpApiConfig();
35
+ config.appId = appId;
36
+ config.appKey = appKey;
37
+ config.channel = channel;
38
+ config.country = "US";
39
+ config.environment = src_1.Environment.Test;
40
+ config.accessTokenInfo = new src_1.AccessTokenInfo();
41
+ config.accessTokenInfo.transactionProcessingAccountName =
42
+ "transaction_processing";
43
+ config.accessTokenInfo.riskAssessmentAccountName = "EOS_RiskAssessment";
44
+ config.challengeNotificationUrl = "https://ensi808o85za.x.pipedream.net/";
45
+ config.methodNotificationUrl = "https://ensi808o85za.x.pipedream.net/";
46
+ config.merchantContactUrl = "https://ensi808o85za.x.pipedream.net/";
47
+ config.requestLogger = requestLogger;
48
+ return config;
49
+ };
50
+ describe("GP-API MMA account routing", () => {
51
+ beforeEach(() => {
52
+ requestEndpoints.length = 0;
53
+ src_1.ServicesContainer.removeConfiguration(defaultConfigName);
54
+ src_1.ServicesContainer.removeConfiguration(merchantConfigName);
55
+ src_1.ServicesContainer.removeConfiguration(mmaConfigName);
56
+ const defaultConfig = createConfig(BaseGpApiTestConfig_1.BaseGpApiTestConfig.appId, BaseGpApiTestConfig_1.BaseGpApiTestConfig.appKey, src_1.Channel.CardNotPresent);
57
+ src_1.ServicesContainer.configureService(defaultConfig, defaultConfigName);
58
+ const merchantConfig = createConfig(merchantScopedAppId, merchantScopedAppKey, src_1.Channel.CardPresent);
59
+ merchantConfig.merchantId = merchantScopedMerchantId;
60
+ merchantConfig.accessTokenInfo.transactionProcessingAccountName =
61
+ "test_account_CungkardAk";
62
+ src_1.ServicesContainer.configureService(merchantConfig, merchantConfigName);
63
+ const mmaConfig = createConfig(partnerAppId, partnerAppKey, src_1.Channel.CardNotPresent);
64
+ mmaConfig.merchantId = mmaMerchantId;
65
+ mmaConfig.merchantManagementAccountID = merchantManagementAccountID;
66
+ src_1.ServicesContainer.configureService(mmaConfig, mmaConfigName);
67
+ });
68
+ afterAll(() => {
69
+ src_1.ServicesContainer.removeConfiguration(defaultConfigName);
70
+ src_1.ServicesContainer.removeConfiguration(merchantConfigName);
71
+ src_1.ServicesContainer.removeConfiguration(mmaConfigName);
72
+ });
73
+ test("charges through the MMA merchant transactions endpoint", async () => {
74
+ const response = await createCard()
75
+ .charge(1.01)
76
+ .withCurrency("USD")
77
+ .execute(mmaConfigName);
78
+ expect(response).toBeTruthy();
79
+ expect(response.responseCode).toBe("SUCCESS");
80
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions`))).toBe(true);
81
+ });
82
+ test("charges through the existing merchant transactions endpoint", async () => {
83
+ const response = await createCard(true)
84
+ .charge(1.01)
85
+ .withCurrency("GBP")
86
+ .execute(merchantConfigName);
87
+ expect(response).toBeTruthy();
88
+ expect(response.responseCode).toBe("SUCCESS");
89
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/merchants/${merchantScopedMerchantId}/transactions`))).toBe(true);
90
+ });
91
+ test("charges through the default transactions endpoint", async () => {
92
+ const response = await createCard()
93
+ .charge(1.01)
94
+ .withCurrency("GBP")
95
+ .execute(defaultConfigName);
96
+ expect(response).toBeTruthy();
97
+ expect(response.responseCode).toBe("SUCCESS");
98
+ expect(requestEndpoints.some((endpoint) => endpoint.includes("/ucp/transactions"))).toBe(true);
99
+ expect(requestEndpoints.some((endpoint) => endpoint.includes("/merchants/"))).toBe(false);
100
+ });
101
+ test("captures through the MMA merchant endpoint", async () => {
102
+ const authorization = await createCard()
103
+ .authorize(1.01)
104
+ .withCurrency("USD")
105
+ .execute(mmaConfigName);
106
+ const response = await authorization.capture(1.01).execute(mmaConfigName);
107
+ expect(response).toBeTruthy();
108
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions/${authorization.transactionId}/capture`))).toBe(true);
109
+ });
110
+ test("reports a transaction through the MMA merchant endpoint", async () => {
111
+ const authorization = await createCard()
112
+ .authorize(1.01)
113
+ .withCurrency("USD")
114
+ .execute(mmaConfigName);
115
+ try {
116
+ const response = await src_1.ReportingService.transactionDetail(authorization.transactionId).execute(mmaConfigName);
117
+ expect(response.transactionId).toBe(authorization.transactionId);
118
+ }
119
+ catch (error) {
120
+ expect(error).toBeInstanceOf(src_1.GatewayError);
121
+ }
122
+ expect(requestEndpoints.some((endpoint) => endpoint.startsWith(`https://apis.sandbox.globalpay.com/ucp/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions/${authorization.transactionId}`))).toBe(true);
123
+ });
124
+ test("generates an MMA-configured access token without MMA routing", async () => {
125
+ const config = createConfig(partnerAppId, partnerAppKey, src_1.Channel.CardNotPresent);
126
+ config.merchantId = mmaMerchantId;
127
+ config.merchantManagementAccountID = merchantManagementAccountID;
128
+ const accessTokenInfo = await src_1.GpApiService.generateTransactionKey(config);
129
+ expect(accessTokenInfo.accessToken).toBeTruthy();
130
+ expect(requestEndpoints).toContain("https://apis.sandbox.globalpay.com/ucp/accesstoken");
131
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}`))).toBe(false);
132
+ });
133
+ test("checks 3DS enrollment through the MMA merchant endpoint", async () => {
134
+ const card = createCard();
135
+ card.number = "4263970000005262";
136
+ card.cardHolderName = "James Mason";
137
+ const response = await src_1.Secure3dService.checkEnrollment(card)
138
+ .withAmount(1.01)
139
+ .withCurrency("USD")
140
+ .execute(mmaConfigName);
141
+ expect(response).toBeTruthy();
142
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/authentications`))).toBe(true);
143
+ });
144
+ test("rejects an MMA merchant that is not associated with the account", async () => {
145
+ const invalidConfig = createConfig(partnerAppId, partnerAppKey, src_1.Channel.CardNotPresent);
146
+ invalidConfig.merchantManagementAccountID = merchantManagementAccountID;
147
+ invalidConfig.merchantId = "MER_20c2b3fcfedd484e9c3723347db46b71";
148
+ src_1.ServicesContainer.configureService(invalidConfig, "invalid-mma-merchant");
149
+ await expect(createCard()
150
+ .charge(1.01)
151
+ .withCurrency("USD")
152
+ .execute("invalid-mma-merchant")).rejects.toBeInstanceOf(src_1.GatewayError);
153
+ src_1.ServicesContainer.removeConfiguration("invalid-mma-merchant");
154
+ });
155
+ test("rejects a merchant-only configuration with an unknown merchant", async () => {
156
+ const invalidConfig = createConfig(merchantScopedAppId, merchantScopedAppKey, src_1.Channel.CardPresent);
157
+ invalidConfig.merchantId = invalidMerchantId;
158
+ invalidConfig.accessTokenInfo.transactionProcessingAccountName =
159
+ "test_account_CungkardAk";
160
+ src_1.ServicesContainer.configureService(invalidConfig, "invalid-merchant");
161
+ await expect(createCard(true)
162
+ .charge(1.01)
163
+ .withCurrency("GBP")
164
+ .execute("invalid-merchant")).rejects.toBeInstanceOf(src_1.GatewayError);
165
+ src_1.ServicesContainer.removeConfiguration("invalid-merchant");
166
+ });
167
+ test("rejects a merchant-scoped request without currency", async () => {
168
+ await expect(createCard(true).charge(1.01).execute(merchantConfigName)).rejects.toBeInstanceOf(src_1.GatewayError);
169
+ });
170
+ test("rejects an MMA merchant-scoped request without currency", async () => {
171
+ await expect(createCard().charge(1.01).execute(mmaConfigName)).rejects.toBeInstanceOf(src_1.GatewayError);
172
+ });
173
+ test("rejects a default request without currency", async () => {
174
+ await expect(createCard().charge(1.01).execute(defaultConfigName)).rejects.toBeInstanceOf(src_1.GatewayError);
175
+ });
176
+ });
177
+ //# sourceMappingURL=GpApiMMAAccount.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GpApiMMAAccount.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const GpApiRequest_1 = require("../../../../src/Entities/GpApi/GpApiRequest");
4
+ const merchantId = "MER_6517954c0c8544feb3f74c825e2b032c";
5
+ const merchantManagementAccountID = "MMA_344aebc638864d7381909dcf78d4c760";
6
+ describe("GP-API MMA account routing", () => {
7
+ test("leaves the default transaction route unscoped", () => {
8
+ expect(GpApiRequest_1.GpApiRequest.getMerchantUrl({})).toBe("");
9
+ });
10
+ test("routes merchant-scoped requests through the configured merchant", () => {
11
+ const config = { merchantId };
12
+ expect(GpApiRequest_1.GpApiRequest.getMerchantUrl(config)).toBe(`/merchants/${merchantId}`);
13
+ });
14
+ test("routes merchant-scoped requests through the configured MMA", () => {
15
+ const config = {
16
+ merchantId,
17
+ merchantManagementAccountID,
18
+ };
19
+ expect(GpApiRequest_1.GpApiRequest.getMerchantUrl(config)).toBe(`/accounts/${merchantManagementAccountID}/merchants/${merchantId}`);
20
+ });
21
+ test("uses the supplied merchant id for an MMA-scoped override", () => {
22
+ const config = { merchantManagementAccountID };
23
+ expect(GpApiRequest_1.GpApiRequest.getMerchantUrl(config, merchantId)).toBe(`/accounts/${merchantManagementAccountID}/merchants/${merchantId}`);
24
+ });
25
+ test("does not scope access-token requests", () => {
26
+ expect(GpApiRequest_1.GpApiRequest.ACCESS_TOKEN_ENDPOINT).toBe("/accesstoken");
27
+ });
28
+ });
29
+ //# sourceMappingURL=GpApiMMAAccount.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GpApiMMAAccount.test.js","sourceRoot":"","sources":["../../../../../test/Unit/Gateways/GpApiConnector/GpApiMMAAccount.test.ts"],"names":[],"mappings":";;AAAA,8EAA2E;AAE3E,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;AAE3E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,2BAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC3E,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,CAAC;QAE9B,MAAM,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAC9C,cAAc,UAAU,EAAE,CAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG;YACb,UAAU;YACV,2BAA2B;SAC5B,CAAC;QAEF,MAAM,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAC9C,aAAa,2BAA2B,cAAc,UAAU,EAAE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QACpE,MAAM,MAAM,GAAG,EAAE,2BAA2B,EAAE,CAAC;QAE/C,MAAM,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAC1D,aAAa,2BAA2B,cAAc,UAAU,EAAE,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,2BAAY,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Unit tests for TerminalAuthBuilder and TerminalManageBuilder
3
+ * Testing newly added properties and builder methods for UPA parity with .NET SDK
4
+ *
5
+ * Properties added to TerminalAuthBuilder:
6
+ * - clerkId
7
+ * - prescriptionAmount
8
+ * - clinicAmount
9
+ * - dentalAmount
10
+ * - visionOpticalAmount
11
+ * - confirmAmount
12
+ * - surchargeAmount
13
+ *
14
+ * Properties added to TerminalManageBuilder:
15
+ * - clerkId
16
+ */
17
+ export {};