@plyaz/types 1.11.4 → 1.12.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 (42) hide show
  1. package/dist/index.cjs +345 -0
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +328 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/payments/currency/index.d.ts +37 -0
  7. package/dist/payments/events/emitter/index.d.ts +1 -0
  8. package/dist/payments/events/emitter/types.d.ts +333 -0
  9. package/dist/payments/events/enums.d.ts +110 -0
  10. package/dist/payments/events/index.d.ts +4 -0
  11. package/dist/payments/events/types.d.ts +151 -0
  12. package/dist/payments/events/unified-event/enums.d.ts +14 -0
  13. package/dist/payments/events/unified-event/index.d.ts +2 -0
  14. package/dist/payments/events/unified-event/types.d.ts +346 -0
  15. package/dist/payments/gateways/index.d.ts +2 -0
  16. package/dist/payments/gateways/provider/index.d.ts +1 -0
  17. package/dist/payments/gateways/provider/types.d.ts +435 -0
  18. package/dist/payments/gateways/routings/enums.d.ts +87 -0
  19. package/dist/payments/gateways/routings/index.d.ts +2 -0
  20. package/dist/payments/gateways/routings/types.d.ts +512 -0
  21. package/dist/payments/index.cjs +351 -0
  22. package/dist/payments/index.cjs.map +1 -0
  23. package/dist/payments/index.d.ts +7 -0
  24. package/dist/payments/index.js +332 -0
  25. package/dist/payments/index.js.map +1 -0
  26. package/dist/payments/provider/adapter/index.d.ts +1 -0
  27. package/dist/payments/provider/adapter/types.d.ts +208 -0
  28. package/dist/payments/provider/core/index.d.ts +1 -0
  29. package/dist/payments/provider/core/types.d.ts +508 -0
  30. package/dist/payments/provider/index.d.ts +4 -0
  31. package/dist/payments/provider/payment-provider/index.d.ts +1 -0
  32. package/dist/payments/provider/payment-provider/types.d.ts +269 -0
  33. package/dist/payments/provider/provider-capability/enums.d.ts +116 -0
  34. package/dist/payments/provider/provider-capability/index.d.ts +1 -0
  35. package/dist/payments/request/enums.d.ts +19 -0
  36. package/dist/payments/request/index.d.ts +2 -0
  37. package/dist/payments/request/types.d.ts +221 -0
  38. package/dist/payments/service/index.d.ts +1 -0
  39. package/dist/payments/service/types.d.ts +48 -0
  40. package/dist/payments/transaction/index.d.ts +1 -0
  41. package/dist/payments/transaction/types.d.ts +120 -0
  42. package/package.json +6 -1
@@ -0,0 +1,332 @@
1
+ // @plyaz package - Built with tsup
2
+
3
+ // src/payments/currency/index.ts
4
+ var CURRENCY = /* @__PURE__ */ ((CURRENCY2) => {
5
+ CURRENCY2["USD"] = "USD";
6
+ CURRENCY2["EUR"] = "EUR";
7
+ CURRENCY2["GBP"] = "GBP";
8
+ CURRENCY2["PKR"] = "PKR";
9
+ CURRENCY2["INR"] = "INR";
10
+ CURRENCY2["AUD"] = "AUD";
11
+ CURRENCY2["CAD"] = "CAD";
12
+ CURRENCY2["NGN"] = "NGN";
13
+ CURRENCY2["KES"] = "KES";
14
+ CURRENCY2["ZAR"] = "ZAR";
15
+ CURRENCY2["AED"] = "AED";
16
+ CURRENCY2["SAR"] = "SAR";
17
+ CURRENCY2["JPY"] = "JPY";
18
+ CURRENCY2["CNY"] = "CNY";
19
+ CURRENCY2["TRY"] = "TRY";
20
+ CURRENCY2["BRL"] = "BRL";
21
+ CURRENCY2["MXN"] = "MXN";
22
+ CURRENCY2["CHF"] = "CHF";
23
+ CURRENCY2["SGD"] = "SGD";
24
+ CURRENCY2["HKD"] = "HKD";
25
+ CURRENCY2["MYR"] = "MYR";
26
+ CURRENCY2["THB"] = "THB";
27
+ CURRENCY2["PHP"] = "PHP";
28
+ CURRENCY2["IDR"] = "IDR";
29
+ CURRENCY2["SEK"] = "SEK";
30
+ CURRENCY2["NOK"] = "NOK";
31
+ CURRENCY2["DKK"] = "DKK";
32
+ CURRENCY2["PLN"] = "PLN";
33
+ CURRENCY2["CZK"] = "CZK";
34
+ CURRENCY2["HUF"] = "HUF";
35
+ CURRENCY2["RUB"] = "RUB";
36
+ CURRENCY2["KRW"] = "KRW";
37
+ CURRENCY2["VND"] = "VND";
38
+ CURRENCY2["EGP"] = "EGP";
39
+ CURRENCY2["ILS"] = "ILS";
40
+ return CURRENCY2;
41
+ })(CURRENCY || {});
42
+
43
+ // src/payments/events/enums.ts
44
+ var PAYMENTEVENTTYPE = /* @__PURE__ */ ((PAYMENTEVENTTYPE2) => {
45
+ PAYMENTEVENTTYPE2["PaymentInitiated"] = "payment.initiated";
46
+ PAYMENTEVENTTYPE2["PaymentProcessing"] = "payment.processing";
47
+ PAYMENTEVENTTYPE2["PaymentRequiresAction"] = "payment.requires_action";
48
+ PAYMENTEVENTTYPE2["PaymentCompleted"] = "payment.completed";
49
+ PAYMENTEVENTTYPE2["PaymentFailed"] = "payment.failed";
50
+ PAYMENTEVENTTYPE2["PaymentCancelled"] = "payment.cancelled";
51
+ PAYMENTEVENTTYPE2["PaymentExpired"] = "payment.expired";
52
+ PAYMENTEVENTTYPE2["PaymentAuthorized"] = "payment.authorized";
53
+ PAYMENTEVENTTYPE2["PaymentCaptured"] = "payment.captured";
54
+ PAYMENTEVENTTYPE2["PaymentHeld"] = "payment.held";
55
+ PAYMENTEVENTTYPE2["PaymentReleased"] = "payment.released";
56
+ PAYMENTEVENTTYPE2["RefundRequested"] = "refund.requested";
57
+ PAYMENTEVENTTYPE2["RefundApproved"] = "refund.approved";
58
+ PAYMENTEVENTTYPE2["RefundRejected"] = "refund.rejected";
59
+ PAYMENTEVENTTYPE2["RefundProcessing"] = "refund.processing";
60
+ PAYMENTEVENTTYPE2["RefundCompleted"] = "refund.completed";
61
+ PAYMENTEVENTTYPE2["RefundFailed"] = "refund.failed";
62
+ PAYMENTEVENTTYPE2["RefundCancelled"] = "refund.cancelled";
63
+ PAYMENTEVENTTYPE2["ProviderWebhookReceived"] = "provider.webhook.received";
64
+ PAYMENTEVENTTYPE2["ProviderWebhookProcessed"] = "provider.webhook.processed";
65
+ PAYMENTEVENTTYPE2["ProviderWebhookFailed"] = "provider.webhook.failed";
66
+ PAYMENTEVENTTYPE2["ProviderApiCalled"] = "provider.api.called";
67
+ PAYMENTEVENTTYPE2["ProviderApiSucceeded"] = "provider.api.succeeded";
68
+ PAYMENTEVENTTYPE2["ProviderApiFailed"] = "provider.api.failed";
69
+ PAYMENTEVENTTYPE2["ProviderTimeout"] = "provider.timeout";
70
+ PAYMENTEVENTTYPE2["ProviderHealthChanged"] = "provider.health.changed";
71
+ PAYMENTEVENTTYPE2["SettlementInitiated"] = "settlement.initiated";
72
+ PAYMENTEVENTTYPE2["SettlementCompleted"] = "settlement.completed";
73
+ PAYMENTEVENTTYPE2["SettlementFailed"] = "settlement.failed";
74
+ PAYMENTEVENTTYPE2["PayoutRequested"] = "payout.requested";
75
+ PAYMENTEVENTTYPE2["PayoutProcessed"] = "payout.processed";
76
+ PAYMENTEVENTTYPE2["PayoutFailed"] = "payout.failed";
77
+ PAYMENTEVENTTYPE2["ChargebackReceived"] = "chargeback.received";
78
+ PAYMENTEVENTTYPE2["ChargebackResponded"] = "chargeback.responded";
79
+ PAYMENTEVENTTYPE2["ChargebackWon"] = "chargeback.won";
80
+ PAYMENTEVENTTYPE2["ChargebackLost"] = "chargeback.lost";
81
+ PAYMENTEVENTTYPE2["DisputeCreated"] = "dispute.created";
82
+ PAYMENTEVENTTYPE2["DisputeUpdated"] = "dispute.updated";
83
+ PAYMENTEVENTTYPE2["DisputeResolved"] = "dispute.resolved";
84
+ PAYMENTEVENTTYPE2["DisputeEscalated"] = "dispute.escalated";
85
+ PAYMENTEVENTTYPE2["FraudDetected"] = "fraud.detected";
86
+ PAYMENTEVENTTYPE2["FraudReviewRequired"] = "fraud.review_required";
87
+ PAYMENTEVENTTYPE2["FraudCleared"] = "fraud.cleared";
88
+ PAYMENTEVENTTYPE2["SuspiciousActivity"] = "suspicious.activity";
89
+ PAYMENTEVENTTYPE2["PaymentBlocked"] = "payment.blocked";
90
+ PAYMENTEVENTTYPE2["SecurityCheckFailed"] = "security.check_failed";
91
+ PAYMENTEVENTTYPE2["VelocityLimitExceeded"] = "velocity.limit_exceeded";
92
+ PAYMENTEVENTTYPE2["PaymentMethodAdded"] = "payment_method.added";
93
+ PAYMENTEVENTTYPE2["PaymentMethodUpdated"] = "payment_method.updated";
94
+ PAYMENTEVENTTYPE2["PaymentMethodDeleted"] = "payment_method.deleted";
95
+ PAYMENTEVENTTYPE2["PaymentMethodVerified"] = "payment_method.verified";
96
+ PAYMENTEVENTTYPE2["PaymentMethodExpired"] = "payment_method.expired";
97
+ PAYMENTEVENTTYPE2["SubscriptionCreated"] = "subscription.created";
98
+ PAYMENTEVENTTYPE2["SubscriptionUpdated"] = "subscription.updated";
99
+ PAYMENTEVENTTYPE2["SubscriptionCancelled"] = "subscription.cancelled";
100
+ PAYMENTEVENTTYPE2["SubscriptionRenewed"] = "subscription.renewed";
101
+ PAYMENTEVENTTYPE2["SubscriptionFailed"] = "subscription.failed";
102
+ PAYMENTEVENTTYPE2["SubscriptionTrialStarted"] = "subscription.trial_started";
103
+ PAYMENTEVENTTYPE2["SubscriptionTrialEnded"] = "subscription.trial_ended";
104
+ PAYMENTEVENTTYPE2["PaymentLimitsUpdated"] = "payment_limits.updated";
105
+ PAYMENTEVENTTYPE2["PaymentLimitsExceeded"] = "payment_limits.exceeded";
106
+ PAYMENTEVENTTYPE2["ProviderConfigUpdated"] = "provider.config_updated";
107
+ PAYMENTEVENTTYPE2["ProviderMaintenanceStarted"] = "provider.maintenance_started";
108
+ PAYMENTEVENTTYPE2["ProviderMaintenanceEnded"] = "provider.maintenance_ended";
109
+ PAYMENTEVENTTYPE2["ComplianceCheckRequired"] = "compliance.check_required";
110
+ PAYMENTEVENTTYPE2["ComplianceCheckPassed"] = "compliance.check_passed";
111
+ PAYMENTEVENTTYPE2["ComplianceCheckFailed"] = "compliance.check_failed";
112
+ PAYMENTEVENTTYPE2["AuditTrailCreated"] = "audit.trail_created";
113
+ PAYMENTEVENTTYPE2["RegulatoryReportGenerated"] = "regulatory.report_generated";
114
+ return PAYMENTEVENTTYPE2;
115
+ })(PAYMENTEVENTTYPE || {});
116
+ var PAYMENTEVENTCATEGORY = /* @__PURE__ */ ((PAYMENTEVENTCATEGORY2) => {
117
+ PAYMENTEVENTCATEGORY2["TRANSACTION"] = "transaction";
118
+ PAYMENTEVENTCATEGORY2["REFUND"] = "refund";
119
+ PAYMENTEVENTCATEGORY2["PROVIDER"] = "provider";
120
+ PAYMENTEVENTCATEGORY2["SECURITY"] = "security";
121
+ PAYMENTEVENTCATEGORY2["COMPLIANCE"] = "compliance";
122
+ PAYMENTEVENTCATEGORY2["FINANCIAL"] = "financial";
123
+ PAYMENTEVENTCATEGORY2["SUBSCRIPTION"] = "subscription";
124
+ PAYMENTEVENTCATEGORY2["SYSTEM"] = "system";
125
+ PAYMENTEVENTCATEGORY2["AUDIT"] = "audit";
126
+ return PAYMENTEVENTCATEGORY2;
127
+ })(PAYMENTEVENTCATEGORY || {});
128
+ var PAYMENTERRORCATEGORY = /* @__PURE__ */ ((PAYMENTERRORCATEGORY2) => {
129
+ PAYMENTERRORCATEGORY2["UserError"] = "user_error";
130
+ PAYMENTERRORCATEGORY2["ProviderError"] = "provider_error";
131
+ PAYMENTERRORCATEGORY2["SystemError"] = "system_error";
132
+ PAYMENTERRORCATEGORY2["NetworkError"] = "network_error";
133
+ PAYMENTERRORCATEGORY2["FraudError"] = "fraud_error";
134
+ PAYMENTERRORCATEGORY2["ComplianceError"] = "compliance_error";
135
+ PAYMENTERRORCATEGORY2["LimitError"] = "limit_error";
136
+ PAYMENTERRORCATEGORY2["ConfigurationError"] = "configuration_error";
137
+ PAYMENTERRORCATEGORY2["TimeoutError"] = "timeout_error";
138
+ PAYMENTERRORCATEGORY2["ValidationError"] = "validation_error";
139
+ return PAYMENTERRORCATEGORY2;
140
+ })(PAYMENTERRORCATEGORY || {});
141
+
142
+ // src/payments/events/unified-event/enums.ts
143
+ var EVENTPROCESSINGSTATUS = /* @__PURE__ */ ((EVENTPROCESSINGSTATUS2) => {
144
+ EVENTPROCESSINGSTATUS2["Received"] = "received";
145
+ EVENTPROCESSINGSTATUS2["Validating"] = "validating";
146
+ EVENTPROCESSINGSTATUS2["Normalizing"] = "normalizing";
147
+ EVENTPROCESSINGSTATUS2["Normalized"] = "normalized";
148
+ EVENTPROCESSINGSTATUS2["Processing"] = "processing";
149
+ EVENTPROCESSINGSTATUS2["Completed"] = "completed";
150
+ EVENTPROCESSINGSTATUS2["Failed"] = "failed";
151
+ EVENTPROCESSINGSTATUS2["Retrying"] = "retrying";
152
+ EVENTPROCESSINGSTATUS2["Skipped"] = "skipped";
153
+ return EVENTPROCESSINGSTATUS2;
154
+ })(EVENTPROCESSINGSTATUS || {});
155
+
156
+ // src/payments/provider/provider-capability/enums.ts
157
+ var PAYMENTPROVIDERTYPE = /* @__PURE__ */ ((PAYMENTPROVIDERTYPE2) => {
158
+ PAYMENTPROVIDERTYPE2["Stripe"] = "stripe";
159
+ PAYMENTPROVIDERTYPE2["Paypal"] = "paypal";
160
+ PAYMENTPROVIDERTYPE2["CheckoutCom"] = "checkout_com";
161
+ PAYMENTPROVIDERTYPE2["Adyen"] = "adyen";
162
+ PAYMENTPROVIDERTYPE2["Moonpay"] = "moonpay";
163
+ PAYMENTPROVIDERTYPE2["CoinbaseCommerce"] = "coinbase_commerce";
164
+ PAYMENTPROVIDERTYPE2["BlockchainBridge"] = "blockchain_bridge";
165
+ PAYMENTPROVIDERTYPE2["Pix"] = "pix";
166
+ PAYMENTPROVIDERTYPE2["Boleto"] = "boleto";
167
+ PAYMENTPROVIDERTYPE2["Sepa"] = "sepa";
168
+ PAYMENTPROVIDERTYPE2["Ideal"] = "ideal";
169
+ PAYMENTPROVIDERTYPE2["Sofort"] = "sofort";
170
+ PAYMENTPROVIDERTYPE2["Alipay"] = "alipay";
171
+ PAYMENTPROVIDERTYPE2["WechatPay"] = "wechat_pay";
172
+ PAYMENTPROVIDERTYPE2["MockProvider"] = "mock_provider";
173
+ return PAYMENTPROVIDERTYPE2;
174
+ })(PAYMENTPROVIDERTYPE || {});
175
+ var PAYMENTMETHOD = /* @__PURE__ */ ((PAYMENTMETHOD2) => {
176
+ PAYMENTMETHOD2["CreditCard"] = "credit_card";
177
+ PAYMENTMETHOD2["DebitCard"] = "debit_card";
178
+ PAYMENTMETHOD2["BankTransfer"] = "bank_transfer";
179
+ PAYMENTMETHOD2["PaypalAccount"] = "paypal_account";
180
+ PAYMENTMETHOD2["CryptoBitcoin"] = "crypto_bitcoin";
181
+ PAYMENTMETHOD2["CryptoEthereum"] = "crypto_ethereum";
182
+ PAYMENTMETHOD2["CryptoPolygon"] = "crypto_polygon";
183
+ PAYMENTMETHOD2["CryptoOptimism"] = "crypto_optimism";
184
+ PAYMENTMETHOD2["CryptoUsdc"] = "crypto_usdc";
185
+ PAYMENTMETHOD2["CryptoUsdt"] = "crypto_usdt";
186
+ PAYMENTMETHOD2["CryptoNativeToken"] = "crypto_native_token";
187
+ PAYMENTMETHOD2["PixInstant"] = "pix_instant";
188
+ PAYMENTMETHOD2["BoletoBancario"] = "boleto_bancario";
189
+ PAYMENTMETHOD2["SepaDirectDebit"] = "sepa_direct_debit";
190
+ PAYMENTMETHOD2["IdealBank"] = "ideal_bank";
191
+ PAYMENTMETHOD2["SofortBanking"] = "sofort_banking";
192
+ PAYMENTMETHOD2["AlipayDigital"] = "alipay_digital";
193
+ PAYMENTMETHOD2["WechatPayDigital"] = "wechat_pay_digital";
194
+ PAYMENTMETHOD2["ApplePay"] = "apple_pay";
195
+ PAYMENTMETHOD2["GooglePay"] = "google_pay";
196
+ PAYMENTMETHOD2["SamsungPay"] = "samsung_pay";
197
+ return PAYMENTMETHOD2;
198
+ })(PAYMENTMETHOD || {});
199
+ var PAYMENTSTATUS = /* @__PURE__ */ ((PAYMENTSTATUS2) => {
200
+ PAYMENTSTATUS2["Initiated"] = "initiated";
201
+ PAYMENTSTATUS2["Pending"] = "pending";
202
+ PAYMENTSTATUS2["Processing"] = "processing";
203
+ PAYMENTSTATUS2["RequiresAction"] = "requires_action";
204
+ PAYMENTSTATUS2["RequiresConfirmation"] = "requires_confirmation";
205
+ PAYMENTSTATUS2["RequiresPaymentMethod"] = "requires_payment_method";
206
+ PAYMENTSTATUS2["Completed"] = "completed";
207
+ PAYMENTSTATUS2["Settled"] = "settled";
208
+ PAYMENTSTATUS2["Failed"] = "failed";
209
+ PAYMENTSTATUS2["Declined"] = "declined";
210
+ PAYMENTSTATUS2["Cancelled"] = "cancelled";
211
+ PAYMENTSTATUS2["Expired"] = "expired";
212
+ PAYMENTSTATUS2["Refunded"] = "refunded";
213
+ PAYMENTSTATUS2["PartiallyRefunded"] = "partially_refunded";
214
+ PAYMENTSTATUS2["Disputed"] = "disputed";
215
+ PAYMENTSTATUS2["Chargeback"] = "chargeback";
216
+ PAYMENTSTATUS2["ChargebackResolved"] = "chargeback_resolved";
217
+ PAYMENTSTATUS2["Held"] = "held";
218
+ PAYMENTSTATUS2["Authorized"] = "authorized";
219
+ PAYMENTSTATUS2["Captured"] = "captured";
220
+ return PAYMENTSTATUS2;
221
+ })(PAYMENTSTATUS || {});
222
+ var TRANSACTIONTYPE = /* @__PURE__ */ ((TRANSACTIONTYPE2) => {
223
+ TRANSACTIONTYPE2["Payment"] = "payment";
224
+ TRANSACTIONTYPE2["Refund"] = "refund";
225
+ TRANSACTIONTYPE2["PartialRefund"] = "partial_refund";
226
+ TRANSACTIONTYPE2["Withdrawal"] = "withdrawal";
227
+ TRANSACTIONTYPE2["Donation"] = "donation";
228
+ TRANSACTIONTYPE2["Subscription"] = "subscription";
229
+ TRANSACTIONTYPE2["SubscriptionRenewal"] = "subscription_renewal";
230
+ TRANSACTIONTYPE2["Fee"] = "fee";
231
+ TRANSACTIONTYPE2["Chargeback"] = "chargeback";
232
+ TRANSACTIONTYPE2["Adjustment"] = "adjustment";
233
+ TRANSACTIONTYPE2["Reward"] = "reward";
234
+ TRANSACTIONTYPE2["Penalty"] = "penalty";
235
+ TRANSACTIONTYPE2["Transfer"] = "transfer";
236
+ return TRANSACTIONTYPE2;
237
+ })(TRANSACTIONTYPE || {});
238
+ var USERTYPE = /* @__PURE__ */ ((USERTYPE2) => {
239
+ USERTYPE2["Fan"] = "fan";
240
+ USERTYPE2["Athlete"] = "athlete";
241
+ USERTYPE2["Club"] = "club";
242
+ USERTYPE2["Agent"] = "agent";
243
+ USERTYPE2["Scout"] = "scout";
244
+ USERTYPE2["Admin"] = "admin";
245
+ USERTYPE2["System"] = "system";
246
+ return USERTYPE2;
247
+ })(USERTYPE || {});
248
+ var PRODUCTTYPE = /* @__PURE__ */ ((PRODUCTTYPE2) => {
249
+ PRODUCTTYPE2["Campaign"] = "campaign";
250
+ PRODUCTTYPE2["Subscription"] = "subscription";
251
+ PRODUCTTYPE2["Nft"] = "nft";
252
+ PRODUCTTYPE2["Merchandise"] = "merchandise";
253
+ PRODUCTTYPE2["EventTicket"] = "event_ticket";
254
+ PRODUCTTYPE2["PremiumContent"] = "premium_content";
255
+ PRODUCTTYPE2["TrainingSession"] = "training_session";
256
+ PRODUCTTYPE2["Consultation"] = "consultation";
257
+ PRODUCTTYPE2["DigitalProduct"] = "digital_product";
258
+ PRODUCTTYPE2["PhysicalProduct"] = "physical_product";
259
+ return PRODUCTTYPE2;
260
+ })(PRODUCTTYPE || {});
261
+
262
+ // src/payments/request/enums.ts
263
+ var REQUIREDACTIONTYPE = /* @__PURE__ */ ((REQUIREDACTIONTYPE2) => {
264
+ REQUIREDACTIONTYPE2["Redirect"] = "redirect";
265
+ REQUIREDACTIONTYPE2["OtpVerification"] = "otp_verification";
266
+ REQUIREDACTIONTYPE2["DocumentUpload"] = "document_upload";
267
+ REQUIREDACTIONTYPE2["AdditionalPaymentInfo"] = "additional_payment_info";
268
+ REQUIREDACTIONTYPE2["PaymentConfirmation"] = "payment_confirmation";
269
+ REQUIREDACTIONTYPE2["ManualVerification"] = "manual_verification";
270
+ REQUIREDACTIONTYPE2["WaitForCompletion"] = "wait_for_completion";
271
+ return REQUIREDACTIONTYPE2;
272
+ })(REQUIREDACTIONTYPE || {});
273
+
274
+ // src/payments/gateways/routings/enums.ts
275
+ var COSTOPTIMIZATIONSTRATEGY = /* @__PURE__ */ ((COSTOPTIMIZATIONSTRATEGY2) => {
276
+ COSTOPTIMIZATIONSTRATEGY2["Aggressive"] = "aggressive";
277
+ COSTOPTIMIZATIONSTRATEGY2["Balanced"] = "balanced";
278
+ COSTOPTIMIZATIONSTRATEGY2["Conservative"] = "conservative";
279
+ COSTOPTIMIZATIONSTRATEGY2["Targeted"] = "targeted";
280
+ return COSTOPTIMIZATIONSTRATEGY2;
281
+ })(COSTOPTIMIZATIONSTRATEGY || {});
282
+ var FAILOVERSTRATEGY = /* @__PURE__ */ ((FAILOVERSTRATEGY2) => {
283
+ FAILOVERSTRATEGY2["PriorityOrder"] = "priority_order";
284
+ FAILOVERSTRATEGY2["NextAvailable"] = "next_available";
285
+ FAILOVERSTRATEGY2["PerformanceBased"] = "performance_based";
286
+ FAILOVERSTRATEGY2["LoadBalanced"] = "load_balanced";
287
+ FAILOVERSTRATEGY2["Geographic"] = "geographic";
288
+ return FAILOVERSTRATEGY2;
289
+ })(FAILOVERSTRATEGY || {});
290
+ var REGULATORYFRAMEWORK = /* @__PURE__ */ ((REGULATORYFRAMEWORK2) => {
291
+ REGULATORYFRAMEWORK2["PciDss"] = "pci_dss";
292
+ REGULATORYFRAMEWORK2["Gdpr"] = "gdpr";
293
+ REGULATORYFRAMEWORK2["Psd2"] = "psd2";
294
+ REGULATORYFRAMEWORK2["Sox"] = "sox";
295
+ REGULATORYFRAMEWORK2["Aml"] = "aml";
296
+ REGULATORYFRAMEWORK2["Kyc"] = "kyc";
297
+ REGULATORYFRAMEWORK2["Ccpa"] = "ccpa";
298
+ REGULATORYFRAMEWORK2["LocalBanking"] = "local_banking";
299
+ return REGULATORYFRAMEWORK2;
300
+ })(REGULATORYFRAMEWORK || {});
301
+ var LOADBALANCINGSTRATEGY = /* @__PURE__ */ ((LOADBALANCINGSTRATEGY2) => {
302
+ LOADBALANCINGSTRATEGY2["RoundRobin"] = "round_robin";
303
+ LOADBALANCINGSTRATEGY2["Weighted"] = "weighted";
304
+ LOADBALANCINGSTRATEGY2["LeastConnections"] = "least_connections";
305
+ LOADBALANCINGSTRATEGY2["PerformanceBased"] = "performance_based";
306
+ LOADBALANCINGSTRATEGY2["Custom"] = "custom";
307
+ return LOADBALANCINGSTRATEGY2;
308
+ })(LOADBALANCINGSTRATEGY || {});
309
+ var PERFORMANCEMETRICTYPE = /* @__PURE__ */ ((PERFORMANCEMETRICTYPE2) => {
310
+ PERFORMANCEMETRICTYPE2["Latency"] = "latency";
311
+ PERFORMANCEMETRICTYPE2["SuccessRate"] = "success_rate";
312
+ PERFORMANCEMETRICTYPE2["ErrorRate"] = "error_rate";
313
+ PERFORMANCEMETRICTYPE2["Throughput"] = "throughput";
314
+ PERFORMANCEMETRICTYPE2["Retries"] = "retries";
315
+ PERFORMANCEMETRICTYPE2["Availability"] = "availability";
316
+ PERFORMANCEMETRICTYPE2["Cost"] = "cost";
317
+ return PERFORMANCEMETRICTYPE2;
318
+ })(PERFORMANCEMETRICTYPE || {});
319
+ var ROUTINGSTRATEGY = /* @__PURE__ */ ((ROUTINGSTRATEGY2) => {
320
+ ROUTINGSTRATEGY2["CostOptimized"] = "cost_optimized";
321
+ ROUTINGSTRATEGY2["ReliabilityFirst"] = "reliability_first";
322
+ ROUTINGSTRATEGY2["PerformanceFirst"] = "performance_first";
323
+ ROUTINGSTRATEGY2["Balanced"] = "balanced";
324
+ ROUTINGSTRATEGY2["UserPreference"] = "user_preference";
325
+ ROUTINGSTRATEGY2["RoundRobin"] = "round_robin";
326
+ ROUTINGSTRATEGY2["Custom"] = "custom";
327
+ return ROUTINGSTRATEGY2;
328
+ })(ROUTINGSTRATEGY || {});
329
+
330
+ export { COSTOPTIMIZATIONSTRATEGY, CURRENCY, EVENTPROCESSINGSTATUS, FAILOVERSTRATEGY, LOADBALANCINGSTRATEGY, PAYMENTERRORCATEGORY, PAYMENTEVENTCATEGORY, PAYMENTEVENTTYPE, PAYMENTMETHOD, PAYMENTPROVIDERTYPE, PAYMENTSTATUS, PERFORMANCEMETRICTYPE, PRODUCTTYPE, REGULATORYFRAMEWORK, REQUIREDACTIONTYPE, ROUTINGSTRATEGY, TRANSACTIONTYPE, USERTYPE };
331
+ //# sourceMappingURL=index.js.map
332
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/payments/currency/index.ts","../../src/payments/events/enums.ts","../../src/payments/events/unified-event/enums.ts","../../src/payments/provider/provider-capability/enums.ts","../../src/payments/request/enums.ts","../../src/payments/gateways/routings/enums.ts"],"names":["CURRENCY","PAYMENTEVENTTYPE","PAYMENTEVENTCATEGORY","PAYMENTERRORCATEGORY","EVENTPROCESSINGSTATUS","PAYMENTPROVIDERTYPE","PAYMENTMETHOD","PAYMENTSTATUS","TRANSACTIONTYPE","USERTYPE","PRODUCTTYPE","REQUIREDACTIONTYPE","COSTOPTIMIZATIONSTRATEGY","FAILOVERSTRATEGY","REGULATORYFRAMEWORK","LOADBALANCINGSTRATEGY","PERFORMANCEMETRICTYPE","ROUTINGSTRATEGY"],"mappings":"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","file":"index.js","sourcesContent":["export enum CURRENCY {\n USD = 'USD', // US Dollar\n EUR = 'EUR', // Euro\n GBP = 'GBP', // British Pound\n PKR = 'PKR', // Pakistani Rupee\n INR = 'INR', // Indian Rupee\n AUD = 'AUD', // Australian Dollar\n CAD = 'CAD', // Canadian Dollar\n NGN = 'NGN', // Nigerian Naira\n KES = 'KES', // Kenyan Shilling\n ZAR = 'ZAR', // South African Rand\n AED = 'AED', // UAE Dirham\n SAR = 'SAR', // Saudi Riyal\n JPY = 'JPY', // Japanese Yen\n CNY = 'CNY', // Chinese Yuan\n TRY = 'TRY', // Turkish Lira\n BRL = 'BRL', // Brazilian Real\n MXN = 'MXN', // Mexican Peso\n CHF = 'CHF', // Swiss Franc\n SGD = 'SGD', // Singapore Dollar\n HKD = 'HKD', // Hong Kong Dollar\n MYR = 'MYR', // Malaysian Ringgit\n THB = 'THB', // Thai Baht\n PHP = 'PHP', // Philippine Peso\n IDR = 'IDR', // Indonesian Rupiah\n SEK = 'SEK', // Swedish Krona\n NOK = 'NOK', // Norwegian Krone\n DKK = 'DKK', // Danish Krone\n PLN = 'PLN', // Polish Zloty\n CZK = 'CZK', // Czech Koruna\n HUF = 'HUF', // Hungarian Forint\n RUB = 'RUB', // Russian Ruble\n KRW = 'KRW', // South Korean Won\n VND = 'VND', // Vietnamese Dong\n EGP = 'EGP', // Egyptian Pound\n ILS = 'ILS', // Israeli Shekel\n}\n","/**\n * Comprehensive enumeration of all payment-related events that can occur\n * in the system. Events are organized by category and follow a hierarchical\n * naming convention for easy filtering and subscription.\n *\n * Naming Convention:\n * - Category.Action (e.g., payment.completed)\n * - Use present tense for ongoing events, past tense for completed events\n * - Include both success and failure events for complete audit trails\n */\nexport enum PAYMENTEVENTTYPE {\n // Payment lifecycle events\n PaymentInitiated = 'payment.initiated',\n PaymentProcessing = 'payment.processing',\n PaymentRequiresAction = 'payment.requires_action',\n PaymentCompleted = 'payment.completed',\n PaymentFailed = 'payment.failed',\n PaymentCancelled = 'payment.cancelled',\n PaymentExpired = 'payment.expired',\n PaymentAuthorized = 'payment.authorized',\n PaymentCaptured = 'payment.captured',\n PaymentHeld = 'payment.held',\n PaymentReleased = 'payment.released',\n\n // Refund lifecycle events\n RefundRequested = 'refund.requested',\n RefundApproved = 'refund.approved',\n RefundRejected = 'refund.rejected',\n RefundProcessing = 'refund.processing',\n RefundCompleted = 'refund.completed',\n RefundFailed = 'refund.failed',\n RefundCancelled = 'refund.cancelled',\n\n // Provider interaction events\n ProviderWebhookReceived = 'provider.webhook.received',\n ProviderWebhookProcessed = 'provider.webhook.processed',\n ProviderWebhookFailed = 'provider.webhook.failed',\n ProviderApiCalled = 'provider.api.called',\n ProviderApiSucceeded = 'provider.api.succeeded',\n ProviderApiFailed = 'provider.api.failed',\n ProviderTimeout = 'provider.timeout',\n ProviderHealthChanged = 'provider.health.changed',\n\n // Financial events\n SettlementInitiated = 'settlement.initiated',\n SettlementCompleted = 'settlement.completed',\n SettlementFailed = 'settlement.failed',\n PayoutRequested = 'payout.requested',\n PayoutProcessed = 'payout.processed',\n PayoutFailed = 'payout.failed',\n\n // Dispute and chargeback events\n ChargebackReceived = 'chargeback.received',\n ChargebackResponded = 'chargeback.responded',\n ChargebackWon = 'chargeback.won',\n ChargebackLost = 'chargeback.lost',\n DisputeCreated = 'dispute.created',\n DisputeUpdated = 'dispute.updated',\n DisputeResolved = 'dispute.resolved',\n DisputeEscalated = 'dispute.escalated',\n\n // Security and fraud events\n FraudDetected = 'fraud.detected',\n FraudReviewRequired = 'fraud.review_required',\n FraudCleared = 'fraud.cleared',\n SuspiciousActivity = 'suspicious.activity',\n PaymentBlocked = 'payment.blocked',\n SecurityCheckFailed = 'security.check_failed',\n VelocityLimitExceeded = 'velocity.limit_exceeded',\n\n // Payment method events\n PaymentMethodAdded = 'payment_method.added',\n PaymentMethodUpdated = 'payment_method.updated',\n PaymentMethodDeleted = 'payment_method.deleted',\n PaymentMethodVerified = 'payment_method.verified',\n PaymentMethodExpired = 'payment_method.expired',\n\n // Subscription events\n SubscriptionCreated = 'subscription.created',\n SubscriptionUpdated = 'subscription.updated',\n SubscriptionCancelled = 'subscription.cancelled',\n SubscriptionRenewed = 'subscription.renewed',\n SubscriptionFailed = 'subscription.failed',\n SubscriptionTrialStarted = 'subscription.trial_started',\n SubscriptionTrialEnded = 'subscription.trial_ended',\n\n // System and operational events\n PaymentLimitsUpdated = 'payment_limits.updated',\n PaymentLimitsExceeded = 'payment_limits.exceeded',\n ProviderConfigUpdated = 'provider.config_updated',\n ProviderMaintenanceStarted = 'provider.maintenance_started',\n ProviderMaintenanceEnded = 'provider.maintenance_ended',\n\n // Compliance and audit events\n ComplianceCheckRequired = 'compliance.check_required',\n ComplianceCheckPassed = 'compliance.check_passed',\n ComplianceCheckFailed = 'compliance.check_failed',\n AuditTrailCreated = 'audit.trail_created',\n RegulatoryReportGenerated = 'regulatory.report_generated',\n}\n\n/**\n * Payment event categories for organization and routing.\n */\nexport enum PAYMENTEVENTCATEGORY {\n TRANSACTION = 'transaction',\n REFUND = 'refund',\n PROVIDER = 'provider',\n SECURITY = 'security',\n COMPLIANCE = 'compliance',\n FINANCIAL = 'financial',\n SUBSCRIPTION = 'subscription',\n SYSTEM = 'system',\n AUDIT = 'audit',\n}\n\n/**\n * Error categories for payment events.\n */\nexport enum PAYMENTERRORCATEGORY {\n UserError = 'user_error', // User input or action errors\n ProviderError = 'provider_error', // Payment provider errors\n SystemError = 'system_error', // Internal system errors\n NetworkError = 'network_error', // Network connectivity errors\n FraudError = 'fraud_error', // Fraud detection errors\n ComplianceError = 'compliance_error', // Regulatory compliance errors\n LimitError = 'limit_error', // Limit exceeded errors\n ConfigurationError = 'configuration_error', // Configuration errors\n TimeoutError = 'timeout_error', // Timeout errors\n ValidationError = 'validation_error', // Data validation errors\n}\n","/**\n * Event processing status enumeration.\n */\nexport enum EVENTPROCESSINGSTATUS {\n Received = 'received', // Event received from provider\n Validating = 'validating', // Signature and format validation\n Normalizing = 'normalizing', // Converting to unified format\n Normalized = 'normalized', // Successfully normalized\n Processing = 'processing', // Business logic processing\n Completed = 'completed', // Processing completed successfully\n Failed = 'failed', // Processing failed\n Retrying = 'retrying', // Retrying after failure\n Skipped = 'skipped' // Skipped due to filters/rules\n}\n\n","/**\n * Enumeration of all supported payment providers in the Plyaz ecosystem.\n */\nexport enum PAYMENTPROVIDERTYPE {\n // Traditional payment processors\n Stripe = 'stripe',\n Paypal = 'paypal',\n CheckoutCom = 'checkout_com',\n Adyen = 'adyen',\n\n // Cryptocurrency payment providers\n Moonpay = 'moonpay',\n CoinbaseCommerce = 'coinbase_commerce',\n BlockchainBridge = 'blockchain_bridge',\n\n // Regional payment providers\n Pix = 'pix',\n Boleto = 'boleto',\n Sepa = 'sepa',\n Ideal = 'ideal',\n Sofort = 'sofort',\n Alipay = 'alipay',\n WechatPay = 'wechat_pay',\n\n // Mock provider for testing\n MockProvider = 'mock_provider'\n}\n\n/**\n * Enumeration of payment methods supported across all providers.\n */\nexport enum PAYMENTMETHOD {\n // Traditional payment methods\n CreditCard = 'credit_card',\n DebitCard = 'debit_card',\n BankTransfer = 'bank_transfer',\n PaypalAccount = 'paypal_account',\n\n // Cryptocurrency payment methods\n CryptoBitcoin = 'crypto_bitcoin',\n CryptoEthereum = 'crypto_ethereum',\n CryptoPolygon = 'crypto_polygon',\n CryptoOptimism = 'crypto_optimism',\n CryptoUsdc = 'crypto_usdc',\n CryptoUsdt = 'crypto_usdt',\n CryptoNativeToken = 'crypto_native_token',\n\n // Regional payment methods\n PixInstant = 'pix_instant',\n BoletoBancario = 'boleto_bancario',\n SepaDirectDebit = 'sepa_direct_debit',\n IdealBank = 'ideal_bank',\n SofortBanking = 'sofort_banking',\n AlipayDigital = 'alipay_digital',\n WechatPayDigital = 'wechat_pay_digital',\n\n // Digital wallets\n ApplePay = 'apple_pay',\n GooglePay = 'google_pay',\n SamsungPay = 'samsung_pay'\n}\n\n/**\n * Comprehensive payment status enumeration.\n */\nexport enum PAYMENTSTATUS {\n // Initial states\n Initiated = 'initiated',\n Pending = 'pending',\n Processing = 'processing',\n\n // Action required states\n RequiresAction = 'requires_action',\n RequiresConfirmation = 'requires_confirmation',\n RequiresPaymentMethod = 'requires_payment_method',\n\n // Success states\n Completed = 'completed',\n Settled = 'settled',\n\n // Failure states\n Failed = 'failed',\n Declined = 'declined',\n Cancelled = 'cancelled',\n Expired = 'expired',\n\n // Refund states\n Refunded = 'refunded',\n PartiallyRefunded = 'partially_refunded',\n\n // Dispute states\n Disputed = 'disputed',\n Chargeback = 'chargeback',\n ChargebackResolved = 'chargeback_resolved',\n\n // Special states\n Held = 'held',\n Authorized = 'authorized',\n Captured = 'captured'\n}\n\n/**\n * Transaction type enumeration.\n */\nexport enum TRANSACTIONTYPE {\n Payment = 'payment',\n Refund = 'refund',\n PartialRefund = 'partial_refund',\n Withdrawal = 'withdrawal',\n Donation = 'donation',\n Subscription = 'subscription',\n SubscriptionRenewal = 'subscription_renewal',\n Fee = 'fee',\n Chargeback = 'chargeback',\n Adjustment = 'adjustment',\n Reward = 'reward',\n Penalty = 'penalty',\n Transfer = 'transfer'\n}\n\n/**\n * User type enumeration.\n */\nexport enum USERTYPE {\n Fan = 'fan',\n Athlete = 'athlete',\n Club = 'club',\n Agent = 'agent',\n Scout = 'scout',\n Admin = 'admin',\n System = 'system'\n}\n\n/**\n * Product type enumeration.\n */\nexport enum PRODUCTTYPE {\n Campaign = 'campaign',\n Subscription = 'subscription',\n Nft = 'nft',\n Merchandise = 'merchandise',\n EventTicket = 'event_ticket',\n PremiumContent = 'premium_content',\n TrainingSession = 'training_session',\n Consultation = 'consultation',\n DigitalProduct = 'digital_product',\n PhysicalProduct = 'physical_product'\n}\n","/**\n * Enumeration of action types that users might need to complete.\n */\nexport enum REQUIREDACTIONTYPE {\n /** Redirect to external page (3D Secure, bank auth, etc.) */\n Redirect = 'redirect',\n\n /** Enter SMS or email verification code */\n OtpVerification = 'otp_verification',\n\n /** Upload identity or financial documents */\n DocumentUpload = 'document_upload',\n\n /** Provide additional payment information */\n AdditionalPaymentInfo = 'additional_payment_info',\n\n /** Confirm payment via mobile app or email */\n PaymentConfirmation = 'payment_confirmation',\n\n /** Contact customer support for manual verification */\n ManualVerification = 'manual_verification',\n\n /** Wait for bank transfer or other delayed method */\n WaitForCompletion = 'wait_for_completion',\n}\n","/**\n * Cost optimization strategies.\n */\nexport enum COSTOPTIMIZATIONSTRATEGY {\n /** Always use cheapest option */\n Aggressive = 'aggressive',\n\n /** Balance cost with reliability */\n Balanced = 'balanced',\n\n /** Prefer reliability over cost */\n Conservative = 'conservative',\n\n /** Optimize for specific cost components */\n Targeted = 'targeted'\n}\n\n/**\n * Failover strategies.\n */\nexport enum FAILOVERSTRATEGY {\n /** Use predefined provider order */\n PriorityOrder = 'priority_order',\n\n /** Failover to next available provider */\n NextAvailable = 'next_available',\n\n /** Failover based on performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Failover to least loaded provider */\n LoadBalanced = 'load_balanced',\n\n /** Geographic failover preference */\n Geographic = 'geographic'\n}\n\n/**\n * Regulatory frameworks.\n */\nexport enum REGULATORYFRAMEWORK {\n PciDss = 'pci_dss',\n Gdpr = 'gdpr',\n Psd2 = 'psd2',\n Sox = 'sox',\n Aml = 'aml',\n Kyc = 'kyc',\n Ccpa = 'ccpa',\n LocalBanking = 'local_banking'\n}\n\n/**\n * Load balancing strategies.\n */\nexport enum LOADBALANCINGSTRATEGY {\n /** Rotate through providers evenly */\n RoundRobin = 'round_robin',\n\n /** Use weighted distribution */\n Weighted = 'weighted',\n\n /** Choose provider with least active traffic */\n LeastConnections = 'least_connections',\n\n /** Choose based on best performance metrics */\n PerformanceBased = 'performance_based',\n\n /** Custom strategy defined by merchant */\n Custom = 'custom'\n}\n\n/**\n * Types of performance metrics.\n */\nexport enum PERFORMANCEMETRICTYPE {\n Latency = 'latency',\n SuccessRate = 'success_rate',\n ErrorRate = 'error_rate',\n Throughput = 'throughput',\n Retries = 'retries',\n Availability = 'availability',\n Cost = 'cost'\n}\n\n/**\n * Primary routing strategies.\n */\nexport enum ROUTINGSTRATEGY {\n /** Optimize for lowest total cost */\n CostOptimized = 'cost_optimized',\n\n /** Optimize for highest reliability */\n ReliabilityFirst = 'reliability_first',\n\n /** Optimize for fastest processing */\n PerformanceFirst = 'performance_first',\n\n /** Balance cost, reliability, and performance */\n Balanced = 'balanced',\n\n /** Use user or region preferences */\n UserPreference = 'user_preference',\n\n /** Distribute load evenly */\n RoundRobin = 'round_robin',\n\n /** Custom routing logic */\n Custom = 'custom'\n}\n\n"]}
@@ -0,0 +1 @@
1
+ export type * from './types';
@@ -0,0 +1,208 @@
1
+ import type { ProviderHealthStatus } from '../../../features';
2
+ import type { CURRENCY } from '../../currency';
3
+ import type { PaymentResult } from '../../request';
4
+ import type { FeeBreakdown, Money } from '../../transaction';
5
+ import type { AdapterConfiguration, CreateCustomerParams, CreatePaymentParams, CreateSubscriptionParams, CustomerResult, FeeCalculationOptions, FeeStructure, PaymentProviderConfig, PaymentStatusResult, PayoutParams, PayoutResult, RefundParams, RefundResult, SavedPaymentMethod, SavedPaymentMethodResult, SavePaymentMethodParams, SubscriptionResult, TransactionDetails, TransactionHistory, TransactionHistoryParams, WebhookPayload, WebhookResult } from '../core';
6
+ import type { ProviderCapabilities, ProviderConfiguration } from '../payment-provider';
7
+ import type { PAYMENTMETHOD, PAYMENTPROVIDERTYPE } from '../provider-capability';
8
+ /**
9
+ * Core interface that all payment providers must implement.
10
+ * This interface ensures consistent behavior across all providers
11
+ * while allowing for provider-specific capabilities and optimizations.
12
+ *
13
+ * Implementation Requirements:
14
+ * - All methods must be implemented (use NotImplementedError for unsupported features)
15
+ * - All operations must be idempotent where possible
16
+ * - All sensitive data must be handled according to PCI compliance
17
+ * - All errors must be properly typed and include provider context
18
+ */
19
+ export interface PaymentAdapter {
20
+ /** Unique identifier for this payment provider */
21
+ readonly name: PAYMENTPROVIDERTYPE;
22
+ /** Provider API version in use */
23
+ readonly apiVersion: string;
24
+ /** Payment methods supported by this provider */
25
+ readonly supportedMethods: PAYMENTMETHOD[];
26
+ /** Currencies supported by this provider */
27
+ readonly supportedCurrencies: CURRENCY[];
28
+ /** Detailed capabilities of this provider */
29
+ readonly capabilities: ProviderCapabilities;
30
+ /** Provider configuration and metadata */
31
+ readonly config: ProviderConfiguration;
32
+ /**
33
+ * Initialize the provider with configuration and validate connectivity.
34
+ * This method should:
35
+ * - Validate all required configuration parameters
36
+ * - Test connectivity to provider APIs
37
+ * - Set up webhook endpoints if required
38
+ * - Initialize any required provider SDKs
39
+ *
40
+ * @param config - Provider-specific configuration
41
+ * @throws ProviderConfigurationError if configuration is invalid
42
+ * @throws ProviderConnectionError if unable to connect to provider
43
+ */
44
+ initialize(config: PaymentProviderConfig): Promise<void>;
45
+ /**
46
+ * Shutdown the provider and clean up resources.
47
+ * This method should:
48
+ * - Close any open connections
49
+ * - Cancel any pending operations
50
+ * - Clean up temporary resources
51
+ */
52
+ shutdown(): Promise<void>;
53
+ /**
54
+ * Check if adapter is initialized and ready to process payments
55
+ */
56
+ isReady(): Promise<boolean>;
57
+ /**
58
+ * Create a new payment transaction.
59
+ * This method should:
60
+ * - Validate payment parameters
61
+ * - Create transaction with provider
62
+ * - Return payment result with next steps
63
+ * - Handle provider-specific error cases
64
+ *
65
+ * @param params - Payment creation parameters
66
+ * @returns Payment result with status and next steps
67
+ * @throws PaymentValidationError for invalid parameters
68
+ * @throws PaymentProcessingError for provider errors
69
+ */
70
+ createPayment(params: CreatePaymentParams): Promise<PaymentResult>;
71
+ /**
72
+ * Capture a previously authorized payment (if supported)
73
+ * Used in two-step payment flows
74
+ */
75
+ capturePayment(transactionId: string, amount?: Money): Promise<PaymentResult>;
76
+ /**
77
+ * Cancel a pending or authorized payment
78
+ */
79
+ cancelPayment(transactionId: string, reason?: string): Promise<void>;
80
+ /**
81
+ * Process a refund for an existing transaction.
82
+ * This method should:
83
+ * - Validate refund parameters and permissions
84
+ * - Check if refund is possible for this transaction
85
+ * - Process refund with provider
86
+ * - Return refund result with status
87
+ *
88
+ * @param params - Refund processing parameters
89
+ * @returns Refund result with status and details
90
+ * @throws RefundValidationError for invalid refund requests
91
+ * @throws RefundProcessingError for provider errors
92
+ */
93
+ processRefund(params: RefundParams): Promise<RefundResult>;
94
+ /**
95
+ * Get current status of a refund
96
+ */
97
+ getRefundStatus(refundId: string): Promise<RefundResult>;
98
+ /**
99
+ * Get current status of a payment transaction.
100
+ * This method should:
101
+ * - Query provider for current transaction status
102
+ * - Normalize provider status to our standard statuses
103
+ * - Include any relevant status details
104
+ *
105
+ * @param transactionId - Provider's transaction identifier
106
+ * @returns Current normalized payment status
107
+ * @throws TransactionNotFoundError if transaction doesn't exist
108
+ */
109
+ getPaymentStatus(transactionId: string): Promise<PaymentStatusResult>;
110
+ /**
111
+ * Get complete transaction details
112
+ */
113
+ getTransaction(transactionId: string): Promise<TransactionDetails>;
114
+ /**
115
+ * Process incoming webhook from provider.
116
+ * This method should:
117
+ * - Verify webhook signature for security
118
+ * - Parse and validate webhook payload
119
+ * - Normalize webhook data to our event format
120
+ * - Return processing result
121
+ *
122
+ * @param payload - Raw webhook payload from provider
123
+ * @returns Webhook processing result
124
+ * @throws WebhookVerificationError for invalid signatures
125
+ * @throws WebhookProcessingError for processing failures
126
+ */
127
+ processWebhook(payload: WebhookPayload): Promise<WebhookResult>;
128
+ /**
129
+ * Verify webhook signature for security.
130
+ * This method should:
131
+ * - Validate webhook signature using provider's method
132
+ * - Return true if signature is valid, false otherwise
133
+ * - Handle different signature algorithms
134
+ *
135
+ * @param payload - Raw webhook body
136
+ * @param signature - Webhook signature header
137
+ * @param secret - Webhook secret for verification
138
+ * @returns True if signature is valid
139
+ */
140
+ verifyWebhookSignature(payload: string, signature: string, secret?: string): boolean;
141
+ /**
142
+ * Calculate fees for a potential transaction.
143
+ * This method should:
144
+ * - Calculate all applicable fees for the transaction
145
+ * - Include provider fees, platform fees, and additional charges
146
+ * - Consider user location, currency, and payment method
147
+ *
148
+ * @param amount - Transaction amount
149
+ * @param method - Payment method to be used
150
+ * @param options - Additional calculation options
151
+ * @returns Detailed fee breakdown
152
+ */
153
+ calculateFees(amount: Money, method: PAYMENTMETHOD, options?: FeeCalculationOptions): Promise<FeeBreakdown>;
154
+ /**
155
+ * Get fee structure for a payment method
156
+ */
157
+ getFeeStructure(method: PAYMENTMETHOD): Promise<FeeStructure>;
158
+ /**
159
+ * Check provider health and availability.
160
+ * This method should:
161
+ * - Test connectivity to provider APIs
162
+ * - Check service status and response times
163
+ * - Return detailed health information
164
+ *
165
+ * @returns Provider health status and metrics
166
+ */
167
+ healthCheck(): Promise<ProviderHealthStatus>;
168
+ /**
169
+ * Get sanitized adapter configuration
170
+ */
171
+ getConfiguration(): AdapterConfiguration;
172
+ /**
173
+ * Create a customer profile with the provider (optional).
174
+ * Only implement if provider supports customer management.
175
+ */
176
+ createCustomer?(params: CreateCustomerParams): Promise<CustomerResult>;
177
+ /**
178
+ * Save a payment method for future use (optional).
179
+ * Only implement if provider supports saved payment methods.
180
+ */
181
+ savePaymentMethod?(params: SavePaymentMethodParams): Promise<SavedPaymentMethodResult>;
182
+ /**
183
+ * Delete a saved payment method (optional).
184
+ * Only implement if provider supports payment method management.
185
+ */
186
+ deletePaymentMethod?(paymentMethodId: string): Promise<void>;
187
+ /**
188
+ * Get user's saved payment methods (optional)
189
+ */
190
+ getUserPaymentMethods?(userId: string): Promise<SavedPaymentMethod[]>;
191
+ /**
192
+ * Create subscription for recurring payments (optional)
193
+ */
194
+ createSubscription?(params: CreateSubscriptionParams): Promise<SubscriptionResult>;
195
+ /**
196
+ * Cancel active subscription (optional)
197
+ */
198
+ cancelSubscription?(subscriptionId: string, immediately?: boolean): Promise<void>;
199
+ /**
200
+ * Process payout to recipient (optional)
201
+ */
202
+ processPayout?(params: PayoutParams): Promise<PayoutResult>;
203
+ /**
204
+ * Get transaction history from provider (optional).
205
+ * Only implement if provider supports historical transaction queries.
206
+ */
207
+ getTransactionHistory?(params: TransactionHistoryParams): Promise<TransactionHistory>;
208
+ }
@@ -0,0 +1 @@
1
+ export type * from './types';