globalpayments-api 3.10.11 → 3.10.12

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.
@@ -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,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const src_1 = require("../../../../src");
4
+ const AMOUNT = 10.99;
5
+ const CURRENCY = "EUR";
6
+ const setupGpApiConfigWithEU = () => {
7
+ const APP_ID = "QlI6DivlPcXboV1AAG3NGtf340bJO6A34SqUa5REJojQMzat";
8
+ const APP_KEY = "G3Gdx6biXAXgJJFaMnuLo0hlBCCMH18rCXnPzySl37nwctMAmrV1EykuXi6GQCrh";
9
+ const gpApiConfig = new src_1.GpApiConfig();
10
+ gpApiConfig.appId = APP_ID;
11
+ gpApiConfig.appKey = APP_KEY;
12
+ gpApiConfig.channel = src_1.Channel.CardNotPresent;
13
+ gpApiConfig.dataResidency = src_1.DataResidency.EU;
14
+ gpApiConfig.environment = src_1.Environment.Test;
15
+ // gpApiConfig.country = "DE";
16
+ gpApiConfig.requestLogger = new src_1.SampleRequestLogger(new src_1.Logger("logs"));
17
+ const accessTokenInfo = new src_1.AccessTokenInfo();
18
+ accessTokenInfo.transactionProcessingAccountName = "internet";
19
+ accessTokenInfo.transactionProcessingAccountID =
20
+ "TRA_a73688d0986548d1a7dc03cce5eb1066";
21
+ gpApiConfig.accessTokenInfo = accessTokenInfo;
22
+ src_1.ServicesContainer.configureService(gpApiConfig, "euConfig");
23
+ };
24
+ const setupGpApiConfigWithoutDataResidency = () => {
25
+ const APP_ID = "QlI6DivlPcXboV1AAG3NGtf340bJO6A34SqUa5REJojQMzat";
26
+ const APP_KEY = "G3Gdx6biXAXgJJFaMnuLo0hlBCCMH18rCXnPzySl37nwctMAmrV1EykuXi6GQCrh";
27
+ const gpApiConfig = new src_1.GpApiConfig();
28
+ gpApiConfig.appId = APP_ID;
29
+ gpApiConfig.appKey = APP_KEY;
30
+ gpApiConfig.channel = src_1.Channel.CardNotPresent;
31
+ // dataResidency not set, should default to None
32
+ gpApiConfig.environment = src_1.Environment.Test;
33
+ gpApiConfig.requestLogger = new src_1.SampleRequestLogger(new src_1.Logger("logs"));
34
+ const accessTokenInfo = new src_1.AccessTokenInfo();
35
+ accessTokenInfo.transactionProcessingAccountName = "internet";
36
+ accessTokenInfo.transactionProcessingAccountID =
37
+ "TRA_a73688d0986548d1a7dc03cce5eb1066";
38
+ gpApiConfig.accessTokenInfo = accessTokenInfo;
39
+ src_1.ServicesContainer.configureService(gpApiConfig, "defaultConfig");
40
+ };
41
+ describe("GP-API Data Residency", () => {
42
+ const card = new src_1.CreditCardData();
43
+ card.number = "4263970000005262";
44
+ card.expMonth = "12";
45
+ card.expYear = "2025";
46
+ card.cvn = "123";
47
+ card.cardHolderName = "James Mason";
48
+ afterAll(() => {
49
+ src_1.ServicesContainer.removeConfiguration();
50
+ });
51
+ describe("GPAPI config with Data Residency is EU", () => {
52
+ beforeAll(() => {
53
+ setupGpApiConfigWithEU();
54
+ });
55
+ test("Given SDK configuration via GPAPI, When Data Residency is set as EU, Then Data Residency is sent as EU on the request", async () => {
56
+ // Verify config has EU data residency set
57
+ const config = new src_1.GpApiConfig();
58
+ config.dataResidency = src_1.DataResidency.EU;
59
+ config.environment = src_1.Environment.Test;
60
+ expect(config.dataResidency).toBe(src_1.DataResidency.EU);
61
+ // Send transaction and verify it succeeds (which means EU endpoint was used)
62
+ const response = await card
63
+ .charge(AMOUNT)
64
+ .withCurrency(CURRENCY)
65
+ .execute("euConfig");
66
+ expect(response).toBeTruthy();
67
+ expect(response.responseCode).toBe("SUCCESS");
68
+ // Transaction success confirms data residency was properly sent to EU endpoint
69
+ });
70
+ });
71
+ describe("GPAPI Data Residency is unspecified", () => {
72
+ beforeAll(() => {
73
+ setupGpApiConfigWithoutDataResidency();
74
+ });
75
+ test("Given SDK configuration via GPAPI, When Data Residency is not set, Then Data Residency is sent as None on the request", async () => {
76
+ // Verify config defaults to None when not set
77
+ const config = new src_1.GpApiConfig();
78
+ expect(config.dataResidency).toBe(src_1.DataResidency.None);
79
+ });
80
+ test("should default to None when dataResidency is not set", () => {
81
+ const config = new src_1.GpApiConfig();
82
+ config.appId = "QlI6DivlPcXboV1AAG3NGtf340bJO6A34SqUa5REJojQMzat";
83
+ config.appKey =
84
+ "G3Gdx6biXAXgJJFaMnuLo0hlBCCMH18rCXnPzySl37nwctMAmrV1EykuXi6GQCrh";
85
+ config.environment = src_1.Environment.Test;
86
+ // Manually trigger URL setting logic without full container initialization
87
+ if (!config.serviceUrl) {
88
+ config.serviceUrl = "https://apis.sandbox.globalpay.com/ucp";
89
+ }
90
+ expect(config.dataResidency).toBe(src_1.DataResidency.None);
91
+ expect(config.serviceUrl).not.toContain("eu.globalpay.com");
92
+ expect(config.serviceUrl).toBe("https://apis.sandbox.globalpay.com/ucp");
93
+ });
94
+ });
95
+ describe("Non-GPAPI config", () => {
96
+ test("Given SDK configuration via non-GPAPI (Portico), Then Data Residency is not able to be set", () => {
97
+ const porticoConfig = new src_1.PorticoConfig();
98
+ porticoConfig.secretApiKey = "skapi_cert_test";
99
+ // Verify that PorticoConfig does not have dataResidency property
100
+ expect(porticoConfig.dataResidency).toBeUndefined();
101
+ // TypeScript compilation would fail if we tried to set it:
102
+ // porticoConfig.dataResidency = DataResidency.EU; // This won't compile
103
+ // Verify only GpApiConfig has the dataResidency property
104
+ const gpApiConfig = new src_1.GpApiConfig();
105
+ expect(gpApiConfig.dataResidency).toBeDefined();
106
+ expect(gpApiConfig.dataResidency).toBe(src_1.DataResidency.None);
107
+ });
108
+ });
109
+ describe.only("Negative Test Cases - EU Data Residency", () => {
110
+ test("should NOT use EU endpoint when dataResidency is None", () => {
111
+ const config = new src_1.GpApiConfig();
112
+ config.appId = "test";
113
+ config.appKey = "test";
114
+ config.dataResidency = src_1.DataResidency.None;
115
+ config.environment = src_1.Environment.Test;
116
+ // Manually set URL based on logic
117
+ if (!config.serviceUrl) {
118
+ config.serviceUrl = "https://apis.sandbox.globalpay.com/ucp";
119
+ }
120
+ // Negative assertion - should NOT contain EU endpoint
121
+ expect(config.serviceUrl).not.toContain("eu.globalpay.com");
122
+ expect(config.serviceUrl).toBe("https://apis.sandbox.globalpay.com/ucp");
123
+ });
124
+ test("should NOT allow dataResidency on non-GPAPI gateway configs", () => {
125
+ const porticoConfig = new src_1.PorticoConfig();
126
+ // PorticoConfig should not have dataResidency as a defined property
127
+ const hasDataResidencyProperty = porticoConfig.hasOwnProperty("dataResidency") ||
128
+ "dataResidency" in Object.getPrototypeOf(porticoConfig);
129
+ expect(hasDataResidencyProperty).toBe(false);
130
+ expect(porticoConfig instanceof src_1.PorticoConfig).toBe(true);
131
+ expect(porticoConfig instanceof src_1.GpApiConfig).toBe(false);
132
+ });
133
+ });
134
+ });
135
+ //# sourceMappingURL=DataResidency.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataResidency.test.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/DataResidency.test.ts"],"names":[],"mappings":";;AAAA,yCAWyB;AAEzB,MAAM,MAAM,GAAG,KAAK,CAAC;AACrB,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,MAAM,GAAG,kDAAkD,CAAC;IAClE,MAAM,OAAO,GACX,kEAAkE,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,iBAAW,EAAE,CAAC;IACtC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,OAAO,GAAG,aAAO,CAAC,cAAc,CAAC;IAC7C,WAAW,CAAC,aAAa,GAAG,mBAAa,CAAC,EAAE,CAAC;IAC7C,WAAW,CAAC,WAAW,GAAG,iBAAW,CAAC,IAAI,CAAC;IAC3C,gCAAgC;IAChC,WAAW,CAAC,aAAa,GAAG,IAAI,yBAAmB,CAAC,IAAI,YAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,IAAI,qBAAe,EAAE,CAAC;IAC9C,eAAe,CAAC,gCAAgC,GAAG,UAAU,CAAC;IAC9D,eAAe,CAAC,8BAA8B;QAC5C,sCAAsC,CAAC;IACzC,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;IAE9C,uBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,oCAAoC,GAAG,GAAG,EAAE;IAChD,MAAM,MAAM,GAAG,kDAAkD,CAAC;IAClE,MAAM,OAAO,GACX,kEAAkE,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,iBAAW,EAAE,CAAC;IACtC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,OAAO,GAAG,aAAO,CAAC,cAAc,CAAC;IAC7C,gDAAgD;IAChD,WAAW,CAAC,WAAW,GAAG,iBAAW,CAAC,IAAI,CAAC;IAC3C,WAAW,CAAC,aAAa,GAAG,IAAI,yBAAmB,CAAC,IAAI,YAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAExE,MAAM,eAAe,GAAG,IAAI,qBAAe,EAAE,CAAC;IAC9C,eAAe,CAAC,gCAAgC,GAAG,UAAU,CAAC;IAC9D,eAAe,CAAC,8BAA8B;QAC5C,sCAAsC,CAAC;IACzC,WAAW,CAAC,eAAe,GAAG,eAAe,CAAC;IAE9C,uBAAiB,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,IAAI,GAAG,IAAI,oBAAc,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC;IACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IAEpC,QAAQ,CAAC,GAAG,EAAE;QACZ,uBAAiB,CAAC,mBAAmB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,SAAS,CAAC,GAAG,EAAE;YACb,sBAAsB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uHAAuH,EAAE,KAAK,IAAI,EAAE;YACvI,0CAA0C;YAC1C,MAAM,MAAM,GAAG,IAAI,iBAAW,EAAE,CAAC;YACjC,MAAM,CAAC,aAAa,GAAG,mBAAa,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,WAAW,GAAG,iBAAW,CAAC,IAAI,CAAC;YAEtC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAa,CAAC,EAAE,CAAC,CAAC;YAEpD,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI;iBACxB,MAAM,CAAC,MAAM,CAAC;iBACd,YAAY,CAAC,QAAQ,CAAC;iBACtB,OAAO,CAAC,UAAU,CAAC,CAAC;YAEvB,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9C,+EAA+E;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;QACnD,SAAS,CAAC,GAAG,EAAE;YACb,oCAAoC,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uHAAuH,EAAE,KAAK,IAAI,EAAE;YACvI,8CAA8C;YAC9C,MAAM,MAAM,GAAG,IAAI,iBAAW,EAAE,CAAC;YAEjC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAa,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAChE,MAAM,MAAM,GAAG,IAAI,iBAAW,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,GAAG,kDAAkD,CAAC;YAClE,MAAM,CAAC,MAAM;gBACX,kEAAkE,CAAC;YACrE,MAAM,CAAC,WAAW,GAAG,iBAAW,CAAC,IAAI,CAAC;YAEtC,2EAA2E;YAC3E,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACtB,MAAM,CAAC,UAAU,GAAG,wCAAwC,CAAC;aAC9D;YAED,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAa,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAI,CAAC,4FAA4F,EAAE,GAAG,EAAE;YACtG,MAAM,aAAa,GAAG,IAAI,mBAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,YAAY,GAAG,iBAAiB,CAAC;YAE/C,iEAAiE;YACjE,MAAM,CAAE,aAAqB,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;YAE7D,2DAA2D;YAC3D,wEAAwE;YAExE,yDAAyD;YACzD,MAAM,WAAW,GAAG,IAAI,iBAAW,EAAE,CAAC;YACtC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAa,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QAC5D,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,iBAAW,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;YACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,MAAM,CAAC,aAAa,GAAG,mBAAa,CAAC,IAAI,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,iBAAW,CAAC,IAAI,CAAC;YAEtC,kCAAkC;YAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACtB,MAAM,CAAC,UAAU,GAAG,wCAAwC,CAAC;aAC9D;YAED,sDAAsD;YACtD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACvE,MAAM,aAAa,GAAG,IAAI,mBAAa,EAAE,CAAC;YAE1C,oEAAoE;YACpE,MAAM,wBAAwB,GAC5B,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC;gBAC7C,eAAe,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAE1D,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,aAAa,YAAY,mBAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,aAAa,YAAY,iBAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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)
package/package.json CHANGED
@@ -1,63 +1,63 @@
1
- {
2
- "name": "globalpayments-api",
3
- "version" : "3.10.11",
4
- "description": "Global Payments SDK for NodeJS for Global Payments eCommerce gateways",
5
- "author": "Global Payments",
6
- "license": "GPL-2.0",
7
- "engines": {
8
- "node": ">=16.20.2"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "https://github.com/globalpayments/node-sdk.git"
13
- },
14
- "main": "./lib/src/index.js",
15
- "typings": "./lib/src/index",
16
- "scripts": {
17
- "build": "tsc",
18
- "test:jest": "jest",
19
- "test:serial": "jest --runInBand test/Integration/Gateways/GpApiConnector/PayUApm.test.ts",
20
- "build:netsuite": "webpack --env.GP_NETSUITE_BUILD --config config/webpack.netsuite.js && node bin/netsuite-post.js",
21
- "build:clean": "rimraf lib",
22
- "docs": "typedoc --mode file --name \"GlobalPayments.Api\" --project tsconfig.json --out docs src",
23
- "format": "prettier --write --config .prettierrc 'src/**/*.ts' 'test/**/*.ts' '*.md'",
24
- "prebuild": "npm-run-all test:lint",
25
- "prepublish": "npm-run-all build",
26
- "prepublishOnly": "npm-run-all build",
27
- "pretest": "npm-run-all build:clean test:lint build",
28
- "test:lint": "eslint \"src/**/*.ts*\" \"test/**/*.ts\" --fix"
29
- },
30
- "dependencies": {
31
- "@azz/elementtree": "^0.1.6",
32
- "es6-promise": "^4.2.8",
33
- "eslint-config-prettier": "^9.0.0",
34
- "sha1": "^1.1.1",
35
- "typedarray": "^0.0.6",
36
- "url": "^0.11.0"
37
- },
38
- "devDependencies": {
39
- "@hitc/netsuite-types": "^2017.2.32",
40
- "@types/jest": "^29.5.12",
41
- "@types/node": "20.6.0",
42
- "@typescript-eslint/eslint-plugin": "^6.7.3",
43
- "@typescript-eslint/parser": "^6.7.3",
44
- "eslint": "^8.50.0",
45
- "eslint-plugin-prettier": "^5.0.0",
46
- "jest": "^29.7.0",
47
- "npm-run-all": "^4.1.5",
48
- "prettier": "3.0.3",
49
- "rimraf": "^2.6.3",
50
- "ts-jest": "^29.1.5",
51
- "tslint": "^6.1.3",
52
- "typedoc": "0.25.1",
53
- "typescript": "5.2.2",
54
- "webpack": "^5.94.0"
55
- },
56
- "files": [
57
- "lib/src/**",
58
- "lib/test/**",
59
- "appsec.properties",
60
- "CHANGELOG.md"
61
- ],
62
- "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
63
- }
1
+ {
2
+ "name": "globalpayments-api",
3
+ "version" : "3.10.12",
4
+ "description": "Global Payments SDK for NodeJS for Global Payments eCommerce gateways",
5
+ "author": "Global Payments",
6
+ "license": "GPL-2.0",
7
+ "engines": {
8
+ "node": ">=16.20.2"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/globalpayments/node-sdk.git"
13
+ },
14
+ "main": "./lib/src/index.js",
15
+ "typings": "./lib/src/index",
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "test:jest": "jest",
19
+ "test:serial": "jest --runInBand --testPathPattern=DataResidency.test.ts$ --",
20
+ "build:netsuite": "webpack --env.GP_NETSUITE_BUILD --config config/webpack.netsuite.js && node bin/netsuite-post.js",
21
+ "build:clean": "rimraf lib",
22
+ "docs": "typedoc --mode file --name \"GlobalPayments.Api\" --project tsconfig.json --out docs src",
23
+ "format": "prettier --write --config .prettierrc 'src/**/*.ts' 'test/**/*.ts' '*.md'",
24
+ "prebuild": "npm-run-all test:lint",
25
+ "prepublish": "npm-run-all build",
26
+ "prepublishOnly": "npm-run-all build",
27
+ "pretest": "npm-run-all build:clean test:lint build",
28
+ "test:lint": "eslint \"src/**/*.ts*\" \"test/**/*.ts\" --fix"
29
+ },
30
+ "dependencies": {
31
+ "@azz/elementtree": "^0.1.6",
32
+ "es6-promise": "^4.2.8",
33
+ "eslint-config-prettier": "^9.0.0",
34
+ "sha1": "^1.1.1",
35
+ "typedarray": "^0.0.6",
36
+ "url": "^0.11.0"
37
+ },
38
+ "devDependencies": {
39
+ "@hitc/netsuite-types": "^2017.2.32",
40
+ "@types/jest": "^29.5.12",
41
+ "@types/node": "20.6.0",
42
+ "@typescript-eslint/eslint-plugin": "^6.7.3",
43
+ "@typescript-eslint/parser": "^6.7.3",
44
+ "eslint": "^8.50.0",
45
+ "eslint-plugin-prettier": "^5.0.0",
46
+ "jest": "^29.7.0",
47
+ "npm-run-all": "^4.1.5",
48
+ "prettier": "3.0.3",
49
+ "rimraf": "^2.6.3",
50
+ "ts-jest": "^29.1.5",
51
+ "tslint": "^6.1.3",
52
+ "typedoc": "0.25.1",
53
+ "typescript": "5.2.2",
54
+ "webpack": "^5.94.0"
55
+ },
56
+ "files": [
57
+ "lib/src/**",
58
+ "lib/test/**",
59
+ "appsec.properties",
60
+ "CHANGELOG.md"
61
+ ],
62
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
63
+ }