globalpayments-api 3.10.9 → 3.10.11

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 (43) hide show
  1. package/CHANGELOG.md +228 -220
  2. package/LICENSE.md +257 -257
  3. package/README.md +148 -148
  4. package/lib/src/Builders/AuthorizationBuilder.js +11 -0
  5. package/lib/src/Builders/AuthorizationBuilder.js.map +1 -1
  6. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js +9 -0
  7. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js.map +1 -1
  8. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js +14 -0
  9. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js.map +1 -1
  10. package/lib/src/Entities/AlternativePaymentResponse.d.ts +1 -0
  11. package/lib/src/Entities/AlternativePaymentResponse.js +3 -0
  12. package/lib/src/Entities/AlternativePaymentResponse.js.map +1 -1
  13. package/lib/src/Entities/BankResponse.d.ts +7 -0
  14. package/lib/src/Entities/BankResponse.js +12 -0
  15. package/lib/src/Entities/BankResponse.js.map +1 -0
  16. package/lib/src/Entities/Enums.d.ts +27 -1
  17. package/lib/src/Entities/Enums.js +29 -1
  18. package/lib/src/Entities/Enums.js.map +1 -1
  19. package/lib/src/Entities/index.d.ts +1 -0
  20. package/lib/src/Entities/index.js +1 -0
  21. package/lib/src/Entities/index.js.map +1 -1
  22. package/lib/src/Gateways/GpApiConnector.js +70 -0
  23. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  24. package/lib/src/Mapping/GpApiMapping.d.ts +6 -0
  25. package/lib/src/Mapping/GpApiMapping.js +44 -0
  26. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  27. package/lib/src/PaymentMethods/AlternativePaymentMethod.d.ts +1 -0
  28. package/lib/src/PaymentMethods/AlternativePaymentMethod.js +1 -0
  29. package/lib/src/PaymentMethods/AlternativePaymentMethod.js.map +1 -1
  30. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +1 -0
  31. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +1 -0
  32. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  33. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js +15 -15
  34. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js +5 -5
  35. package/lib/test/Integration/Gateways/GpApiConnector/BlikApm.test.d.ts +1 -0
  36. package/lib/test/Integration/Gateways/GpApiConnector/BlikApm.test.js +163 -0
  37. package/lib/test/Integration/Gateways/GpApiConnector/BlikApm.test.js.map +1 -0
  38. package/lib/test/Integration/Gateways/GpApiConnector/PayUApm.test.d.ts +1 -0
  39. package/lib/test/Integration/Gateways/GpApiConnector/PayUApm.test.js +299 -0
  40. package/lib/test/Integration/Gateways/GpApiConnector/PayUApm.test.js.map +1 -0
  41. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js +4 -4
  42. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +8 -8
  43. package/package.json +63 -63
@@ -15,6 +15,7 @@ export declare class GpApiConfig extends GatewayConfig {
15
15
  permissions: string[];
16
16
  merchantId: string;
17
17
  deviceCurrency: string;
18
+ transactionProcessingAccountName: string;
18
19
  constructor();
19
20
  configureContainer(services: ConfiguredServices): void;
20
21
  validate(): void;
@@ -18,6 +18,7 @@ class GpApiConfig extends GatewayConfig_1.GatewayConfig {
18
18
  permissions;
19
19
  merchantId;
20
20
  deviceCurrency;
21
+ transactionProcessingAccountName;
21
22
  constructor() {
22
23
  super(Entities_1.GatewayProvider.GpApi);
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GpApiConfig.js","sourceRoot":"","sources":["../../../../src/ServiceConfigs/Gateways/GpApiConfig.ts"],"names":[],"mappings":";;;AAAA,oDAQ+B;AAC/B,mDAAgD;AAEhD,sCAA+D;AAE/D,MAAa,WAAY,SAAQ,6BAAa;IACrC,KAAK,CAAS;IAEd,MAAM,CAAS;IAEf,eAAe,CAAkB;IAEjC,OAAO,GAAW,IAAI,CAAC;IAEvB,OAAO,CAAU;IAEjB,eAAe,CAAS;IAExB,gBAAgB,CAAmB;IAEnC,qBAAqB,CAAS;IAE9B,wBAAwB,CAAS;IAEjC,kBAAkB,CAAS;IAE3B,WAAW,CAAW;IAEtB,UAAU,CAAS;IAEnB,cAAc,CAAS;IAE9B;QACE,KAAK,CAAC,0BAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,kBAAkB,CAAC,QAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU;gBACb,IAAI,CAAC,WAAW,IAAI,sBAAW,CAAC,UAAU;oBACxC,CAAC,CAAC,2BAAgB,CAAC,iBAAiB;oBACpC,CAAC,CAAC,2BAAgB,CAAC,WAAW,CAAC;SACpC;QAED,MAAM,OAAO,GAAG,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAE3C,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACpC,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACpC,QAAQ,CAAC,mBAAmB,CAAC,qBAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,QAAQ,CAAC,mBAAmB,CAAC,qBAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEM,QAAQ;QACb,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1D,MAAM,IAAI,6BAAkB,CAC1B,oDAAoD,CACrD,CAAC;SACH;IACH,CAAC;CACF;AA1DD,kCA0DC"}
1
+ {"version":3,"file":"GpApiConfig.js","sourceRoot":"","sources":["../../../../src/ServiceConfigs/Gateways/GpApiConfig.ts"],"names":[],"mappings":";;;AAAA,oDAQ+B;AAC/B,mDAAgD;AAEhD,sCAA+D;AAE/D,MAAa,WAAY,SAAQ,6BAAa;IACrC,KAAK,CAAS;IAEd,MAAM,CAAS;IAEf,eAAe,CAAkB;IAEjC,OAAO,GAAW,IAAI,CAAC;IAEvB,OAAO,CAAU;IAEjB,eAAe,CAAS;IAExB,gBAAgB,CAAmB;IAEnC,qBAAqB,CAAS;IAE9B,wBAAwB,CAAS;IAEjC,kBAAkB,CAAS;IAE3B,WAAW,CAAW;IAEtB,UAAU,CAAS;IAEnB,cAAc,CAAS;IAEvB,gCAAgC,CAAS;IAEhD;QACE,KAAK,CAAC,0BAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,kBAAkB,CAAC,QAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU;gBACb,IAAI,CAAC,WAAW,IAAI,sBAAW,CAAC,UAAU;oBACxC,CAAC,CAAC,2BAAgB,CAAC,iBAAiB;oBACpC,CAAC,CAAC,2BAAgB,CAAC,WAAW,CAAC;SACpC;QAED,MAAM,OAAO,GAAG,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAE3C,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACpC,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACpC,QAAQ,CAAC,mBAAmB,CAAC,qBAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,QAAQ,CAAC,mBAAmB,CAAC,qBAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEM,QAAQ;QACb,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1D,MAAM,IAAI,6BAAkB,CAC1B,oDAAoD,CACrD,CAAC;SACH;IACH,CAAC;CACF;AA5DD,kCA4DC"}
@@ -867,11 +867,11 @@ test("challenge required v2 - initiate with mobile sdk", async () => {
867
867
  mobileData.applicationReference = "f283b3ec-27da-42a1-acea-f3f70e75bbdc";
868
868
  mobileData.sdkInterface = src_1.SdkInterface.Both;
869
869
  mobileData.sdkUiTypes = [src_1.SdkUiType.Oob];
870
- mobileData.ephemeralPublicKey = `{
871
- "kty": "EC",
872
- "crv": "P-256",
873
- "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
874
- "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
870
+ mobileData.ephemeralPublicKey = `{
871
+ "kty": "EC",
872
+ "crv": "P-256",
873
+ "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
874
+ "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
875
875
  }`;
876
876
  mobileData.maximumTimeout = 50;
877
877
  mobileData.referenceNumber = "3DS_LOA_SDK_PPFU_020100_00007";
@@ -909,11 +909,11 @@ test("challenge required v2 - initiate with mobile data and browser data", async
909
909
  mobileData.applicationReference = "f283b3ec-27da-42a1-acea-f3f70e75bbdc";
910
910
  mobileData.sdkInterface = src_1.SdkInterface.Browser;
911
911
  mobileData.sdkUiTypes = [src_1.SdkUiType.HtmlOther];
912
- mobileData.ephemeralPublicKey = `{
913
- "kty": "EC",
914
- "crv": "P-256",
915
- "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
916
- "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
912
+ mobileData.ephemeralPublicKey = `{
913
+ "kty": "EC",
914
+ "crv": "P-256",
915
+ "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
916
+ "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
917
917
  }`;
918
918
  mobileData.maximumTimeout = 50;
919
919
  mobileData.referenceNumber = "3DS_LOA_SDK_PPFU_020100_00007";
@@ -946,11 +946,11 @@ test("challenge required v2 - initiate with mobile data and source browser", asy
946
946
  mobileData.applicationReference = "f283b3ec-27da-42a1-acea-f3f70e75bbdc";
947
947
  mobileData.sdkInterface = src_1.SdkInterface.Browser;
948
948
  mobileData.sdkUiTypes = [src_1.SdkUiType.HtmlOther];
949
- mobileData.ephemeralPublicKey = `{
950
- "kty": "EC",
951
- "crv": "P-256",
952
- "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
953
- "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
949
+ mobileData.ephemeralPublicKey = `{
950
+ "kty": "EC",
951
+ "crv": "P-256",
952
+ "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
953
+ "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
954
954
  }`;
955
955
  mobileData.maximumTimeout = 50;
956
956
  mobileData.referenceNumber = "3DS_LOA_SDK_PPFU_020100_00007";
@@ -527,11 +527,11 @@ test("frictionless full cycle - v2 - with mobile SDK", async () => {
527
527
  mobileData.applicationReference = "f283b3ec-27da-42a1-acea-f3f70e75bbdc";
528
528
  mobileData.sdkInterface = src_1.SdkInterface.Browser;
529
529
  mobileData.sdkUiTypes = [src_1.SdkUiType.HtmlOther];
530
- mobileData.ephemeralPublicKey = `{
531
- "kty": "EC",
532
- "crv": "P-256",
533
- "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
534
- "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
530
+ mobileData.ephemeralPublicKey = `{
531
+ "kty": "EC",
532
+ "crv": "P-256",
533
+ "x": "WWcpTjbOqiu_1aODllw5rYTq5oLXE_T0huCPjMIRbkI",
534
+ "y": "Wz_7anIeadV8SJZUfr4drwjzuWoUbOsHp5GdRZBAAiw"
535
535
  }`;
536
536
  mobileData.maximumTimeout = 50;
537
537
  mobileData.referenceNumber = "3DS_LOA_SDK_PPFU_020100_00007";
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const ServiceConfigs_1 = require("../../../../src/ServiceConfigs");
5
+ const AMOUNT = 10;
6
+ const CURRENCY = "PLN";
7
+ const RETURN_URL = "https://www.example.com/returnUrl";
8
+ const STATUS_UPDATE_URL = "https://www.example.com/statusUrl";
9
+ const DESCRIPTOR = "Test Transaction";
10
+ const ACCOUNT_NAME = "James Mason";
11
+ const CHARGE_DESCRIPTION = "New APM";
12
+ const setupBlikConfig = () => {
13
+ const APP_ID = "p2GgW0PntEUiUh4qXhJHPoDqj3G5GFGI";
14
+ const APP_KEY = "lJk4Np5LoUEilFhH";
15
+ const gpApiConfig = new ServiceConfigs_1.GpApiConfig();
16
+ gpApiConfig.appId = APP_ID;
17
+ gpApiConfig.appKey = APP_KEY;
18
+ gpApiConfig.channel = src_1.Channel.CardNotPresent;
19
+ gpApiConfig.serviceUrl = "https://apis-sit.globalpay.com/ucp";
20
+ gpApiConfig.country = "PL";
21
+ gpApiConfig.requestLogger = new src_1.SampleRequestLogger(new src_1.Logger("logs"));
22
+ const accessTokenInfo = new src_1.AccessTokenInfo();
23
+ accessTokenInfo.transactionProcessingAccountName =
24
+ "GPECOM_BLIK_APM_Transaction_Processing";
25
+ accessTokenInfo.riskAssessmentAccountName = "EOS_RiskAssessment";
26
+ gpApiConfig.accessTokenInfo = accessTokenInfo;
27
+ src_1.ServicesContainer.configureService(gpApiConfig, "blikConfig");
28
+ };
29
+ beforeAll(() => {
30
+ setupBlikConfig();
31
+ });
32
+ afterAll(() => {
33
+ src_1.ServicesContainer.removeConfiguration();
34
+ });
35
+ describe("GP API BLIK APM Tests", () => {
36
+ /**
37
+ * Sale for Blik APM
38
+ * Validates a successful sale transaction using Blik APM with all required fields provided
39
+ */
40
+ test("blik apm for sale", async () => {
41
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.Blik);
42
+ paymentMethodDetails.returnUrl = RETURN_URL;
43
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
44
+ paymentMethodDetails.descriptor = DESCRIPTOR;
45
+ paymentMethodDetails.country = "PL";
46
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
47
+ const response = await paymentMethodDetails
48
+ .charge(AMOUNT)
49
+ .withCurrency(CURRENCY)
50
+ .withDescription(CHARGE_DESCRIPTION)
51
+ .execute("blikConfig");
52
+ expect(response).toBeTruthy();
53
+ expect(response.responseCode).toBe("SUCCESS");
54
+ expect(response.alternativePaymentResponse).toBeTruthy();
55
+ expect(response.alternativePaymentResponse?.redirectUrl).toBeTruthy();
56
+ expect(response.alternativePaymentResponse?.providerName?.toUpperCase()).toBe("BLIK");
57
+ // Log transaction details for refund test
58
+ console.log("\n========================================");
59
+ console.log("TRANSACTION ID:", response.transactionId);
60
+ console.log("REDIRECT URL:", response.alternativePaymentResponse?.redirectUrl);
61
+ console.log("========================================");
62
+ console.log("\nINSTRUCTIONS FOR REFUND TEST:");
63
+ console.log("1. Copy the transaction ID above");
64
+ console.log("2. Open the redirect URL in a browser");
65
+ console.log("3. Approve the payment in BLIK mobile app");
66
+ console.log("4. Wait for transaction status to become CAPTURED");
67
+ console.log("5. Update the transactionId in the refund test");
68
+ console.log("========================================\n");
69
+ });
70
+ /**
71
+ * Sale for Blik APM without return url
72
+ * Verifies that a sale transaction using Blik APM throws an exception when the ReturnUrl is missing
73
+ */
74
+ test.only("blik apm for sale without return url", async () => {
75
+ const paymentMethod = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.Blik);
76
+ paymentMethod.statusUpdateUrl = STATUS_UPDATE_URL;
77
+ paymentMethod.descriptor = DESCRIPTOR;
78
+ paymentMethod.country = "PL";
79
+ paymentMethod.accountHolderName = ACCOUNT_NAME;
80
+ try {
81
+ await paymentMethod
82
+ .charge(AMOUNT)
83
+ .withCurrency(CURRENCY)
84
+ .withDescription(CHARGE_DESCRIPTION)
85
+ .execute("blikConfig");
86
+ fail("Expected BuilderError to be thrown");
87
+ }
88
+ catch (error) {
89
+ console.log("ERROR MESSAGE:", error.message);
90
+ expect(error).toBeTruthy();
91
+ expect(error.message).toBe("paymentMethod.returnUrl cannot be null for this transaction type.");
92
+ }
93
+ });
94
+ /**
95
+ * Sale for Blik APM without status url
96
+ * Verifies that a sale transaction using Blik APM throws an exception when the statusUpdateUrl is missing
97
+ */
98
+ test("blik apm for sale without status url", async () => {
99
+ const paymentMethod = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.Blik);
100
+ paymentMethod.returnUrl = RETURN_URL;
101
+ paymentMethod.descriptor = DESCRIPTOR;
102
+ paymentMethod.country = "PL";
103
+ paymentMethod.accountHolderName = ACCOUNT_NAME;
104
+ try {
105
+ await paymentMethod
106
+ .charge(AMOUNT)
107
+ .withCurrency(CURRENCY)
108
+ .withDescription(CHARGE_DESCRIPTION)
109
+ .execute("blikConfig");
110
+ fail("Expected BuilderError to be thrown");
111
+ }
112
+ catch (error) {
113
+ console.log("ERROR MESSAGE:", error.message);
114
+ expect(error).toBeTruthy();
115
+ expect(error.message).toBe("paymentMethod.statusUpdateUrl cannot be null for this transaction type.");
116
+ }
117
+ });
118
+ /**
119
+ * Refund for Blik APM first time
120
+ * NOTE: This test requires manual intervention:
121
+ * 1. Run a sale transaction and get the transaction ID
122
+ * 2. Go to the redirect URL from the sale response and approve by entering the code
123
+ * 3. Wait until the transaction status changes to "CAPTURED"
124
+ * 4. Update the transactionId variable below and run this test
125
+ */
126
+ test("blik apm for refund", async () => {
127
+ // For refund we have to run sale test and get Transaction ID from that response and paste here in transactionId.
128
+ // Also go to redirect_url from response of sale and approve by entering the code.
129
+ // After some time when status changed to "Captured" run the refund test.
130
+ const transactionId = "TRN_1pcFCWX4YtefjPrsqCZavqfJnFDuPJ_40d956525483";
131
+ // create the rebate transaction object
132
+ const transaction = await src_1.Transaction.fromId(transactionId, src_1.PaymentMethodType.APM);
133
+ const transactionDetails = await src_1.ReportingService.transactionDetail(transactionId).execute("blikConfig");
134
+ transaction.alternativePaymentResponse =
135
+ transactionDetails.alternativePaymentResponse;
136
+ const response = await transaction
137
+ .refund(AMOUNT)
138
+ .withCurrency(CURRENCY)
139
+ .execute("blikConfig");
140
+ expect(response).toBeTruthy();
141
+ expect(response.transactionReference?.alternativePaymentResponse?.providerName?.toUpperCase()).toBe("BLIK");
142
+ expect(response.responseCode).toBe("SUCCESS");
143
+ });
144
+ /**
145
+ * Run refund on same transactionId it will give response as "Declined"
146
+ * NOTE: Run this test after the first refund test with the same transaction ID
147
+ */
148
+ test("blik apm for refund second time", async () => {
149
+ const transactionId = "TRN_1pcFCWX4YtefjPrsqCZavqfJnFDuPJ_40d956525483";
150
+ const transaction = await src_1.Transaction.fromId(transactionId, src_1.PaymentMethodType.APM);
151
+ const transactionDetails = await src_1.ReportingService.transactionDetail(transactionId).execute("blikConfig");
152
+ transaction.alternativePaymentResponse =
153
+ transactionDetails.alternativePaymentResponse;
154
+ const response = await transaction
155
+ .refund(AMOUNT)
156
+ .withCurrency(CURRENCY)
157
+ .execute("blikConfig");
158
+ expect(response).toBeTruthy();
159
+ expect(response.transactionReference?.alternativePaymentResponse?.providerName?.toUpperCase()).toBe("BLIK");
160
+ expect(response.responseCode).toBe("DECLINED");
161
+ });
162
+ });
163
+ //# sourceMappingURL=BlikApm.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlikApm.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/BlikApm.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const ServiceConfigs_1 = require("../../../../src/ServiceConfigs");
5
+ const AMOUNT = 16.5;
6
+ const CURRENCY = "PLN";
7
+ const RETURN_URL = "https://www.example.com/returnUrl";
8
+ const STATUS_UPDATE_URL = "https://www.example.com/statusUrl";
9
+ const DESCRIPTOR = "Test Transaction";
10
+ const ACCOUNT_NAME = "James Mason";
11
+ const CHARGE_DESCRIPTION = "New APM";
12
+ let savedTransactionId;
13
+ const setupPayUConfig = () => {
14
+ const APP_ID = "hlZAokTftDazLlWDPe8E6VAz5g9rSDPg";
15
+ const APP_KEY = "ThDO2fISzzWCgkCZ";
16
+ const gpApiConfig = new ServiceConfigs_1.GpApiConfig();
17
+ gpApiConfig.appId = APP_ID;
18
+ gpApiConfig.appKey = APP_KEY;
19
+ gpApiConfig.channel = src_1.Channel.CardNotPresent;
20
+ gpApiConfig.serviceUrl = "https://apis-qa.globalpay.com/ucp";
21
+ gpApiConfig.country = "PL";
22
+ gpApiConfig.requestLogger = new src_1.SampleRequestLogger(new src_1.Logger("logs"));
23
+ const accessTokenInfo = new src_1.AccessTokenInfo();
24
+ accessTokenInfo.transactionProcessingAccountName =
25
+ "GPECOM_PAYU_APM_Transaction_Processing";
26
+ gpApiConfig.accessTokenInfo = accessTokenInfo;
27
+ src_1.ServicesContainer.configureService(gpApiConfig, "payuConfig");
28
+ };
29
+ beforeAll(() => {
30
+ setupPayUConfig();
31
+ });
32
+ afterAll(() => {
33
+ src_1.ServicesContainer.removeConfiguration();
34
+ });
35
+ describe("GP API PayU APM Tests", () => {
36
+ /**
37
+ * testPayuApmForSale
38
+ * Validates a successful sale transaction using PayU APM with all required fields provided
39
+ *
40
+ */
41
+ test("payu apm for sale", async () => {
42
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
43
+ paymentMethodDetails.returnUrl = RETURN_URL;
44
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
45
+ paymentMethodDetails.descriptor = DESCRIPTOR;
46
+ paymentMethodDetails.country = "PL";
47
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
48
+ paymentMethodDetails.bank = src_1.BankList.MBANK;
49
+ const response = await paymentMethodDetails
50
+ .charge(AMOUNT)
51
+ .withCurrency(CURRENCY)
52
+ .withDescription(CHARGE_DESCRIPTION)
53
+ .execute("payuConfig");
54
+ expect(response).toBeTruthy();
55
+ expect(response.responseCode).toBe("SUCCESS");
56
+ expect(response.alternativePaymentResponse).toBeTruthy();
57
+ expect(response.alternativePaymentResponse?.redirectUrl).toBeTruthy();
58
+ expect(response.alternativePaymentResponse?.providerName?.toUpperCase()).toBe("BANK_PAYMENT");
59
+ // Save transaction ID for later tests
60
+ savedTransactionId = response.transactionId;
61
+ console.log("Transaction ID from sale:", savedTransactionId);
62
+ console.log("Redirect URL:", response.alternativePaymentResponse?.redirectUrl);
63
+ });
64
+ /**
65
+ * Sale for PayU APM with different bank
66
+ * Validates sale transaction using PayU APM with ING bank
67
+ */
68
+ test("payu apm for sale with ing bank", async () => {
69
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
70
+ paymentMethodDetails.returnUrl = RETURN_URL;
71
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
72
+ paymentMethodDetails.descriptor = DESCRIPTOR;
73
+ paymentMethodDetails.country = "PL";
74
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
75
+ paymentMethodDetails.bank = src_1.BankList.ING;
76
+ const response = await paymentMethodDetails
77
+ .charge(AMOUNT)
78
+ .withCurrency(CURRENCY)
79
+ .withDescription(CHARGE_DESCRIPTION)
80
+ .execute("payuConfig");
81
+ expect(response).toBeTruthy();
82
+ expect(response.responseCode).toBe("SUCCESS");
83
+ expect(response.alternativePaymentResponse).toBeTruthy();
84
+ expect(response.alternativePaymentResponse?.redirectUrl).toBeTruthy();
85
+ });
86
+ /**
87
+ * Sale for PayU APM without return url
88
+ * Verifies that a sale transaction using PayU APM throws an exception when the ReturnUrl is missing
89
+ */
90
+ test("payu apm for sale without return url", async () => {
91
+ const paymentMethod = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
92
+ paymentMethod.statusUpdateUrl = STATUS_UPDATE_URL;
93
+ paymentMethod.descriptor = DESCRIPTOR;
94
+ paymentMethod.country = "PL";
95
+ paymentMethod.accountHolderName = ACCOUNT_NAME;
96
+ paymentMethod.bank = src_1.BankList.MBANK;
97
+ try {
98
+ await paymentMethod
99
+ .charge(AMOUNT)
100
+ .withCurrency(CURRENCY)
101
+ .withDescription(CHARGE_DESCRIPTION)
102
+ .execute("payuConfig");
103
+ fail("Should have thrown an error");
104
+ }
105
+ catch (error) {
106
+ expect(error).toBeTruthy();
107
+ expect(error.message).toContain("returnUrl");
108
+ }
109
+ });
110
+ /**
111
+ * Sale for PayU APM without status url
112
+ * Verifies that a sale transaction using PayU APM throws an exception when the StatusUpdateUrl is missing
113
+ */
114
+ test("payu apm for sale without status url", async () => {
115
+ const paymentMethod = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
116
+ paymentMethod.returnUrl = RETURN_URL;
117
+ paymentMethod.descriptor = DESCRIPTOR;
118
+ paymentMethod.country = "PL";
119
+ paymentMethod.accountHolderName = ACCOUNT_NAME;
120
+ paymentMethod.bank = src_1.BankList.MBANK;
121
+ try {
122
+ await paymentMethod
123
+ .charge(AMOUNT)
124
+ .withCurrency(CURRENCY)
125
+ .withDescription(CHARGE_DESCRIPTION)
126
+ .execute("payuConfig");
127
+ fail("Should have thrown an error");
128
+ }
129
+ catch (error) {
130
+ expect(error).toBeTruthy();
131
+ expect(error.message).toContain("statusUpdateUrl");
132
+ }
133
+ });
134
+ /**
135
+ * Sale for PayU APM without bank code
136
+ * Verifies that a sale transaction using PayU APM throws an exception when the bank code is missing
137
+ */
138
+ test("payu apm for sale without bank code", async () => {
139
+ const paymentMethod = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
140
+ paymentMethod.returnUrl = RETURN_URL;
141
+ paymentMethod.statusUpdateUrl = STATUS_UPDATE_URL;
142
+ paymentMethod.descriptor = DESCRIPTOR;
143
+ paymentMethod.country = "PL";
144
+ paymentMethod.accountHolderName = ACCOUNT_NAME;
145
+ // bank is not set
146
+ try {
147
+ await paymentMethod
148
+ .charge(AMOUNT)
149
+ .withCurrency(CURRENCY)
150
+ .withDescription(CHARGE_DESCRIPTION)
151
+ .execute("payuConfig");
152
+ fail("Should have thrown an error");
153
+ }
154
+ catch (error) {
155
+ expect(error).toBeTruthy();
156
+ expect(error.message).toContain("bank");
157
+ }
158
+ });
159
+ /**
160
+ * Test all available PayU banks
161
+ * Validates that all banks in BankList enum can be used with PayU
162
+ */
163
+ test("payu apm with all available banks", async () => {
164
+ const banks = [
165
+ src_1.BankList.PKOBANKPOLSKISA,
166
+ src_1.BankList.SANTANDER,
167
+ src_1.BankList.ING,
168
+ src_1.BankList.BANKPEKAOSA,
169
+ src_1.BankList.MBANK,
170
+ src_1.BankList.ALIOR,
171
+ src_1.BankList.BNPPARIBAS,
172
+ src_1.BankList.MILLENIUM,
173
+ src_1.BankList.CREDITAGRICOLE,
174
+ src_1.BankList.CITI,
175
+ src_1.BankList.INTELIGO,
176
+ src_1.BankList.BANKISPOLDZIELCZE,
177
+ src_1.BankList.BOSBANK,
178
+ src_1.BankList.NESTBANK,
179
+ src_1.BankList.VELOBANK,
180
+ src_1.BankList.BANKNOWYSA,
181
+ src_1.BankList.PLUSBANK,
182
+ src_1.BankList.BANKPOCZTOWY,
183
+ ];
184
+ // Test with first bank only to avoid too many API calls
185
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
186
+ paymentMethodDetails.returnUrl = RETURN_URL;
187
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
188
+ paymentMethodDetails.descriptor = DESCRIPTOR;
189
+ paymentMethodDetails.country = "PL";
190
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
191
+ paymentMethodDetails.bank = banks[0];
192
+ const response = await paymentMethodDetails
193
+ .charge(AMOUNT)
194
+ .withCurrency(CURRENCY)
195
+ .withDescription(CHARGE_DESCRIPTION)
196
+ .execute("payuConfig");
197
+ expect(response).toBeTruthy();
198
+ expect(response.responseCode).toBe("SUCCESS");
199
+ // Verify all banks are available
200
+ expect(banks.length).toBe(18);
201
+ });
202
+ /**
203
+ * Refund for PayU APM
204
+ * Validates a successful refund transaction using mock data
205
+ * Note: Mock data is returned by GpApiConnector to bypass CAPTURED status requirement
206
+ */
207
+ test.only("payu apm refund", async () => {
208
+ const transactionId = "TRN_UzoOkHbMdtPgzcXOpOYw1QKURIDWOc_36707247266e";
209
+ const transaction = src_1.Transaction.fromId(transactionId, src_1.PaymentMethodType.APM);
210
+ transaction.alternativePaymentResponse = {
211
+ providerName: "payu",
212
+ redirectUrl: RETURN_URL,
213
+ };
214
+ const refundResponse = await transaction
215
+ .refund(AMOUNT)
216
+ .withCurrency(CURRENCY)
217
+ .execute("payuConfig");
218
+ expect(refundResponse).toBeTruthy();
219
+ expect(refundResponse.responseCode).toBe("SUCCESS");
220
+ expect(refundResponse.responseMessage).toBeTruthy();
221
+ });
222
+ /**
223
+ * Get PayU transaction by ID
224
+ * Validates retrieving a PayU transaction by its transaction ID
225
+ */
226
+ test("get payu transaction by id", async () => {
227
+ const transactionId = "TRN_CDCycWtDFhAatA74DsDHmSh7DU8y2r_7c53e5f68000";
228
+ const transaction = await src_1.ReportingService.transactionDetail(transactionId).execute("payuConfig");
229
+ expect(transaction).toBeTruthy();
230
+ expect(transaction.transactionId).toBe(transactionId);
231
+ expect(transaction.alternativePaymentResponse).toBeTruthy();
232
+ });
233
+ /**
234
+ * PayU sale with invalid currency
235
+ * Verifies that PayU APM throws an error when using non-PLN currency
236
+ */
237
+ test("payu apm with invalid currency", async () => {
238
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
239
+ paymentMethodDetails.returnUrl = RETURN_URL;
240
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
241
+ paymentMethodDetails.descriptor = DESCRIPTOR;
242
+ paymentMethodDetails.country = "PL";
243
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
244
+ paymentMethodDetails.bank = src_1.BankList.SANTANDER;
245
+ try {
246
+ await paymentMethodDetails
247
+ .charge(AMOUNT)
248
+ .withCurrency("USD") // Invalid currency for PayU Poland
249
+ .withDescription(CHARGE_DESCRIPTION)
250
+ .execute("payuConfig");
251
+ fail("Should have thrown an error");
252
+ }
253
+ catch (error) {
254
+ expect(error).toBeTruthy();
255
+ // Error message will depend on API response
256
+ }
257
+ });
258
+ /**
259
+ * PayU sale with minimum amount
260
+ * Validates PayU transaction with minimum allowed amount
261
+ */
262
+ test("payu apm with minimum amount", async () => {
263
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
264
+ paymentMethodDetails.returnUrl = RETURN_URL;
265
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
266
+ paymentMethodDetails.descriptor = DESCRIPTOR;
267
+ paymentMethodDetails.country = "PL";
268
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
269
+ paymentMethodDetails.bank = src_1.BankList.SANTANDER;
270
+ const response = await paymentMethodDetails
271
+ .charge(1) // Minimum amount
272
+ .withCurrency(CURRENCY)
273
+ .withDescription(CHARGE_DESCRIPTION)
274
+ .execute("payuConfig");
275
+ expect(response).toBeTruthy();
276
+ expect(response.responseCode).toBe("SUCCESS");
277
+ });
278
+ /**
279
+ * PayU sale with large amount
280
+ * Validates PayU transaction with a larger amount
281
+ */
282
+ test("payu apm with large amount", async () => {
283
+ const paymentMethodDetails = new src_1.AlternativePaymentMethod(src_1.AlternativePaymentType.OB);
284
+ paymentMethodDetails.returnUrl = RETURN_URL;
285
+ paymentMethodDetails.statusUpdateUrl = STATUS_UPDATE_URL;
286
+ paymentMethodDetails.descriptor = DESCRIPTOR;
287
+ paymentMethodDetails.country = "PL";
288
+ paymentMethodDetails.accountHolderName = ACCOUNT_NAME;
289
+ paymentMethodDetails.bank = src_1.BankList.SANTANDER;
290
+ const response = await paymentMethodDetails
291
+ .charge(1000) // Large amount
292
+ .withCurrency(CURRENCY)
293
+ .withDescription(CHARGE_DESCRIPTION)
294
+ .execute("payuConfig");
295
+ expect(response).toBeTruthy();
296
+ expect(response.responseCode).toBe("SUCCESS");
297
+ });
298
+ });
299
+ //# sourceMappingURL=PayUApm.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayUApm.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/PayUApm.test.ts"],"names":[],"mappings":"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"}
@@ -117,10 +117,10 @@ test.skip("credit auth mobile - apple pay", async () => {
117
117
  test.skip("credit auth mobile - google pay", async () => {
118
118
  const encryptedCard = new src_1.CreditCardData();
119
119
  // tslint:disable-next-line:max-line-length
120
- encryptedCard.token = `{
121
- "signature": "MEQCIAv8iIZmQK95xMrruLLLvJ2/uGuq54SSq190WS62M4a4AiAQhRwPHt3HXaOtCUYphfZLhIRznbF3TWxXLfPCGoutTQ==",
122
- "protocolVersion": "ECv1",
123
- "signedMessage": "{"encryptedMessage":"h1Zfi0b6wQoD3b1qOvfa6EjGa0Bv/Mtxmn/2rRmq/mjLPVuM3Ymu7Uk1IEoPQ/Hk3bafHMCoBrGMQ4YUzLRNMk+YideS4thnE898ZLmnlcPVxWzv+gDodx7spInIK3dTYhMDhdo/28dIqmovl6hPzjPWjAaOfKUs7FvCPjR+HQG7cZb6V41BOzuCCt9wSQGTY5AkIWcTxGVTbA4brd/88A+EZowF10PNl24dygX/ydTAhkBBlVzp33/Poj/Axo7GFtH+kFBgEkBd68LFDHnDd7+GK7HhLq2gv4zVVTUHBSXa3MZFKOWmrgtz3gSXYi3yi6mSGVQwULSp8n4cD3qKW9z38VfqPAR0ZrUsZHvExI/n24iXYs3k5LUspeGbldXAkGL10OJw3meKoHjw20d04fGnTl6DNv2b6/WMA3lUoV9SotEhU20bHKgwpy7VQP20AgKb","ephemeralPublicKey":"BKaqNecPUorCBVLMcKncrBg/eFnt44HsLjHoyzOKnl12DP5KR4SPBNdNDSOjn3Bt/RSN9Nb2e9AOed5Zj0JmGCI\\u003d","tag":"wAiHd29oNTj6BM6XYCx8Cop0ek7yJNZDxsW2d9bdJPA\\u003d"}"
120
+ encryptedCard.token = `{
121
+ "signature": "MEQCIAv8iIZmQK95xMrruLLLvJ2/uGuq54SSq190WS62M4a4AiAQhRwPHt3HXaOtCUYphfZLhIRznbF3TWxXLfPCGoutTQ==",
122
+ "protocolVersion": "ECv1",
123
+ "signedMessage": "{"encryptedMessage":"h1Zfi0b6wQoD3b1qOvfa6EjGa0Bv/Mtxmn/2rRmq/mjLPVuM3Ymu7Uk1IEoPQ/Hk3bafHMCoBrGMQ4YUzLRNMk+YideS4thnE898ZLmnlcPVxWzv+gDodx7spInIK3dTYhMDhdo/28dIqmovl6hPzjPWjAaOfKUs7FvCPjR+HQG7cZb6V41BOzuCCt9wSQGTY5AkIWcTxGVTbA4brd/88A+EZowF10PNl24dygX/ydTAhkBBlVzp33/Poj/Axo7GFtH+kFBgEkBd68LFDHnDd7+GK7HhLq2gv4zVVTUHBSXa3MZFKOWmrgtz3gSXYi3yi6mSGVQwULSp8n4cD3qKW9z38VfqPAR0ZrUsZHvExI/n24iXYs3k5LUspeGbldXAkGL10OJw3meKoHjw20d04fGnTl6DNv2b6/WMA3lUoV9SotEhU20bHKgwpy7VQP20AgKb","ephemeralPublicKey":"BKaqNecPUorCBVLMcKncrBg/eFnt44HsLjHoyzOKnl12DP5KR4SPBNdNDSOjn3Bt/RSN9Nb2e9AOed5Zj0JmGCI\\u003d","tag":"wAiHd29oNTj6BM6XYCx8Cop0ek7yJNZDxsW2d9bdJPA\\u003d"}"
124
124
  }`;
125
125
  encryptedCard.mobileType = "pay-with-google";
126
126
  const missingAmountError = expect(() => encryptedCard
@@ -78,14 +78,14 @@ test("ecom with secure ecommerce", async () => {
78
78
  test.skip("ecom with walletdata", async () => {
79
79
  card.mobileType = src_1.MobilePaymentMethodType.GOOGLEPAY;
80
80
  card.paymentSource = src_1.PaymentDataSourceType.GOOGLEPAYWEB;
81
- card.token = `{
82
- "signature": "MEQCICd1jRuaiWW5z9olPR+xBi6Z7CmW019Ys+EOKO2RIgy9AiA2d/hWKuRYtayJl//Cc1r2wifxv69lRrRHTTPbelKhzA==",
83
- "protocolVersion": "ECv1",
84
- "signedMessage": {
85
- "encryptedMessage": "wuSFSWEDYmECYdL57Glj1jtQ4hVN69cp82vsXyWN7Nw05ocSTqh6dYBb1FRboq1IjYhPf4MPOliBSJHugiHbeYilrT8HeXD+cU+rF9nNtucMFjMIFltik9aOSnpM0E8t9AJ60CFBwLebhHXvA53TlrziBTCQbhoVk2IAMO/tJKl1mI5rR+7sUI+BlIXFBcUba6T8eLz4z7wYwPxuBptP20u5C5QqMV5kY4aF6mCKwbLT5AzDLBiKA+eW9VtlP9icuxigYMOTP6wsrdiW7FMtHc0o3/MnBpZwWRpcponfnoNQnQMjOSiROZVHcHUK0i/lFUJg9p1Xi20qSyXIjq2WjCF7hSoDw1KzRnYO7uyx1yHN9vmLo+NqVfipRSpT7AtBt9CR8yHQftNQlady+VKSIhmigPTXVIapIf7CA27hiRysVGpWbrMZrJJYilFXh6eFPbk2",
86
- "ephemeralPublicKey": "BFe4YpEa1hfmaYlcWR4eyVxZmanOCzDak9yy90PCIAfIMeeRCT9zX5KAnj2k/vWa+oZIv1McjgBIKAp/BoWKNkM=",
87
- "tag": "IpXW8ECpNCLzN36M3S7nbQ1YnXxDeMx1RLwElW0xCg0="
88
- }
81
+ card.token = `{
82
+ "signature": "MEQCICd1jRuaiWW5z9olPR+xBi6Z7CmW019Ys+EOKO2RIgy9AiA2d/hWKuRYtayJl//Cc1r2wifxv69lRrRHTTPbelKhzA==",
83
+ "protocolVersion": "ECv1",
84
+ "signedMessage": {
85
+ "encryptedMessage": "wuSFSWEDYmECYdL57Glj1jtQ4hVN69cp82vsXyWN7Nw05ocSTqh6dYBb1FRboq1IjYhPf4MPOliBSJHugiHbeYilrT8HeXD+cU+rF9nNtucMFjMIFltik9aOSnpM0E8t9AJ60CFBwLebhHXvA53TlrziBTCQbhoVk2IAMO/tJKl1mI5rR+7sUI+BlIXFBcUba6T8eLz4z7wYwPxuBptP20u5C5QqMV5kY4aF6mCKwbLT5AzDLBiKA+eW9VtlP9icuxigYMOTP6wsrdiW7FMtHc0o3/MnBpZwWRpcponfnoNQnQMjOSiROZVHcHUK0i/lFUJg9p1Xi20qSyXIjq2WjCF7hSoDw1KzRnYO7uyx1yHN9vmLo+NqVfipRSpT7AtBt9CR8yHQftNQlady+VKSIhmigPTXVIapIf7CA27hiRysVGpWbrMZrJJYilFXh6eFPbk2",
86
+ "ephemeralPublicKey": "BFe4YpEa1hfmaYlcWR4eyVxZmanOCzDak9yy90PCIAfIMeeRCT9zX5KAnj2k/vWa+oZIv1McjgBIKAp/BoWKNkM=",
87
+ "tag": "IpXW8ECpNCLzN36M3S7nbQ1YnXxDeMx1RLwElW0xCg0="
88
+ }
89
89
  }`;
90
90
  const response = await card
91
91
  .charge(10)