@networksolution/sia-vpos-node 1.0.0 → 1.2.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.
@@ -1,4 +1,4 @@
1
- import type { VposConfig, AuthorizationRequest, CreateLinkRequest, ListLinkRequest, RevokeLinkRequest, AccountingRequest, ReverseAccountingRequest, RefundRequest, OrderStatusRequest } from './types';
1
+ import type { VposConfig, AuthorizationRequest, CreateLinkRequest, ListLinkRequest, RevokeLinkRequest, AccountingRequest, ReverseAccountingRequest, RefundRequest, OrderStatusRequest, ListOperationRequest, ListAuthorizationRequest, RedirectRequest, TokenRedirectRequest, RedirectOutcome, RedirectFormData } from './types';
2
2
  /**
3
3
  * Generate timestamp in yyyy-MM-ddTHH:mm:ss.SSS format
4
4
  */
@@ -17,6 +17,8 @@ export declare class VposClient {
17
17
  get isProduction(): boolean;
18
18
  /** Returns the current API URL */
19
19
  get apiUrl(): string;
20
+ /** Returns the current Redirect URL */
21
+ get redirectUrl(): string;
20
22
  private sendRequest;
21
23
  authorize(data: AuthorizationRequest): Promise<{
22
24
  authorization: {
@@ -285,6 +287,89 @@ export declare class VposClient {
285
287
  data?: string;
286
288
  rawXml: string;
287
289
  }>;
290
+ listOperations(data: ListOperationRequest): Promise<{
291
+ numberOfItems: string | undefined;
292
+ operations: {
293
+ transactionId: string;
294
+ timestampReq: string;
295
+ timestampElab: string;
296
+ srcType: string;
297
+ amount: string;
298
+ result: string;
299
+ status: string;
300
+ opDescr: string | undefined;
301
+ mac: string;
302
+ authorization: {
303
+ paymentType: string;
304
+ authorizationType: string;
305
+ transactionId: string;
306
+ network: string;
307
+ orderId: string;
308
+ transactionAmount: string;
309
+ authorizedAmount: string;
310
+ currency: string;
311
+ exponent: string;
312
+ accountedAmount: string;
313
+ refundedAmount: string;
314
+ transactionResult: string;
315
+ timestamp: string;
316
+ authorizationNumber: string;
317
+ acquirerBIN: string;
318
+ merchantId: string;
319
+ transactionStatus: string;
320
+ responseCodeISO: string | undefined;
321
+ panTail: string | undefined;
322
+ panExpiryDate: string | undefined;
323
+ paymentTypePP: string | undefined;
324
+ rrn: string | undefined;
325
+ cardType: string | undefined;
326
+ cardholderInfo: string | undefined;
327
+ ibanCode: string | undefined;
328
+ mac: string;
329
+ } | undefined;
330
+ }[];
331
+ timestamp: string;
332
+ result: string;
333
+ mac: string;
334
+ data?: string;
335
+ rawXml: string;
336
+ }>;
337
+ listAuthorizations(data: ListAuthorizationRequest): Promise<{
338
+ numberOfItems: string | undefined;
339
+ authorizations: {
340
+ paymentType: string;
341
+ authorizationType: string;
342
+ transactionId: string;
343
+ network: string;
344
+ orderId: string;
345
+ transactionAmount: string;
346
+ authorizedAmount: string;
347
+ currency: string;
348
+ exponent: string;
349
+ accountedAmount: string;
350
+ refundedAmount: string;
351
+ transactionResult: string;
352
+ timestamp: string;
353
+ authorizationNumber: string;
354
+ acquirerBIN: string;
355
+ merchantId: string;
356
+ transactionStatus: string;
357
+ responseCodeISO: string | undefined;
358
+ panTail: string | undefined;
359
+ panExpiryDate: string | undefined;
360
+ paymentTypePP: string | undefined;
361
+ rrn: string | undefined;
362
+ cardType: string | undefined;
363
+ cardholderInfo: string | undefined;
364
+ ibanCode: string | undefined;
365
+ mac: string;
366
+ }[];
367
+ timestamp: string;
368
+ result: string;
369
+ mac: string;
370
+ data?: string;
371
+ rawXml: string;
372
+ }>;
288
373
  /**
289
374
  * Verify the MAC of a BPWXmlResponse received from SIA (webhook/URLMS notification).
290
375
  * Verifies the root-level MAC (Timestamp + Result) per spec 4.2.7.
@@ -421,5 +506,33 @@ export declare class VposClient {
421
506
  data?: string;
422
507
  rawXml: string;
423
508
  };
509
+ /**
510
+ * Build redirect form data for standard payment initiation.
511
+ * Returns URL, form fields, and pre-built HTML.
512
+ * The customer's browser should POST this form to SIA VPOS.
513
+ */
514
+ buildRedirectForm(data: RedirectRequest): RedirectFormData;
515
+ /**
516
+ * Build redirect form data for token-based payment (saved card / pan alias).
517
+ * Returns URL, form fields, and pre-built HTML.
518
+ */
519
+ buildTokenRedirectForm(data: TokenRedirectRequest): RedirectFormData;
520
+ /**
521
+ * Parse URLMS or URLDONE query string parameters into a typed object.
522
+ * Accepts a full URL string, a query string, or URLSearchParams.
523
+ */
524
+ parseOutcomeParams(input: string | URLSearchParams): RedirectOutcome;
525
+ /**
526
+ * Verify the MAC of a redirect outcome (URLMS/URLDONE) using the API-Result key.
527
+ * Per spec 5.2.2: MAC is NULL if result is negative (unless OPTION R).
528
+ * Returns true if MAC is valid, false otherwise.
529
+ */
530
+ verifyOutcomeMAC(outcome: RedirectOutcome): boolean;
531
+ /**
532
+ * Encrypt 3DS 2.0 data for use in the 3DSDATA redirect field.
533
+ * Uses AES/CBC/PKCS5Padding with first 16 bytes of API secret key, IV = 0.
534
+ * Input: JSON object with 3DS fields. Output: Base64 string.
535
+ */
536
+ encrypt3DSData(data: Record<string, string>): string;
424
537
  }
425
538
  //# sourceMappingURL=vpos-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vpos-client.d.ts","sourceRoot":"","sources":["../src/vpos-client.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,UAAU,EAGV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AA0BjB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CASrD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CASrD;AAID,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAKZ;gBAEU,MAAM,EAAE,UAAU;IAgB9B,iDAAiD;IACjD,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,uDAAuD;IACvD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,kCAAkC;IAClC,IAAI,MAAM,IAAI,MAAM,CAEnB;YAIa,WAAW;IAiBnB,SAAS,CAAC,IAAI,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8FpC,UAAU,CAAC,IAAI,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;IAiGlC,SAAS,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;;;;;;;IAqD/B,UAAU,CAAC,IAAI,EAAE,iBAAiB;;;;;;;IAwClC,UAAU,CAAC,IAAI,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDlC,iBAAiB,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+ChD,MAAM,CAAC,IAAI,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyD1B,WAAW,CAAC,IAAI,EAAE,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgD1C;;;OAGG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAa/C;;;;OAIG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAOrF;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,OAAO;IAqCX;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUjC"}
1
+ {"version":3,"file":"vpos-client.d.ts","sourceRoot":"","sources":["../src/vpos-client.ts"],"names":[],"mappings":"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"}