@waffo/waffo-node 2.0.4 → 2.1.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Waffo Node.js SDK
2
2
 
3
- <!-- Synced with waffo-sdk/README.md @ commit 9971ef7 -->
3
+ <!-- Synced with waffo-sdk/README.md @ commit 48b44fc -->
4
4
 
5
5
  **English** | [中文](README_CN.md)
6
6
 
@@ -46,11 +46,11 @@ Official Node.js/TypeScript SDK for [Waffo Payment Platform](https://www.waffo.c
46
46
  - [Custom HTTP Transport](#custom-http-transport-axios)
47
47
  - [TLS Security Configuration](#tls-security-configuration)
48
48
  - [Debug Logging](#debug-logging)
49
+ - [Handling New API Fields (ExtraParams)](#handling-new-api-fields-extraparams)
49
50
  - [Error Handling](#error-handling)
50
- - [TypeScript Support](#typescript-support)
51
- - [Development & Testing](#development--testing)
52
51
  - [Support](#support)
53
52
  - [License](#license)
53
+ - [Development & Testing](#development-testing)
54
54
 
55
55
  ## Requirements
56
56
 
@@ -1012,6 +1012,62 @@ const signature = RsaUtils.sign(data, privateKey);
1012
1012
  const isValid = RsaUtils.verify(data, signature, publicKey);
1013
1013
  ```
1014
1014
 
1015
+ ## Handling New API Fields (ExtraParams)
1016
+
1017
+ When Waffo API adds new fields that are not yet defined in the SDK, you can use the ExtraParams feature to access these fields without waiting for an SDK update.
1018
+
1019
+ ### Reading Unknown Fields from Responses
1020
+
1021
+ ```typescript
1022
+ // Get extra field from response
1023
+ const response = await waffo.order().inquiry({ paymentRequestId: 'REQ001' });
1024
+ if (response.isSuccess()) {
1025
+ const data = response.getData();
1026
+
1027
+ // Access field not yet defined in SDK
1028
+ const newField = data.extraParams?.['newField'];
1029
+
1030
+ // Or use type assertion if you know the type
1031
+ const typedValue = data.extraParams?.['newField'] as string;
1032
+ }
1033
+
1034
+ // Get extra field from webhook notification
1035
+ webhookHandler.onPaymentNotification((notification) => {
1036
+ const result = notification.result;
1037
+ const newField = result.extraParams?.['newField'];
1038
+ });
1039
+ ```
1040
+
1041
+ ### Sending Extra Fields in Requests
1042
+
1043
+ ```typescript
1044
+ // TypeScript types include index signature [key: string]: unknown
1045
+ // You can directly add extra fields to any request
1046
+ const response = await waffo.order().create({
1047
+ paymentRequestId: 'REQ001',
1048
+ merchantOrderId: 'ORDER001',
1049
+ // ... other required fields
1050
+ newField: 'value', // Extra field - no type error
1051
+ nested: { key: 123 } // Nested object - works too
1052
+ });
1053
+ ```
1054
+
1055
+ ### Important Notes
1056
+
1057
+ > **Upgrade SDK Promptly**
1058
+ >
1059
+ > ExtraParams is designed as a **temporary solution** for accessing new API fields before SDK updates.
1060
+ >
1061
+ > **Best Practices:**
1062
+ > 1. Check SDK release notes regularly for new field support
1063
+ > 2. Once SDK officially supports the field, migrate from `getExtraParam("field")` to the official getter (e.g., `getField()`)
1064
+ > 3. The SDK logs a warning when you use `getExtraParam()` on officially supported fields
1065
+ >
1066
+ > **Why migrate?**
1067
+ > - Official getters provide type safety
1068
+ > - Better IDE auto-completion and documentation
1069
+ > - Reduced risk of typos in field names
1070
+
1015
1071
  ## Error Handling
1016
1072
 
1017
1073
  ### Error Handling Pattern
package/dist/index.d.mts CHANGED
@@ -525,6 +525,7 @@ interface CreateOrderData {
525
525
  interface InquiryOrderParams {
526
526
  paymentRequestId?: string;
527
527
  acquiringOrderId?: string;
528
+ merchantInfo?: MerchantInfo;
528
529
  [key: string]: unknown;
529
530
  }
530
531
  /**
@@ -550,8 +551,8 @@ interface InquiryOrderData {
550
551
  interface CancelOrderParams {
551
552
  paymentRequestId?: string;
552
553
  acquiringOrderId?: string;
553
- merchantId: string;
554
- orderRequestedAt: string;
554
+ merchantInfo?: MerchantInfo;
555
+ orderRequestedAt?: string;
555
556
  [key: string]: unknown;
556
557
  }
557
558
  /**
@@ -569,13 +570,14 @@ interface CancelOrderData {
569
570
  */
570
571
  interface RefundOrderParams {
571
572
  refundRequestId: string;
572
- acquiringOrderId: string;
573
+ paymentRequestId?: string;
574
+ acquiringOrderId?: string;
573
575
  merchantRefundOrderId?: string;
574
- merchantId: string;
576
+ merchantInfo?: MerchantInfo;
575
577
  refundAmount: string;
576
- refundReason: string;
577
- requestedAt: string;
578
- refundNotifyUrl?: string;
578
+ refundReason?: string;
579
+ requestedAt?: string;
580
+ notifyUrl?: string;
579
581
  userInfo?: RefundUserInfo;
580
582
  extendInfo?: string;
581
583
  [key: string]: unknown;
@@ -812,22 +814,33 @@ declare class OrderResource extends BaseResource {
812
814
  * Create subscription request parameters.
813
815
  */
814
816
  interface CreateSubscriptionParams {
815
- subscriptionRequestId: string;
817
+ /**
818
+ * Subscription request ID sent from Merchant (max 32 characters).
819
+ * Used for idempotent check.
820
+ */
821
+ subscriptionRequest: string;
816
822
  merchantSubscriptionId: string;
817
- orderCurrency: string;
818
- orderAmount: string;
819
- orderDescription: string;
823
+ currency: string;
824
+ amount: string;
820
825
  notifyUrl: string;
821
826
  productInfo: ProductInfo;
822
827
  userInfo: SubscriptionUserInfo;
823
828
  paymentInfo: SubscriptionPaymentInfo;
824
829
  merchantInfo?: SubscriptionMerchantInfo;
830
+ goodsInfo?: {
831
+ goodsId: string;
832
+ goodsName: string;
833
+ goodsCategory?: string;
834
+ goodsUrl?: string;
835
+ goodsQuantity?: number;
836
+ [key: string]: unknown;
837
+ };
825
838
  successRedirectUrl?: string;
826
839
  failedRedirectUrl?: string;
827
840
  cancelRedirectUrl?: string;
841
+ subscriptionManagementUrl?: string;
828
842
  requestedAt?: string;
829
843
  extendInfo?: string;
830
- metadata?: string;
831
844
  /**
832
845
  * Order expiry time (ISO 8601 format, max 24 characters).
833
846
  */
@@ -838,7 +851,7 @@ interface CreateSubscriptionParams {
838
851
  * Create subscription response data.
839
852
  */
840
853
  interface CreateSubscriptionData {
841
- subscriptionRequestId?: string;
854
+ subscriptionRequest?: string;
842
855
  merchantSubscriptionId?: string;
843
856
  subscriptionId?: string;
844
857
  subscriptionStatus?: SubscriptionStatus;
@@ -849,41 +862,43 @@ interface CreateSubscriptionData {
849
862
  * Inquiry subscription request parameters.
850
863
  */
851
864
  interface InquirySubscriptionParams {
852
- subscriptionRequestId?: string;
865
+ subscriptionRequest?: string;
853
866
  subscriptionId?: string;
867
+ merchantInfo?: SubscriptionMerchantInfo;
854
868
  [key: string]: unknown;
855
869
  }
856
870
  /**
857
871
  * Inquiry subscription response data.
858
872
  */
859
873
  interface InquirySubscriptionData {
860
- subscriptionRequestId?: string;
874
+ subscriptionRequest?: string;
861
875
  merchantSubscriptionId?: string;
862
876
  subscriptionId?: string;
877
+ payMethodSubscriptionId?: string;
863
878
  subscriptionStatus?: SubscriptionStatus;
864
- orderCurrency?: string;
865
- orderAmount?: string;
866
- currentPeriodStartAt?: string;
867
- currentPeriodEndAt?: string;
868
- nextBillingAt?: string;
879
+ subscriptionAction?: string;
880
+ currency?: string;
881
+ userCurrency?: string;
882
+ amount?: string;
883
+ productInfo?: ProductInfo;
869
884
  [key: string]: unknown;
870
885
  }
871
886
  /**
872
887
  * Cancel subscription request parameters.
873
888
  */
874
889
  interface CancelSubscriptionParams {
875
- subscriptionRequestId?: string;
890
+ subscriptionRequest?: string;
876
891
  subscriptionId?: string;
877
- merchantId: string;
892
+ merchantInfo?: SubscriptionMerchantInfo;
878
893
  cancelReason?: string;
879
- requestedAt: string;
894
+ requestedAt?: string;
880
895
  [key: string]: unknown;
881
896
  }
882
897
  /**
883
898
  * Cancel subscription response data.
884
899
  */
885
900
  interface CancelSubscriptionData {
886
- subscriptionRequestId?: string;
901
+ subscriptionRequest?: string;
887
902
  merchantSubscriptionId?: string;
888
903
  subscriptionId?: string;
889
904
  subscriptionStatus?: SubscriptionStatus;
@@ -912,28 +927,78 @@ interface ManageSubscriptionData {
912
927
  }
913
928
  /**
914
929
  * Subscription status enum.
930
+ * Based on openapi.json SubscriptionInquiryResponse.subscriptionStatus.
915
931
  */
916
- type SubscriptionStatus = 'SUBSCRIPTION_IN_PROGRESS' | 'SUBSCRIPTION_ACTIVE' | 'SUBSCRIPTION_PAUSED' | 'SUBSCRIPTION_CANCELLED' | 'SUBSCRIPTION_EXPIRED';
932
+ type SubscriptionStatus = 'AUTHORIZATION_REQUIRED' | 'IN_PROGRESS' | 'ACTIVE' | 'CLOSE' | 'MERCHANT_CANCELLED' | 'USER_CANCELLED' | 'CHANNEL_CANCELLED' | 'EXPIRED';
917
933
  /**
918
934
  * Subscription manage action enum.
919
935
  */
920
936
  type SubscriptionManageAction = 'PAUSE' | 'RESUME' | 'UPDATE_AMOUNT' | 'UPDATE_PERIOD';
921
937
  /**
922
938
  * Period type enum.
939
+ * Values: DAILY, WEEKLY, MONTHLY
923
940
  */
924
- type PeriodType = 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
941
+ type PeriodType = 'DAILY' | 'WEEKLY' | 'MONTHLY';
925
942
  /**
926
943
  * Product information for subscription.
944
+ * Based on openapi.json ProductInfo schema.
927
945
  */
928
946
  interface ProductInfo {
929
- productId: string;
930
- productName: string;
931
- productDescription?: string;
947
+ /**
948
+ * Subscription product description (max 128 characters).
949
+ * Often appearing to user when asking user's confirmation.
950
+ */
951
+ description: string;
952
+ /**
953
+ * Subscription product period type: DAILY, WEEKLY, MONTHLY.
954
+ */
932
955
  periodType: PeriodType;
933
- periodValue: number;
956
+ /**
957
+ * Period interval (max 12 characters).
958
+ * - DAILY: 1-365
959
+ * - WEEKLY: 1-4
960
+ * - MONTHLY: 1-12
961
+ */
962
+ periodInterval: string;
963
+ /**
964
+ * Number of billing periods until subscription ends (max 24 characters).
965
+ * Empty means no defined end period.
966
+ */
967
+ numberOfPeriod?: string;
968
+ /**
969
+ * Trial period amount (max 24 characters).
970
+ */
971
+ trialPeriodAmount?: string;
972
+ /**
973
+ * Number of trial periods (max 12 characters).
974
+ */
975
+ numberOfTrialPeriod?: string;
976
+ /**
977
+ * Trial period type: DAILY, WEEKLY, MONTHLY.
978
+ * If omitted, uses periodType value by default.
979
+ */
934
980
  trialPeriodType?: PeriodType;
935
- trialPeriodValue?: number;
936
- trialAmount?: string;
981
+ /**
982
+ * Trial period interval (max 12 characters).
983
+ * If omitted, uses periodInterval value by default.
984
+ */
985
+ trialPeriodInterval?: string;
986
+ /**
987
+ * When the subscription starts (ISO 8601 format).
988
+ */
989
+ startDateTime?: string;
990
+ /**
991
+ * When the subscription ends (ISO 8601 format).
992
+ */
993
+ endDateTime?: string;
994
+ /**
995
+ * When the next payment is due (ISO 8601 format).
996
+ */
997
+ nextPaymentDateTime?: string;
998
+ /**
999
+ * Current billing period number.
1000
+ */
1001
+ currentPeriod?: string;
937
1002
  [key: string]: unknown;
938
1003
  }
939
1004
  /**
@@ -1426,35 +1491,40 @@ declare class SubscriptionResource extends BaseResource {
1426
1491
  * Note: Full type definitions should be generated from openapi.json.
1427
1492
  * These are placeholder interfaces for the SDK structure.
1428
1493
  */
1494
+
1429
1495
  /**
1430
1496
  * Inquiry refund request parameters.
1431
1497
  */
1432
1498
  interface InquiryRefundParams {
1433
1499
  refundRequestId?: string;
1434
1500
  acquiringRefundOrderId?: string;
1501
+ merchantInfo?: MerchantInfo;
1435
1502
  [key: string]: unknown;
1436
1503
  }
1437
1504
  /**
1438
1505
  * Inquiry refund response data.
1506
+ * Based on openapi.json AcqOrderRefundInquiry schema.
1439
1507
  */
1440
1508
  interface InquiryRefundData {
1441
1509
  refundRequestId?: string;
1442
1510
  merchantRefundOrderId?: string;
1443
1511
  acquiringOrderId?: string;
1444
1512
  acquiringRefundOrderId?: string;
1513
+ origPaymentRequestId?: string;
1445
1514
  refundAmount?: string;
1515
+ refundCurrency?: string;
1446
1516
  refundStatus?: RefundStatus;
1447
- refundFailedReason?: RefundFailedReason;
1517
+ refundReason?: string;
1518
+ refundRequestedAt?: string;
1519
+ refundUpdatedAt?: string;
1520
+ refundFailedReason?: string;
1521
+ extendInfo?: string;
1448
1522
  [key: string]: unknown;
1449
1523
  }
1450
1524
  /**
1451
1525
  * Refund status enum.
1452
1526
  */
1453
1527
  type RefundStatus = 'REFUND_IN_PROGRESS' | 'ORDER_PARTIALLY_REFUNDED' | 'ORDER_FULLY_REFUNDED' | 'ORDER_REFUND_FAILED';
1454
- /**
1455
- * Refund failed reason enum.
1456
- */
1457
- type RefundFailedReason = 'INSUFFICIENT_BALANCE' | 'ORIGINAL_ORDER_NOT_FOUND' | 'REFUND_AMOUNT_EXCEEDED' | 'SYSTEM_ERROR' | 'OTHER';
1458
1528
 
1459
1529
  /**
1460
1530
  * Refund resource for querying refund status.
@@ -1841,108 +1911,100 @@ declare class WaffoUnknownStatusError extends Error {
1841
1911
  }
1842
1912
 
1843
1913
  /**
1844
- * RSA cryptographic utilities for signing and verification.
1914
+ * Result of key pair generation.
1915
+ */
1916
+ interface KeyPairResult {
1917
+ /** Base64 encoded PKCS8 private key */
1918
+ privateKey: string;
1919
+ /** Base64 encoded X509 public key */
1920
+ publicKey: string;
1921
+ }
1922
+ /**
1923
+ * Signs data using RSA-SHA256.
1845
1924
  *
1846
- * Uses SHA256withRSA algorithm with 2048-bit key size.
1925
+ * @param data - The data to sign (UTF-8 string)
1926
+ * @param base64PrivateKey - Base64 encoded PKCS8 private key
1927
+ * @returns Base64 encoded signature
1928
+ * @throws WaffoError if signing fails (S0003)
1847
1929
  *
1848
- * **Key Formats:**
1849
- * - Private Key: PKCS#8 DER encoded, Base64 string
1850
- * - Public Key: X.509 SubjectPublicKeyInfo DER encoded, Base64 string
1930
+ * @example
1931
+ * ```typescript
1932
+ * const signature = sign('{"amount":"100.00"}', privateKey);
1933
+ * ```
1934
+ */
1935
+ declare function sign(data: string, base64PrivateKey: string): string;
1936
+ /**
1937
+ * Verifies a signature using RSA-SHA256.
1851
1938
  *
1852
- * **Security Best Practices:**
1939
+ * @param data - The original data (UTF-8 string)
1940
+ * @param base64Signature - Base64 encoded signature
1941
+ * @param base64PublicKey - Base64 encoded X509 public key
1942
+ * @returns true if signature is valid, false otherwise
1853
1943
  *
1854
- * When verifying Waffo's response signature fails:
1855
- * 1. Stop sending new transactions to Waffo until the issue is resolved
1856
- * 2. Investigate the cause and contact Waffo support
1857
- * 3. Note: Waffo may have already processed your request, but you failed to
1858
- * process the response due to signature verification failure
1944
+ * @example
1945
+ * ```typescript
1946
+ * const isValid = verify(responseBody, signature, waffoPublicKey);
1947
+ * if (!isValid) {
1948
+ * // Handle signature verification failure
1949
+ * }
1950
+ * ```
1859
1951
  */
1860
- declare namespace RsaUtils {
1861
- /**
1862
- * Result of key pair generation.
1863
- */
1864
- interface KeyPairResult {
1865
- /** Base64 encoded PKCS8 private key */
1866
- privateKey: string;
1867
- /** Base64 encoded X509 public key */
1868
- publicKey: string;
1869
- }
1870
- /**
1871
- * Signs data using RSA-SHA256.
1872
- *
1873
- * @param data - The data to sign (UTF-8 string)
1874
- * @param base64PrivateKey - Base64 encoded PKCS8 private key
1875
- * @returns Base64 encoded signature
1876
- * @throws WaffoError if signing fails (S0003)
1877
- *
1878
- * @example
1879
- * ```typescript
1880
- * const signature = RsaUtils.sign('{"amount":"100.00"}', privateKey);
1881
- * ```
1882
- */
1883
- function sign(data: string, base64PrivateKey: string): string;
1884
- /**
1885
- * Verifies a signature using RSA-SHA256.
1886
- *
1887
- * @param data - The original data (UTF-8 string)
1888
- * @param base64Signature - Base64 encoded signature
1889
- * @param base64PublicKey - Base64 encoded X509 public key
1890
- * @returns true if signature is valid, false otherwise
1891
- *
1892
- * @example
1893
- * ```typescript
1894
- * const isValid = RsaUtils.verify(responseBody, signature, waffoPublicKey);
1895
- * if (!isValid) {
1896
- * // Handle signature verification failure
1897
- * }
1898
- * ```
1899
- */
1900
- function verify(data: string, base64Signature: string, base64PublicKey: string): boolean;
1901
- /**
1902
- * Validates a Base64 encoded PKCS8 private key.
1903
- *
1904
- * This method attempts to parse the key to ensure it's a valid RSA private key.
1905
- * Use this at startup to fail fast if the private key is invalid.
1906
- *
1907
- * @param base64PrivateKey - Base64 encoded PKCS8 private key
1908
- * @throws WaffoError if the key is invalid (S0007)
1909
- *
1910
- * @example
1911
- * ```typescript
1912
- * // Validate at initialization
1913
- * RsaUtils.validatePrivateKey(config.privateKey);
1914
- * ```
1915
- */
1916
- function validatePrivateKey(base64PrivateKey: string): void;
1917
- /**
1918
- * Validates a Base64 encoded X509 public key.
1919
- *
1920
- * This method attempts to parse the key to ensure it's a valid RSA public key.
1921
- * Use this at startup to fail fast if the public key is invalid.
1922
- *
1923
- * @param base64PublicKey - Base64 encoded X509 public key
1924
- * @throws WaffoError if the key is invalid (S0002)
1925
- *
1926
- * @example
1927
- * ```typescript
1928
- * // Validate at initialization
1929
- * RsaUtils.validatePublicKey(config.waffoPublicKey);
1930
- * ```
1931
- */
1932
- function validatePublicKey(base64PublicKey: string): void;
1933
- /**
1934
- * Generates a new RSA key pair for testing or merchant key generation.
1935
- *
1936
- * @returns A new KeyPairResult containing Base64 encoded keys
1937
- *
1938
- * @example
1939
- * ```typescript
1940
- * const keyPair = RsaUtils.generateKeyPair();
1941
- * console.log('Private Key:', keyPair.privateKey);
1942
- * console.log('Public Key:', keyPair.publicKey);
1943
- * ```
1944
- */
1945
- function generateKeyPair(): KeyPairResult;
1946
- }
1952
+ declare function verify(data: string, base64Signature: string, base64PublicKey: string): boolean;
1953
+ /**
1954
+ * Validates a Base64 encoded PKCS8 private key.
1955
+ *
1956
+ * This method attempts to parse the key to ensure it's a valid RSA private key.
1957
+ * Use this at startup to fail fast if the private key is invalid.
1958
+ *
1959
+ * @param base64PrivateKey - Base64 encoded PKCS8 private key
1960
+ * @throws WaffoError if the key is invalid (S0007)
1961
+ *
1962
+ * @example
1963
+ * ```typescript
1964
+ * // Validate at initialization
1965
+ * validatePrivateKey(config.privateKey);
1966
+ * ```
1967
+ */
1968
+ declare function validatePrivateKey(base64PrivateKey: string): void;
1969
+ /**
1970
+ * Validates a Base64 encoded X509 public key.
1971
+ *
1972
+ * This method attempts to parse the key to ensure it's a valid RSA public key.
1973
+ * Use this at startup to fail fast if the public key is invalid.
1974
+ *
1975
+ * @param base64PublicKey - Base64 encoded X509 public key
1976
+ * @throws WaffoError if the key is invalid (S0002)
1977
+ *
1978
+ * @example
1979
+ * ```typescript
1980
+ * // Validate at initialization
1981
+ * validatePublicKey(config.waffoPublicKey);
1982
+ * ```
1983
+ */
1984
+ declare function validatePublicKey(base64PublicKey: string): void;
1985
+ /**
1986
+ * Generates a new RSA key pair for testing or merchant key generation.
1987
+ *
1988
+ * @returns A new KeyPairResult containing Base64 encoded keys
1989
+ *
1990
+ * @example
1991
+ * ```typescript
1992
+ * const keyPair = generateKeyPair();
1993
+ * console.log('Private Key:', keyPair.privateKey);
1994
+ * console.log('Public Key:', keyPair.publicKey);
1995
+ * ```
1996
+ */
1997
+ declare function generateKeyPair(): KeyPairResult;
1998
+ /**
1999
+ * RsaUtils namespace for backward compatibility.
2000
+ * @deprecated Use direct function imports instead.
2001
+ */
2002
+ declare const RsaUtils: {
2003
+ sign: typeof sign;
2004
+ verify: typeof verify;
2005
+ validatePrivateKey: typeof validatePrivateKey;
2006
+ validatePublicKey: typeof validatePublicKey;
2007
+ generateKeyPair: typeof generateKeyPair;
2008
+ };
1947
2009
 
1948
- export { type AddressInfo, ApiResponse, type BaseNotification, type CancelOrderData, type CancelOrderParams, type CancelSubscriptionData, type CancelSubscriptionParams, type CaptureOrderData, type CaptureOrderParams, type CardInfo, type CreateOrderData, type CreateOrderParams, type CreateSubscriptionData, type CreateSubscriptionParams, Environment, EnvironmentBaseUrl, type GoodsInfo, type HttpRequest, type HttpResponse, type HttpTransport, type InquiryMerchantConfigData, type InquiryMerchantConfigParams, type InquiryOrderData, type InquiryOrderParams, type InquiryPayMethodConfigData, type InquiryPayMethodConfigParams, type InquiryRefundData, type InquiryRefundParams, type InquirySubscriptionData, type InquirySubscriptionParams, type ManageSubscriptionData, type ManageSubscriptionParams, MerchantConfigResource, type MerchantInfo, OrderResource, type OrderStatus, PayMethodConfigResource, type PayMethodInfo, type PaymentInfo, type PaymentNotification, type PeriodType, type ProductInfo, type RefundFailedReason, type RefundNotification, type RefundOrderData, type RefundOrderParams, RefundResource, type RefundStatus$1 as RefundStatus, type RefundUserInfo, type RequestOptions, type RiskData, RsaUtils, type SubscriptionManageAction, type SubscriptionMerchantInfo, type SubscriptionPaymentInfo, type SubscriptionPaymentNotification, type SubscriptionPeriodChangedNotification, SubscriptionResource, type SubscriptionStatus, type SubscriptionStatusNotification, type SubscriptionUserInfo, type UserInfo, Waffo, type WaffoConfig, WaffoConfigDefaults, WaffoError, WaffoErrorCode, WaffoHttpClient, type WaffoLogger, WaffoUnknownStatusError, WebhookEventType, WebhookHandler, type WebhookResult };
2010
+ export { type AddressInfo, ApiResponse, type BaseNotification, type CancelOrderData, type CancelOrderParams, type CancelSubscriptionData, type CancelSubscriptionParams, type CaptureOrderData, type CaptureOrderParams, type CardInfo, type CreateOrderData, type CreateOrderParams, type CreateSubscriptionData, type CreateSubscriptionParams, Environment, EnvironmentBaseUrl, type GoodsInfo, type HttpRequest, type HttpResponse, type HttpTransport, type InquiryMerchantConfigData, type InquiryMerchantConfigParams, type InquiryOrderData, type InquiryOrderParams, type InquiryPayMethodConfigData, type InquiryPayMethodConfigParams, type InquiryRefundData, type InquiryRefundParams, type InquirySubscriptionData, type InquirySubscriptionParams, type ManageSubscriptionData, type ManageSubscriptionParams, MerchantConfigResource, type MerchantInfo, OrderResource, type OrderStatus, PayMethodConfigResource, type PayMethodInfo, type PaymentInfo, type PaymentNotification, type PeriodType, type ProductInfo, type RefundNotification, type RefundOrderData, type RefundOrderParams, RefundResource, type RefundStatus$1 as RefundStatus, type RefundUserInfo, type RequestOptions, type RiskData, RsaUtils, type SubscriptionManageAction, type SubscriptionMerchantInfo, type SubscriptionPaymentInfo, type SubscriptionPaymentNotification, type SubscriptionPeriodChangedNotification, SubscriptionResource, type SubscriptionStatus, type SubscriptionStatusNotification, type SubscriptionUserInfo, type UserInfo, Waffo, type WaffoConfig, WaffoConfigDefaults, WaffoError, WaffoErrorCode, WaffoHttpClient, type WaffoLogger, WaffoUnknownStatusError, WebhookEventType, WebhookHandler, type WebhookResult };