globalpayments-api 3.12.0 → 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 (26) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +0 -18
  3. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +2 -0
  4. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +5 -1
  5. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  6. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +0 -1
  7. package/lib/src/Terminals/Builders/TerminalBuilder.js +0 -1
  8. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
  9. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +5 -0
  10. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +14 -0
  11. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  12. package/lib/src/Terminals/TerminalResponse.d.ts +4 -0
  13. package/lib/src/Terminals/TerminalResponse.js +4 -0
  14. package/lib/src/Terminals/TerminalResponse.js.map +1 -1
  15. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +4 -1
  16. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +15 -1
  17. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  18. package/lib/src/Terminals/UPA/UpaController.js +11 -4
  19. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  20. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js +29 -1
  21. package/lib/test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.js.map +1 -1
  22. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +2233 -388
  23. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -1
  24. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +504 -1
  25. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -1
  26. package/package.json +1 -1
@@ -8,6 +8,7 @@ const mmaConfigName = "mma-account-merchant-sale";
8
8
  const merchantScopedAppId = "wuqol13QQJu0vcjbdN9892cl5IcyJgPU";
9
9
  const merchantScopedAppKey = "jdOJNxsGbE0nLeTx";
10
10
  const merchantScopedMerchantId = "MER_3abc0724f49c40e59a61309ae6d37dfd";
11
+ const invalidMerchantId = "MER_20c2b3fcfedd484e9c3723347db56b71";
11
12
  const partnerAppId = "ju9LDqNIxUgY2NeQPgwqc0fLbq3AcJCL";
12
13
  const partnerAppKey = "KYYh3YJwyfzqjWNa";
13
14
  const merchantManagementAccountID = "MMA_344aebc638864d7381909dcf78d4c760";
@@ -52,7 +53,8 @@ describe("GP-API MMA account routing", () => {
52
53
  src_1.ServicesContainer.removeConfiguration(defaultConfigName);
53
54
  src_1.ServicesContainer.removeConfiguration(merchantConfigName);
54
55
  src_1.ServicesContainer.removeConfiguration(mmaConfigName);
55
- src_1.ServicesContainer.configureService(BaseGpApiTestConfig_1.BaseGpApiTestConfig.gpApiSetupConfig(src_1.Channel.CardNotPresent), defaultConfigName);
56
+ const defaultConfig = createConfig(BaseGpApiTestConfig_1.BaseGpApiTestConfig.appId, BaseGpApiTestConfig_1.BaseGpApiTestConfig.appKey, src_1.Channel.CardNotPresent);
57
+ src_1.ServicesContainer.configureService(defaultConfig, defaultConfigName);
56
58
  const merchantConfig = createConfig(merchantScopedAppId, merchantScopedAppKey, src_1.Channel.CardPresent);
57
59
  merchantConfig.merchantId = merchantScopedMerchantId;
58
60
  merchantConfig.accessTokenInfo.transactionProcessingAccountName =
@@ -75,6 +77,7 @@ describe("GP-API MMA account routing", () => {
75
77
  .execute(mmaConfigName);
76
78
  expect(response).toBeTruthy();
77
79
  expect(response.responseCode).toBe("SUCCESS");
80
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions`))).toBe(true);
78
81
  });
79
82
  test("charges through the existing merchant transactions endpoint", async () => {
80
83
  const response = await createCard(true)
@@ -83,6 +86,7 @@ describe("GP-API MMA account routing", () => {
83
86
  .execute(merchantConfigName);
84
87
  expect(response).toBeTruthy();
85
88
  expect(response.responseCode).toBe("SUCCESS");
89
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/merchants/${merchantScopedMerchantId}/transactions`))).toBe(true);
86
90
  });
87
91
  test("charges through the default transactions endpoint", async () => {
88
92
  const response = await createCard()
@@ -91,6 +95,8 @@ describe("GP-API MMA account routing", () => {
91
95
  .execute(defaultConfigName);
92
96
  expect(response).toBeTruthy();
93
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);
94
100
  });
95
101
  test("captures through the MMA merchant endpoint", async () => {
96
102
  const authorization = await createCard()
@@ -99,6 +105,7 @@ describe("GP-API MMA account routing", () => {
99
105
  .execute(mmaConfigName);
100
106
  const response = await authorization.capture(1.01).execute(mmaConfigName);
101
107
  expect(response).toBeTruthy();
108
+ expect(requestEndpoints.some((endpoint) => endpoint.includes(`/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions/${authorization.transactionId}/capture`))).toBe(true);
102
109
  });
103
110
  test("reports a transaction through the MMA merchant endpoint", async () => {
104
111
  const authorization = await createCard()
@@ -114,6 +121,15 @@ describe("GP-API MMA account routing", () => {
114
121
  }
115
122
  expect(requestEndpoints.some((endpoint) => endpoint.startsWith(`https://apis.sandbox.globalpay.com/ucp/accounts/${merchantManagementAccountID}/merchants/${mmaMerchantId}/transactions/${authorization.transactionId}`))).toBe(true);
116
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
+ });
117
133
  test("checks 3DS enrollment through the MMA merchant endpoint", async () => {
118
134
  const card = createCard();
119
135
  card.number = "4263970000005262";
@@ -136,6 +152,18 @@ describe("GP-API MMA account routing", () => {
136
152
  .execute("invalid-mma-merchant")).rejects.toBeInstanceOf(src_1.GatewayError);
137
153
  src_1.ServicesContainer.removeConfiguration("invalid-mma-merchant");
138
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
+ });
139
167
  test("rejects a merchant-scoped request without currency", async () => {
140
168
  await expect(createCard(true).charge(1.01).execute(merchantConfigName)).rejects.toBeInstanceOf(src_1.GatewayError);
141
169
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GpApiMMAAccount.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GpApiMMAAccount.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/GpApiMMAAccount.test.ts"],"names":[],"mappings":"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"}