globalpayments-api 3.3.3 → 3.4.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 (154) hide show
  1. package/.eslintignore +8 -8
  2. package/.eslintrc.cjs +39 -39
  3. package/.prettierrc +14 -15
  4. package/CHANGELOG.md +82 -75
  5. package/lib/src/Builders/AuthorizationBuilder.d.ts +16 -1
  6. package/lib/src/Builders/AuthorizationBuilder.js +28 -0
  7. package/lib/src/Builders/AuthorizationBuilder.js.map +1 -1
  8. package/lib/src/Builders/ManagementBuilder.d.ts +16 -2
  9. package/lib/src/Builders/ManagementBuilder.js +23 -2
  10. package/lib/src/Builders/ManagementBuilder.js.map +1 -1
  11. package/lib/src/Builders/ReportBuilder.d.ts +3 -1
  12. package/lib/src/Builders/ReportBuilder.js +6 -0
  13. package/lib/src/Builders/ReportBuilder.js.map +1 -1
  14. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.d.ts +2 -2
  15. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.js +3 -3
  16. package/lib/src/Builders/RequestBuilder/GpApi/AccessTokenRequest.js.map +1 -1
  17. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.d.ts +19 -2
  18. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js +376 -3
  19. package/lib/src/Builders/RequestBuilder/GpApi/GpApiAuthorizationRequestBuilder.js.map +1 -1
  20. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.d.ts +7 -0
  21. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js +71 -0
  22. package/lib/src/Builders/RequestBuilder/GpApi/GpApiManagementRequestBuilder.js.map +1 -0
  23. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.d.ts +10 -0
  24. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js +89 -0
  25. package/lib/src/Builders/RequestBuilder/GpApi/GpApiReportRequestBuilder.js.map +1 -0
  26. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +1 -1
  27. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +1 -1
  28. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -1
  29. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.d.ts +3 -2
  30. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js +4 -0
  31. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js.map +1 -1
  32. package/lib/src/Builders/TransactionReportBuilder.d.ts +5 -1
  33. package/lib/src/Builders/TransactionReportBuilder.js +22 -0
  34. package/lib/src/Builders/TransactionReportBuilder.js.map +1 -1
  35. package/lib/src/Entities/Address.d.ts +1 -0
  36. package/lib/src/Entities/Address.js +1 -0
  37. package/lib/src/Entities/Address.js.map +1 -1
  38. package/lib/src/Entities/Card.d.ts +36 -0
  39. package/lib/src/Entities/Card.js +41 -0
  40. package/lib/src/Entities/Card.js.map +1 -0
  41. package/lib/src/Entities/CardIssuerResponse.d.ts +22 -0
  42. package/lib/src/Entities/CardIssuerResponse.js +27 -0
  43. package/lib/src/Entities/CardIssuerResponse.js.map +1 -0
  44. package/lib/src/Entities/Customer.d.ts +5 -0
  45. package/lib/src/Entities/Customer.js +5 -0
  46. package/lib/src/Entities/Customer.js.map +1 -1
  47. package/lib/src/Entities/Enums.d.ts +131 -4
  48. package/lib/src/Entities/Enums.js +135 -2
  49. package/lib/src/Entities/Enums.js.map +1 -1
  50. package/lib/src/Entities/FraudRule.d.ts +8 -0
  51. package/lib/src/Entities/FraudRule.js +17 -0
  52. package/lib/src/Entities/FraudRule.js.map +1 -0
  53. package/lib/src/Entities/GpApi/DTO/Card.d.ts +16 -0
  54. package/lib/src/Entities/GpApi/DTO/Card.js +21 -0
  55. package/lib/src/Entities/GpApi/DTO/Card.js.map +1 -0
  56. package/lib/src/Entities/GpApi/DTO/PaymentMethod.d.ts +17 -0
  57. package/lib/src/Entities/GpApi/DTO/PaymentMethod.js +21 -0
  58. package/lib/src/Entities/GpApi/DTO/PaymentMethod.js.map +1 -0
  59. package/lib/src/Entities/GpApi/DTO/index.d.ts +2 -0
  60. package/lib/src/Entities/GpApi/DTO/index.js +19 -0
  61. package/lib/src/Entities/GpApi/DTO/index.js.map +1 -0
  62. package/lib/src/Entities/GpApi/PageResult.d.ts +8 -0
  63. package/lib/src/Entities/GpApi/PageResult.js +13 -0
  64. package/lib/src/Entities/GpApi/PageResult.js.map +1 -0
  65. package/lib/src/Entities/GpApi/index.d.ts +1 -0
  66. package/lib/src/Entities/GpApi/index.js +1 -0
  67. package/lib/src/Entities/GpApi/index.js.map +1 -1
  68. package/lib/src/Entities/IRequestBuilder.d.ts +3 -3
  69. package/lib/src/Entities/MaskedValueCollection.d.ts +3 -3
  70. package/lib/src/Entities/MaskedValueCollection.js +1 -1
  71. package/lib/src/Entities/MaskedValueCollection.js.map +1 -1
  72. package/lib/src/Entities/PayerDetails.d.ts +8 -0
  73. package/lib/src/Entities/PayerDetails.js +12 -0
  74. package/lib/src/Entities/PayerDetails.js.map +1 -0
  75. package/lib/src/Entities/PhoneNumber.d.ts +6 -0
  76. package/lib/src/Entities/PhoneNumber.js +15 -0
  77. package/lib/src/Entities/PhoneNumber.js.map +1 -0
  78. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.d.ts +105 -0
  79. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js +122 -0
  80. package/lib/src/Entities/Reporting/SearchCriteriaBuilder.js.map +1 -0
  81. package/lib/src/Entities/Reporting/StoredPaymentMethodSummary.d.ts +11 -0
  82. package/lib/src/Entities/Reporting/StoredPaymentMethodSummary.js +16 -0
  83. package/lib/src/Entities/Reporting/StoredPaymentMethodSummary.js.map +1 -0
  84. package/lib/src/Entities/Reporting/index.d.ts +2 -0
  85. package/lib/src/Entities/Reporting/index.js +19 -0
  86. package/lib/src/Entities/Reporting/index.js.map +1 -0
  87. package/lib/src/Entities/Transaction.d.ts +7 -1
  88. package/lib/src/Entities/Transaction.js +7 -1
  89. package/lib/src/Entities/Transaction.js.map +1 -1
  90. package/lib/src/Entities/TransactionStatus.d.ts +13 -0
  91. package/lib/src/Entities/TransactionStatus.js +29 -0
  92. package/lib/src/Entities/TransactionStatus.js.map +1 -0
  93. package/lib/src/Entities/index.d.ts +7 -0
  94. package/lib/src/Entities/index.js +7 -0
  95. package/lib/src/Entities/index.js.map +1 -1
  96. package/lib/src/Gateways/Gateway.js +2 -5
  97. package/lib/src/Gateways/Gateway.js.map +1 -1
  98. package/lib/src/Gateways/GpApiConnector.js +11 -6
  99. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  100. package/lib/src/Gateways/PayPlanConnector.d.ts +1 -1
  101. package/lib/src/Gateways/RestGateway.d.ts +1 -1
  102. package/lib/src/Gateways/RestGateway.js +21 -3
  103. package/lib/src/Gateways/RestGateway.js.map +1 -1
  104. package/lib/src/Gateways/XmlGateway.js +6 -1
  105. package/lib/src/Gateways/XmlGateway.js.map +1 -1
  106. package/lib/src/Mapping/EnumMapping.d.ts +8 -0
  107. package/lib/src/Mapping/EnumMapping.js +84 -0
  108. package/lib/src/Mapping/EnumMapping.js.map +1 -0
  109. package/lib/src/Mapping/GpApiMapping.d.ts +8 -2
  110. package/lib/src/Mapping/GpApiMapping.js +178 -2
  111. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  112. package/lib/src/Mapping/index.d.ts +1 -0
  113. package/lib/src/Mapping/index.js +1 -0
  114. package/lib/src/Mapping/index.js.map +1 -1
  115. package/lib/src/PaymentMethods/AlternativePaymentMethod.d.ts +22 -0
  116. package/lib/src/PaymentMethods/AlternativePaymentMethod.js +47 -0
  117. package/lib/src/PaymentMethods/AlternativePaymentMethod.js.map +1 -0
  118. package/lib/src/PaymentMethods/Credit.d.ts +26 -2
  119. package/lib/src/PaymentMethods/Credit.js +58 -2
  120. package/lib/src/PaymentMethods/Credit.js.map +1 -1
  121. package/lib/src/PaymentMethods/Interfaces.d.ts +5 -1
  122. package/lib/src/PaymentMethods/PaymentMethod.d.ts +1 -1
  123. package/lib/src/PaymentMethods/PaymentMethod.js.map +1 -1
  124. package/lib/src/PaymentMethods/index.d.ts +2 -0
  125. package/lib/src/PaymentMethods/index.js +2 -0
  126. package/lib/src/PaymentMethods/index.js.map +1 -1
  127. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +2 -2
  128. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +1 -1
  129. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  130. package/lib/src/Services/ReportingService.d.ts +2 -0
  131. package/lib/src/Services/ReportingService.js +6 -0
  132. package/lib/src/Services/ReportingService.js.map +1 -1
  133. package/lib/src/Utils/Logging/ProtectSensitiveData.d.ts +1 -1
  134. package/lib/src/Utils/Logging/ProtectSensitiveData.js.map +1 -1
  135. package/lib/src/Utils/StringUtils.d.ts +9 -0
  136. package/lib/src/Utils/StringUtils.js +29 -0
  137. package/lib/src/Utils/StringUtils.js.map +1 -1
  138. package/lib/test/Data/BaseGpApiTestConfig.d.ts +2 -2
  139. package/lib/test/Data/BaseGpApiTestConfig.js +4 -0
  140. package/lib/test/Data/BaseGpApiTestConfig.js.map +1 -1
  141. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js +17 -10
  142. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenTest.js.map +1 -1
  143. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.d.ts +1 -0
  144. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js +360 -0
  145. package/lib/test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.js.map +1 -0
  146. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.d.ts +1 -0
  147. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.js +217 -0
  148. package/lib/test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.js.map +1 -0
  149. package/lib/test/Integration/Gateways/GpEcomConnector/CreditTest.js +4 -4
  150. package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js +8 -8
  151. package/package.json +66 -66
  152. package/tsconfig.eslint.json +15 -15
  153. package/appsec.properties +0 -7
  154. package/logger.txt +0 -15
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ava_1 = __importDefault(require("ava"));
7
+ const src_1 = require("../../../../src");
8
+ const BaseGpApiTestConfig_1 = require("../../../../test/Data/BaseGpApiTestConfig");
9
+ const DTO_1 = require("../../../../src/Entities/GpApi/DTO");
10
+ const date = new Date();
11
+ const idempotencyKey = src_1.GenerationUtils.getGuuid();
12
+ const currency = "GBP";
13
+ const card = new src_1.CreditCardData();
14
+ card.number = "4263970000005262";
15
+ card.expMonth = (date.getMonth() + 1).toString().padStart(2, "0");
16
+ card.expYear = (date.getFullYear() + 1).toString();
17
+ card.cvn = "131";
18
+ card.cardHolderName = "James Mason";
19
+ ava_1.default.before(() => {
20
+ src_1.ServicesContainer.configureService(BaseGpApiTestConfig_1.BaseGpApiTestConfig.gpApiSetupConfig(src_1.Channel.CardNotPresent));
21
+ });
22
+ (0, ava_1.default)("card tokenization", async (t) => {
23
+ const response = await card.tokenize().execute();
24
+ t.truthy(response);
25
+ t.is("SUCCESS", response.responseCode);
26
+ t.is("ACTIVE", response.responseMessage);
27
+ });
28
+ (0, ava_1.default)("card tokenization then paying with token - Single to Multi-Use", async (t) => {
29
+ const config = BaseGpApiTestConfig_1.BaseGpApiTestConfig.gpApiSetupConfig(src_1.Channel.CardNotPresent);
30
+ config.permissions = ["PMT_POST_Create_Single"];
31
+ src_1.ServicesContainer.configureService(config, "singleUseToken");
32
+ const response = await card
33
+ .tokenize(true, src_1.PaymentMethodUsageMode.SINGLE)
34
+ .execute("singleUseToken");
35
+ const tokenId = response.token;
36
+ const tokenizedCard = new src_1.CreditCardData();
37
+ tokenizedCard.token = tokenId;
38
+ tokenizedCard.cardHolderName = "James Mason";
39
+ const chargeResponse = await tokenizedCard
40
+ .charge(10)
41
+ .withCurrency("USD")
42
+ .withRequestMultiUseToken(true)
43
+ .execute();
44
+ t.truthy(chargeResponse);
45
+ t.is(chargeResponse.responseCode, "SUCCESS");
46
+ t.is(chargeResponse.responseMessage, src_1.TransactionStatus.CAPTURED);
47
+ t.truthy(chargeResponse.token.startsWith(DTO_1.PaymentMethod.PAYMENT_METHOD_TOKEN_PREFIX));
48
+ tokenizedCard.token = chargeResponse.token;
49
+ const secondChargeResponse = await tokenizedCard
50
+ .charge(10)
51
+ .withCurrency("USD")
52
+ .execute();
53
+ t.truthy(secondChargeResponse);
54
+ t.is(secondChargeResponse.responseCode, "SUCCESS");
55
+ t.is(secondChargeResponse.responseMessage, src_1.TransactionStatus.CAPTURED);
56
+ });
57
+ (0, ava_1.default)("card tokenization with idempotency key", async (t) => {
58
+ const response = await card
59
+ .tokenize()
60
+ .withIdempotencyKey(idempotencyKey)
61
+ .execute();
62
+ t.truthy(response);
63
+ t.is(response.responseCode, "SUCCESS");
64
+ t.is(response.responseMessage, "ACTIVE");
65
+ let exceptionCaught = false;
66
+ try {
67
+ await card.tokenize().withIdempotencyKey(idempotencyKey).execute();
68
+ }
69
+ catch (e) {
70
+ exceptionCaught = true;
71
+ t.is(e.responseCode, "40039");
72
+ t.true(e.message.includes("Idempotency Key seen before"));
73
+ }
74
+ finally {
75
+ t.true(exceptionCaught);
76
+ }
77
+ });
78
+ (0, ava_1.default)("card tokenization then paying with token", async (t) => {
79
+ const response = await card.tokenize().execute();
80
+ const tokenId = response.token;
81
+ const tokenizedCard = new src_1.CreditCardData();
82
+ tokenizedCard.token = tokenId;
83
+ tokenizedCard.cardHolderName = "James Mason";
84
+ const chargeResponse = await tokenizedCard
85
+ .charge(69)
86
+ .withCurrency("EUR")
87
+ .withOrderId("124214-214221")
88
+ .execute();
89
+ t.truthy(chargeResponse);
90
+ t.is(chargeResponse.responseCode, "SUCCESS");
91
+ t.is(chargeResponse.responseMessage, src_1.TransactionStatus.CAPTURED);
92
+ });
93
+ (0, ava_1.default)("verify tokenized payment method", async (t) => {
94
+ const tokenizeResponse = await card.tokenize().execute();
95
+ t.truthy(tokenizeResponse);
96
+ t.is(tokenizeResponse.responseCode, "SUCCESS");
97
+ t.is(tokenizeResponse.responseMessage, "ACTIVE");
98
+ const tokenizedCard = new src_1.CreditCardData();
99
+ tokenizedCard.token = tokenizeResponse.token;
100
+ const response = await tokenizedCard
101
+ .verify()
102
+ .withCurrency(currency)
103
+ .execute();
104
+ t.truthy(response);
105
+ t.is(response.responseCode, "SUCCESS");
106
+ t.is(response.responseMessage, "VERIFIED");
107
+ });
108
+ (0, ava_1.default)("verify tokenized payment method with idempotency key", async (t) => {
109
+ const tokenizeResponse = await card.tokenize().execute();
110
+ t.truthy(tokenizeResponse);
111
+ t.is(tokenizeResponse.responseCode, "SUCCESS");
112
+ t.is(tokenizeResponse.responseMessage, "ACTIVE");
113
+ const tokenizedCard = new src_1.CreditCardData();
114
+ tokenizedCard.token = tokenizeResponse.token;
115
+ const response = await tokenizedCard
116
+ .verify()
117
+ .withCurrency(currency)
118
+ .withIdempotencyKey(idempotencyKey)
119
+ .execute();
120
+ t.truthy(response);
121
+ t.is(response.responseCode, "SUCCESS");
122
+ t.is(response.responseMessage, "VERIFIED");
123
+ const error = await t.throwsAsync(async () => {
124
+ await tokenizedCard.verify().withIdempotencyKey(idempotencyKey).execute();
125
+ }, {
126
+ instanceOf: src_1.GatewayError,
127
+ });
128
+ t.truthy(error);
129
+ t.is(error?.responseCode, "40039");
130
+ t.is(error?.message.includes(`Idempotency Key seen before`), true);
131
+ });
132
+ (0, ava_1.default)("verify tokenized payment method with wrong ID", async (t) => {
133
+ const tokenizedCard = new src_1.CreditCardData();
134
+ tokenizedCard.token = `PMT_${src_1.GenerationUtils.getGuuid()}`;
135
+ const error = await t.throwsAsync(async () => {
136
+ await tokenizedCard.verify().withCurrency(currency).execute();
137
+ }, {
138
+ instanceOf: src_1.GatewayError,
139
+ });
140
+ t.truthy(error);
141
+ t.is(error?.responseCode, "40116");
142
+ t.is(error?.message, `Status Code: RESOURCE_NOT_FOUND - payment_method ${tokenizedCard.token} not found at this location.`);
143
+ });
144
+ ava_1.default.skip("card tokenization then delete", async (t) => {
145
+ //Permission not enabled to execute action for this appId/appKey
146
+ const response = await card.tokenize().execute();
147
+ const tokenId = response.token;
148
+ const tokenizedCard = new src_1.CreditCardData();
149
+ tokenizedCard.token = tokenId;
150
+ const deleteTokenExpiryRes = await tokenizedCard.deleteToken();
151
+ t.truthy(deleteTokenExpiryRes);
152
+ const deleteTokenExpiryRes2 = await tokenizedCard.deleteToken();
153
+ t.falsy(deleteTokenExpiryRes2);
154
+ });
155
+ ava_1.default.skip("card tokenization then delete with idempotency key", async (t) => {
156
+ //Permission not enabled to execute action for this appId/appKey
157
+ const response = await card.tokenize().execute();
158
+ const tokenId = response.token;
159
+ const tokenizedCard = new src_1.CreditCardData();
160
+ tokenizedCard.token = tokenId;
161
+ const idempotencyKey = src_1.GenerationUtils.getGuuid();
162
+ const deleteTokenExpiryRes = await new src_1.ManagementBuilder(src_1.TransactionType.TokenDelete)
163
+ .withPaymentMethod(tokenizedCard)
164
+ .withIdempotencyKey(idempotencyKey)
165
+ .execute();
166
+ t.truthy(deleteTokenExpiryRes);
167
+ t.is(deleteTokenExpiryRes.responseCode, "SUCCESS");
168
+ t.is(deleteTokenExpiryRes.responseMessage, "DELETED");
169
+ const error = await t.throwsAsync(async () => {
170
+ await new src_1.ManagementBuilder(src_1.TransactionType.TokenDelete)
171
+ .withPaymentMethod(tokenizedCard)
172
+ .withIdempotencyKey(idempotencyKey)
173
+ .execute();
174
+ }, {
175
+ instanceOf: src_1.GatewayError,
176
+ });
177
+ t.truthy(error);
178
+ t.is(error?.responseCode, "40039");
179
+ if (error?.message) {
180
+ t.regex(error?.message, new RegExp("Idempotency Key seen before"));
181
+ }
182
+ });
183
+ ava_1.default.skip("card delete wrong id", async (t) => {
184
+ //Permission not enabled to execute action for this appId/appKey
185
+ const tokenizedCard = new src_1.CreditCardData();
186
+ tokenizedCard.token = `PMT_${src_1.GenerationUtils.getGuuid()}`;
187
+ const error = await t.throwsAsync(async () => {
188
+ await tokenizedCard.deleteToken();
189
+ }, {
190
+ instanceOf: src_1.GatewayError,
191
+ });
192
+ t.truthy(error);
193
+ t.is(error?.responseCode, "40116");
194
+ t.is(error?.message, `Status Code: RESOURCE_NOT_FOUND - payment_method ${tokenizedCard.token} not found at this location.`);
195
+ });
196
+ (0, ava_1.default)("card tokenization then update", async (t) => {
197
+ const response = await card.tokenize().execute();
198
+ const tokenId = response.token;
199
+ const tokenizedCard = new src_1.CreditCardData();
200
+ tokenizedCard.token = tokenId;
201
+ const date = new Date();
202
+ tokenizedCard.expMonth = (date.getMonth() + 2).toString().padStart(2, "0");
203
+ tokenizedCard.expYear = (date.getFullYear() + 2).toString();
204
+ const updateTokenExpiryRes = await tokenizedCard.updateTokenExpiry();
205
+ t.truthy(updateTokenExpiryRes);
206
+ });
207
+ (0, ava_1.default)("card update wrong ID", async (t) => {
208
+ const tokenizedCard = new src_1.CreditCardData();
209
+ tokenizedCard.token = "PMT_" + src_1.GenerationUtils.getGuuid();
210
+ const date = new Date();
211
+ tokenizedCard.expMonth = (date.getMonth() + 2).toString().padStart(2, "0");
212
+ tokenizedCard.expYear = (date.getFullYear() + 2).toString();
213
+ const error = await t.throwsAsync(async () => {
214
+ await tokenizedCard.updateTokenExpiry();
215
+ }, {
216
+ instanceOf: src_1.GatewayError,
217
+ });
218
+ t.truthy(error);
219
+ t.is(error?.message, `Status Code: RESOURCE_NOT_FOUND - payment_method ${tokenizedCard.token} not found at this location.`);
220
+ });
221
+ (0, ava_1.default)("card tokenization then update with idempotency key", async (t) => {
222
+ const response = await card.tokenize().execute();
223
+ const tokenId = response.token;
224
+ const tokenizedCard = new src_1.CreditCardData();
225
+ tokenizedCard.token = tokenId;
226
+ const date = new Date();
227
+ tokenizedCard.expMonth = (date.getMonth() + 2).toString().padStart(2, "0");
228
+ tokenizedCard.expYear = (date.getFullYear() + 2).toString();
229
+ const idempotencyKey = src_1.GenerationUtils.getGuuid();
230
+ const updateTokenExpiryRes = await new src_1.ManagementBuilder(src_1.TransactionType.TokenUpdate)
231
+ .withPaymentMethod(tokenizedCard)
232
+ .withIdempotencyKey(idempotencyKey)
233
+ .execute();
234
+ t.truthy(updateTokenExpiryRes);
235
+ t.is(updateTokenExpiryRes.responseCode, "SUCCESS");
236
+ t.is(updateTokenExpiryRes.responseMessage, "ACTIVE");
237
+ const error = await t.throwsAsync(async () => {
238
+ await new src_1.ManagementBuilder(src_1.TransactionType.TokenUpdate)
239
+ .withPaymentMethod(tokenizedCard)
240
+ .withIdempotencyKey(idempotencyKey)
241
+ .execute();
242
+ }, {
243
+ instanceOf: src_1.GatewayError,
244
+ });
245
+ t.truthy(error);
246
+ t.is(error?.responseCode, "40039");
247
+ if (error?.responseMessage) {
248
+ t.regex(error?.responseMessage, new RegExp("Idempotency Key seen before"));
249
+ }
250
+ const verifyResponse = await tokenizedCard
251
+ .verify()
252
+ .withCurrency(currency)
253
+ .withIdempotencyKey(idempotencyKey)
254
+ .execute();
255
+ t.truthy(verifyResponse);
256
+ t.is(verifyResponse.responseCode, "SUCCESS");
257
+ t.is(verifyResponse.responseMessage, "VERIFIED");
258
+ tokenizedCard.expYear = (date.getFullYear() + 3).toString();
259
+ const updateTokenExpiryRes2 = await tokenizedCard.updateTokenExpiry();
260
+ t.truthy(updateTokenExpiryRes2);
261
+ });
262
+ (0, ava_1.default)("card tokenization - Missing card number", async (t) => {
263
+ const card = new src_1.CreditCardData();
264
+ const error = await t.throwsAsync(async () => {
265
+ await card.tokenize().execute();
266
+ }, {
267
+ instanceOf: src_1.GatewayError,
268
+ });
269
+ t.truthy(error);
270
+ t.is(error?.message, "Status Code: MANDATORY_DATA_MISSING - Request expects the following fields : number");
271
+ });
272
+ (0, ava_1.default)("update payment token", async (t) => {
273
+ const startDate = new Date();
274
+ startDate.setDate(startDate.getDate() - 30);
275
+ startDate.setHours(0);
276
+ startDate.setMinutes(0);
277
+ startDate.setSeconds(0);
278
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 1)
279
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Desc)
280
+ .where(src_1.SearchCriteria.StartDate, `${startDate.getFullYear()}-${(startDate.getMonth() + 1)
281
+ .toString()
282
+ .padStart(2, "0")}-${startDate.getDate().toString().padStart(2, "0")}`)
283
+ .execute();
284
+ t.is(response.result.length, 1);
285
+ const pmtToken = response.result[0];
286
+ t.truthy(pmtToken);
287
+ const tokenizedCard = new src_1.CreditCardData();
288
+ tokenizedCard.token = pmtToken.paymentMethodId;
289
+ const date = new Date();
290
+ tokenizedCard.cardHolderName = "James BondUp";
291
+ tokenizedCard.expMonth = (date.getMonth() + 2).toString().padStart(2, "0");
292
+ tokenizedCard.expYear = (date.getFullYear() + 4).toString();
293
+ tokenizedCard.number = "4263970000005262";
294
+ const responseUpdateToken = await tokenizedCard
295
+ .updateToken()
296
+ .withPaymentMethodUsageMode(src_1.PaymentMethodUsageMode.MULTIPLE)
297
+ .execute();
298
+ t.truthy(responseUpdateToken);
299
+ t.is(responseUpdateToken.responseCode, "SUCCESS");
300
+ t.is(responseUpdateToken.responseMessage, "ACTIVE");
301
+ t.is(responseUpdateToken.token, pmtToken.paymentMethodId);
302
+ t.is(responseUpdateToken.tokenUsageMode, src_1.PaymentMethodUsageMode.MULTIPLE);
303
+ });
304
+ (0, ava_1.default)("card tokenization then update then charge", async (t) => {
305
+ const config = BaseGpApiTestConfig_1.BaseGpApiTestConfig.gpApiSetupConfig(src_1.Channel.CardNotPresent);
306
+ config.permissions = ["PMT_POST_Create_Single"];
307
+ src_1.ServicesContainer.configureService(config, "singleUseToken");
308
+ const response = await card
309
+ .tokenize()
310
+ .withPaymentMethodUsageMode(src_1.PaymentMethodUsageMode.SINGLE)
311
+ .execute("singleUseToken");
312
+ const tokenId = response.token;
313
+ const tokenizedCard = new src_1.CreditCardData();
314
+ tokenizedCard.token = tokenId;
315
+ tokenizedCard.cardHolderName = "GpApi";
316
+ const responseUpdateToken = await tokenizedCard
317
+ .updateToken()
318
+ .withPaymentMethodUsageMode(src_1.PaymentMethodUsageMode.MULTIPLE)
319
+ .execute();
320
+ t.truthy(responseUpdateToken);
321
+ t.is(responseUpdateToken.responseCode, "SUCCESS");
322
+ t.is(responseUpdateToken.responseMessage, "ACTIVE");
323
+ t.is(responseUpdateToken.tokenUsageMode, src_1.PaymentMethodUsageMode.MULTIPLE);
324
+ const chargeResponse = await tokenizedCard
325
+ .charge(1)
326
+ .withCurrency(currency)
327
+ .execute();
328
+ t.truthy(chargeResponse);
329
+ t.is(chargeResponse.responseCode, "SUCCESS");
330
+ t.is(chargeResponse.responseMessage, src_1.TransactionStatus.CAPTURED);
331
+ });
332
+ (0, ava_1.default)("card tokenization then update to single usage", async (t) => {
333
+ const tokenizedCard = new src_1.CreditCardData();
334
+ tokenizedCard.token = `PMT_${src_1.GenerationUtils.getGuuid()}`;
335
+ const error = await t.throwsAsync(async () => {
336
+ await tokenizedCard
337
+ .updateToken()
338
+ .withPaymentMethodUsageMode(src_1.PaymentMethodUsageMode.SINGLE)
339
+ .execute();
340
+ }, {
341
+ instanceOf: src_1.GatewayError,
342
+ });
343
+ t.truthy(error);
344
+ t.is(error?.responseCode, "50020");
345
+ t.is(error?.message, "Status Code: INVALID_REQUEST_DATA - Tokentype can only be MULTI");
346
+ });
347
+ (0, ava_1.default)("card tokenization then update to without usage mode", async (t) => {
348
+ const tokenizedCard = new src_1.CreditCardData();
349
+ tokenizedCard.token = `PMT_${src_1.GenerationUtils.getGuuid()}`;
350
+ const error = await t.throwsAsync(async () => {
351
+ await tokenizedCard.updateToken().execute();
352
+ }, {
353
+ instanceOf: src_1.GatewayError,
354
+ });
355
+ t.truthy(error);
356
+ t.is(error?.responseCode, "50021");
357
+ t.is(error?.message, "Status Code: MANDATORY_DATA_MISSING - Mandatory Fields missing [card expdate] See Developers Guide");
358
+ });
359
+ ava_1.default.after(() => BaseGpApiTestConfig_1.BaseGpApiTestConfig.resetGpApiConfig());
360
+ //# sourceMappingURL=CreditCardNotPresentTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreditCardNotPresentTest.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/CreditCardNotPresentTest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ava_1 = __importDefault(require("ava"));
7
+ const src_1 = require("../../../../src");
8
+ const BaseGpApiTestConfig_1 = require("../../../../test/Data/BaseGpApiTestConfig");
9
+ const date = new Date();
10
+ const card = new src_1.CreditCardData();
11
+ card.number = "4263970000005262";
12
+ card.expMonth = (date.getMonth() + 1).toString().padStart(2, "0");
13
+ card.expYear = (date.getFullYear() + 1).toString();
14
+ card.cvn = "131";
15
+ card.cardHolderName = "James Mason";
16
+ ava_1.default.before(() => {
17
+ src_1.ServicesContainer.configureService(BaseGpApiTestConfig_1.BaseGpApiTestConfig.gpApiSetupConfig(src_1.Channel.CardNotPresent));
18
+ });
19
+ ava_1.default.after(() => BaseGpApiTestConfig_1.BaseGpApiTestConfig.resetGpApiConfig());
20
+ (0, ava_1.default)("find stored payment method by start date and end date", async (t) => {
21
+ const startDate = new Date(), endDate = new Date();
22
+ startDate.setDate(startDate.getDate() - 30);
23
+ startDate.setHours(0);
24
+ startDate.setMinutes(0);
25
+ startDate.setSeconds(0);
26
+ endDate.setDate(endDate.getDate() - 3);
27
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
28
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Desc)
29
+ .where(src_1.SearchCriteria.StartDate, `${startDate.getFullYear()}-${(startDate.getMonth() + 1)
30
+ .toString()
31
+ .padStart(2, "0")}-${startDate.getDate().toString().padStart(2, "0")}`)
32
+ .andWith(src_1.SearchCriteria.EndDate, `${endDate.getFullYear()}-${(endDate.getMonth() + 1)
33
+ .toString()
34
+ .padStart(2, "0")}-${endDate.getDate().toString().padStart(2, "0")}`)
35
+ .execute();
36
+ t.is(response.result.length, 10);
37
+ const paymentMethodList = response.result;
38
+ t.truthy(paymentMethodList);
39
+ const paymentMethodListSorted = paymentMethodList.sort((a, b) => {
40
+ return (new Date(a.timeCreated).getTime() < new Date(b.timeCreated).getTime());
41
+ });
42
+ paymentMethodListSorted.forEach((element, index) => {
43
+ t.is(JSON.stringify(element), JSON.stringify(paymentMethodList[index]));
44
+ t.is(startDate.getTime() <= new Date(element.timeCreated).getTime(), true);
45
+ endDate.setDate(endDate.getDate() + 1);
46
+ t.is(endDate.getTime() >= new Date(element.timeCreated).getTime(), true);
47
+ });
48
+ });
49
+ (0, ava_1.default)("find stored payment method by last updated", async (t) => {
50
+ const startDate = new Date(), endDate = new Date();
51
+ startDate.setDate(startDate.getDate() - 30);
52
+ startDate.setHours(0);
53
+ startDate.setMinutes(0);
54
+ startDate.setSeconds(0);
55
+ endDate.setDate(endDate.getDate() - 3);
56
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
57
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Desc)
58
+ .where(src_1.SearchCriteria.FromTimeLastUpdated, `${startDate.getFullYear()}-${(startDate.getMonth() + 1)
59
+ .toString()
60
+ .padStart(2, "0")}-${startDate.getDate().toString().padStart(2, "0")}`)
61
+ .andWith(src_1.SearchCriteria.ToTimeLastUpdated, `${endDate.getFullYear()}-${(endDate.getMonth() + 1)
62
+ .toString()
63
+ .padStart(2, "0")}-${endDate.getDate().toString().padStart(2, "0")}`)
64
+ .execute();
65
+ t.truthy(response);
66
+ t.is(response.result.length, 10);
67
+ });
68
+ (0, ava_1.default)("find stored payment method by last updated current day", async (t) => {
69
+ const currentDate = new Date();
70
+ currentDate.setDate(currentDate.getDate() - 30);
71
+ currentDate.setHours(0);
72
+ currentDate.setMinutes(0);
73
+ currentDate.setSeconds(0);
74
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
75
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Desc)
76
+ .where(src_1.SearchCriteria.FromTimeLastUpdated, `${currentDate.getFullYear()}-${(currentDate.getMonth() + 1)
77
+ .toString()
78
+ .padStart(2, "0")}-${currentDate
79
+ .getDate()
80
+ .toString()
81
+ .padStart(2, "0")}`)
82
+ .andWith(src_1.SearchCriteria.ToTimeLastUpdated, `${currentDate.getFullYear()}-${(currentDate.getMonth() + 1)
83
+ .toString()
84
+ .padStart(2, "0")}-${currentDate
85
+ .getDate()
86
+ .toString()
87
+ .padStart(2, "0")}`)
88
+ .execute();
89
+ t.truthy(response);
90
+ t.is(response.result.length, 10);
91
+ });
92
+ (0, ava_1.default)("find stored payment method by id", async (t) => {
93
+ const tokenizedPayment = await card.tokenize().execute();
94
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
95
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
96
+ .where(src_1.SearchCriteria.StoredPaymentMethodId, tokenizedPayment.token)
97
+ .execute();
98
+ t.truthy(response);
99
+ t.is(response.result.length, 1);
100
+ t.is(response.result[0].paymentMethodId, tokenizedPayment.token);
101
+ });
102
+ (0, ava_1.default)("find stored payment method by random id", async (t) => {
103
+ const paymentMethodId = "PMT_" + src_1.GenerationUtils.getGuuid();
104
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
105
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
106
+ .where(src_1.SearchCriteria.StoredPaymentMethodId, paymentMethodId)
107
+ .execute();
108
+ t.truthy(response);
109
+ t.truthy(response.result);
110
+ t.is(response.result.length, 0);
111
+ });
112
+ (0, ava_1.default)("find stored payment method by status", async (t) => {
113
+ const statuses = ["ACTIVE", "DELETED"];
114
+ for (const status of statuses) {
115
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
116
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
117
+ .where(src_1.SearchCriteria.StoredPaymentMethodStatus, status)
118
+ .execute();
119
+ t.truthy(response);
120
+ t.truthy(response.result);
121
+ for (const result of response.result) {
122
+ t.is(result.status, status);
123
+ }
124
+ }
125
+ });
126
+ (0, ava_1.default)("find stored payment method by reference", async (t) => {
127
+ const reference = "5e3d3885-ceb3-a5ea-015c-945eaa4df8c8";
128
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
129
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
130
+ .where(src_1.SearchCriteria.ReferenceNumber, reference)
131
+ .execute();
132
+ t.truthy(response);
133
+ t.truthy(response.result);
134
+ for (const result of response.result) {
135
+ t.is(result.reference, reference);
136
+ }
137
+ });
138
+ (0, ava_1.default)("find stored payment method by card info", async (t) => {
139
+ const card = new src_1.CreditCardData();
140
+ card.number = "4242424242424242";
141
+ card.expMonth = "12";
142
+ card.expYear = (new Date().getFullYear() + 1).toString();
143
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
144
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
145
+ .where(src_1.SearchCriteria.PaymentMethod, card)
146
+ .execute();
147
+ t.truthy(response);
148
+ t.truthy(response.result);
149
+ for (const result of response.result) {
150
+ t.is(result.cardExpMonth, card.expMonth);
151
+ t.is(result.cardExpYear, card.expYear.substring(card.expYear.length - 2, card.expYear.length));
152
+ t.is(result.cardNumberLastFour.substring(result.cardNumberLastFour.length - 4, result.cardNumberLastFour.length), card.number.substring(card.number.length - 4, card.number.length));
153
+ }
154
+ });
155
+ (0, ava_1.default)("find stored payment method by only card number info", async (t) => {
156
+ const card = new src_1.CreditCardData();
157
+ card.number = "4242424242424242";
158
+ card.expMonth = "12";
159
+ card.expYear = (new Date().getFullYear() + 1).toString();
160
+ const response = await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
161
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
162
+ .where(src_1.SearchCriteria.PaymentMethod, card)
163
+ .execute();
164
+ t.truthy(response);
165
+ t.truthy(response.result);
166
+ for (const result of response.result) {
167
+ t.is(result.cardExpMonth, card.expMonth);
168
+ t.is(result.cardExpYear, card.expYear.substring(card.expYear.length - 2, card.expYear.length));
169
+ t.is(result.cardNumberLastFour.substring(result.cardNumberLastFour.length - 4, result.cardNumberLastFour.length), card.number.substring(card.number.length - 4, card.number.length));
170
+ }
171
+ });
172
+ (0, ava_1.default)("find stored payment method without mandatory card number", async (t) => {
173
+ const card = new src_1.CreditCardData();
174
+ const error = await t.throwsAsync(async () => {
175
+ await src_1.ReportingService.findStoredPaymentMethodsPaged(1, 10)
176
+ .orderBy(src_1.StoredPaymentMethodSortProperty.TimeCreated, src_1.SortDirection.Asc)
177
+ .where(src_1.SearchCriteria.PaymentMethod, card)
178
+ .execute();
179
+ }, {
180
+ instanceOf: src_1.GatewayError,
181
+ });
182
+ t.truthy(error);
183
+ t.is(error?.responseCode, "40005");
184
+ t.is(error?.message, "Status Code: MANDATORY_DATA_MISSING - Request expects the following fields : number");
185
+ });
186
+ (0, ava_1.default)("find stored payment method detail", async (t) => {
187
+ const paymentMethodId = "PMT_deea3267-e182-4c03-b3db-c9469a32a6a8";
188
+ // eslint-disable-next-line prettier/prettier
189
+ const response = await src_1.ReportingService.storedPaymentMethodDetail(paymentMethodId).execute();
190
+ // eslint-enable-next-line prettier/prettier
191
+ t.truthy(response);
192
+ t.true(response instanceof src_1.StoredPaymentMethodSummary);
193
+ t.is(response.paymentMethodId, paymentMethodId);
194
+ });
195
+ (0, ava_1.default)("find stored payment method detail by random id", async (t) => {
196
+ const paymentMethodId = "PMT_" + src_1.GenerationUtils.getGuuid();
197
+ const error = await t.throwsAsync(async () => {
198
+ await src_1.ReportingService.storedPaymentMethodDetail(paymentMethodId).execute();
199
+ }, {
200
+ instanceOf: src_1.GatewayError,
201
+ });
202
+ t.truthy(error);
203
+ t.is(error?.responseCode, "40118");
204
+ t.is(error?.message, `Status Code: RESOURCE_NOT_FOUND - PAYMENT_METHODS ${paymentMethodId} not found at this /ucp/payment-methods/${paymentMethodId}`);
205
+ });
206
+ (0, ava_1.default)("find stored payment method detail by wrong format id", async (t) => {
207
+ const paymentMethodId = src_1.GenerationUtils.getGuuid();
208
+ const error = await t.throwsAsync(async () => {
209
+ await src_1.ReportingService.storedPaymentMethodDetail(paymentMethodId).execute();
210
+ }, {
211
+ instanceOf: src_1.GatewayError,
212
+ });
213
+ t.truthy(error);
214
+ t.is(error?.responseCode, "40213");
215
+ t.is(error?.message, `Status Code: INVALID_REQUEST_DATA - payment_method.id: ${paymentMethodId} contains unexpected data`);
216
+ });
217
+ //# sourceMappingURL=ReportingStoredPaymentMethodsTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportingStoredPaymentMethodsTest.js","sourceRoot":"","sources":["../../../../../test/Integration/Gateways/GpApiConnector/ReportingStoredPaymentMethodsTest.ts"],"names":[],"mappings":"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"}
@@ -124,10 +124,10 @@ ava_1.default.skip("credit auth mobile - google pay", async (t) => {
124
124
  t.plan(6);
125
125
  const encryptedCard = new src_1.CreditCardData();
126
126
  // tslint:disable-next-line:max-line-length
127
- encryptedCard.token = `{
128
- "signature": "MEQCIAv8iIZmQK95xMrruLLLvJ2/uGuq54SSq190WS62M4a4AiAQhRwPHt3HXaOtCUYphfZLhIRznbF3TWxXLfPCGoutTQ==",
129
- "protocolVersion": "ECv1",
130
- "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"}"
127
+ encryptedCard.token = `{
128
+ "signature": "MEQCIAv8iIZmQK95xMrruLLLvJ2/uGuq54SSq190WS62M4a4AiAQhRwPHt3HXaOtCUYphfZLhIRznbF3TWxXLfPCGoutTQ==",
129
+ "protocolVersion": "ECv1",
130
+ "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"}"
131
131
  }`;
132
132
  encryptedCard.mobileType = "pay-with-google";
133
133
  const missingAmountError = (await t.throws(() => encryptedCard