@plumbus/payments-stripe 0.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +60 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/catalog.d.ts +14 -0
  5. package/dist/catalog.d.ts.map +1 -0
  6. package/dist/catalog.js +286 -0
  7. package/dist/catalog.js.map +1 -0
  8. package/dist/charges.d.ts +64 -0
  9. package/dist/charges.d.ts.map +1 -0
  10. package/dist/charges.js +339 -0
  11. package/dist/charges.js.map +1 -0
  12. package/dist/config-rules.d.ts +7 -0
  13. package/dist/config-rules.d.ts.map +1 -0
  14. package/dist/config-rules.js +87 -0
  15. package/dist/config-rules.js.map +1 -0
  16. package/dist/diagnose.d.ts +17 -0
  17. package/dist/diagnose.d.ts.map +1 -0
  18. package/dist/diagnose.js +237 -0
  19. package/dist/diagnose.js.map +1 -0
  20. package/dist/errors.d.ts +4 -0
  21. package/dist/errors.d.ts.map +1 -0
  22. package/dist/errors.js +45 -0
  23. package/dist/errors.js.map +1 -0
  24. package/dist/events.d.ts +38 -0
  25. package/dist/events.d.ts.map +1 -0
  26. package/dist/events.js +167 -0
  27. package/dist/events.js.map +1 -0
  28. package/dist/index.d.ts +7 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +10 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/mapping.d.ts +328 -0
  33. package/dist/mapping.d.ts.map +1 -0
  34. package/dist/mapping.js +437 -0
  35. package/dist/mapping.js.map +1 -0
  36. package/dist/provider.d.ts +33 -0
  37. package/dist/provider.d.ts.map +1 -0
  38. package/dist/provider.js +634 -0
  39. package/dist/provider.js.map +1 -0
  40. package/dist/resolve.d.ts +10 -0
  41. package/dist/resolve.d.ts.map +1 -0
  42. package/dist/resolve.js +171 -0
  43. package/dist/resolve.js.map +1 -0
  44. package/dist/secrets.d.ts +7 -0
  45. package/dist/secrets.d.ts.map +1 -0
  46. package/dist/secrets.js +33 -0
  47. package/dist/secrets.js.map +1 -0
  48. package/dist/testing/index.d.ts +54 -0
  49. package/dist/testing/index.d.ts.map +1 -0
  50. package/dist/testing/index.js +119 -0
  51. package/dist/testing/index.js.map +1 -0
  52. package/instructions/README.md +14 -0
  53. package/instructions/configure-stripe.md +69 -0
  54. package/instructions/framework.md +62 -0
  55. package/instructions/testing.md +41 -0
  56. package/instructions/webhooks.md +44 -0
  57. package/package.json +66 -0
@@ -0,0 +1,328 @@
1
+ import type { DisputeStatus, PayoutSchedule, ProviderCharge, ProviderDispute, ProviderInvoice, ProviderMerchantAccount, ProviderPaymentMethod, ProviderPayout, ProviderRefund, ProviderSubscription, ProviderTransfer, Responsibility } from '@plumbus/payments';
2
+ type Ref<T> = string | T | null | undefined;
3
+ interface CapabilityStatusLike {
4
+ status?: string;
5
+ status_details?: Array<{
6
+ code?: string;
7
+ }>;
8
+ }
9
+ export interface StripeAccountLike {
10
+ id: string;
11
+ closed?: boolean;
12
+ dashboard?: string | null;
13
+ livemode: boolean;
14
+ applied_configurations?: string[] | null;
15
+ identity?: {
16
+ country?: string | null;
17
+ } | null;
18
+ defaults?: {
19
+ currency?: string | null;
20
+ responsibilities?: {
21
+ fees_collector?: string | null;
22
+ losses_collector?: string | null;
23
+ } | null;
24
+ } | null;
25
+ configuration?: {
26
+ merchant?: {
27
+ capabilities?: {
28
+ card_payments?: CapabilityStatusLike | null;
29
+ stripe_balance?: {
30
+ payouts?: CapabilityStatusLike | null;
31
+ } | null;
32
+ } | null;
33
+ } | null;
34
+ recipient?: {
35
+ capabilities?: {
36
+ stripe_balance?: {
37
+ payouts?: CapabilityStatusLike | null;
38
+ stripe_transfers?: CapabilityStatusLike | null;
39
+ } | null;
40
+ } | null;
41
+ } | null;
42
+ } | null;
43
+ requirements?: {
44
+ entries?: Array<{
45
+ description?: string;
46
+ awaiting_action_from?: string;
47
+ minimum_deadline?: {
48
+ status?: string;
49
+ } | null;
50
+ }> | null;
51
+ } | null;
52
+ }
53
+ export interface StripePaymentMethodLike {
54
+ id: string;
55
+ type: string;
56
+ customer?: Ref<{
57
+ id: string;
58
+ }>;
59
+ card?: {
60
+ brand?: string | null;
61
+ last4?: string | null;
62
+ exp_month?: number;
63
+ exp_year?: number;
64
+ };
65
+ sepa_debit?: {
66
+ last4?: string | null;
67
+ } | null;
68
+ us_bank_account?: {
69
+ last4?: string | null;
70
+ bank_name?: string | null;
71
+ } | null;
72
+ }
73
+ export interface StripeChargeObjectLike {
74
+ id: string;
75
+ amount_refunded?: number;
76
+ created?: number;
77
+ payment_method_details?: {
78
+ card?: {
79
+ capture_before?: number | null;
80
+ } | null;
81
+ } | null;
82
+ }
83
+ export interface StripePaymentIntentLike {
84
+ id: string;
85
+ status?: string;
86
+ amount?: number;
87
+ amount_received?: number;
88
+ amount_capturable?: number;
89
+ currency?: string;
90
+ livemode?: boolean;
91
+ application_fee_amount?: number | null;
92
+ setup_future_usage?: string | null;
93
+ receipt_email?: string | null;
94
+ customer?: Ref<{
95
+ id: string;
96
+ }>;
97
+ metadata?: Record<string, string> | null;
98
+ latest_charge?: Ref<StripeChargeObjectLike>;
99
+ payment_method?: Ref<StripePaymentMethodLike>;
100
+ last_payment_error?: {
101
+ code?: string | null;
102
+ decline_code?: string | null;
103
+ } | null;
104
+ }
105
+ export interface StripeSessionLike {
106
+ id: string;
107
+ mode?: string | null;
108
+ status?: string | null;
109
+ payment_status?: string | null;
110
+ url?: string | null;
111
+ client_secret?: string | null;
112
+ expires_at?: number | null;
113
+ amount_subtotal?: number | null;
114
+ amount_total?: number | null;
115
+ total_details?: {
116
+ amount_discount?: number;
117
+ amount_tax?: number;
118
+ } | null;
119
+ currency?: string | null;
120
+ livemode: boolean;
121
+ client_reference_id?: string | null;
122
+ metadata?: Record<string, string> | null;
123
+ customer?: Ref<{
124
+ id: string;
125
+ }>;
126
+ customer_email?: string | null;
127
+ customer_details?: {
128
+ email?: string | null;
129
+ } | null;
130
+ payment_intent?: Ref<StripePaymentIntentLike>;
131
+ payment_link?: Ref<{
132
+ id: string;
133
+ }>;
134
+ subscription?: Ref<{
135
+ id: string;
136
+ }>;
137
+ setup_intent?: Ref<{
138
+ id: string;
139
+ payment_method?: Ref<StripePaymentMethodLike>;
140
+ }>;
141
+ }
142
+ export interface StripeRefundLike {
143
+ id: string;
144
+ amount: number;
145
+ currency: string;
146
+ status?: string | null;
147
+ reason?: string | null;
148
+ failure_reason?: string | null;
149
+ metadata?: Record<string, string> | null;
150
+ payment_intent?: Ref<{
151
+ id: string;
152
+ }>;
153
+ charge?: Ref<{
154
+ id: string;
155
+ }>;
156
+ }
157
+ export interface StripeDisputeLike {
158
+ id: string;
159
+ amount: number;
160
+ currency: string;
161
+ status: string;
162
+ reason?: string | null;
163
+ payment_intent?: Ref<{
164
+ id: string;
165
+ }>;
166
+ evidence_details?: {
167
+ due_by?: number | null;
168
+ submission_count?: number | null;
169
+ } | null;
170
+ }
171
+ export interface StripePriceLike {
172
+ id: string;
173
+ active?: boolean;
174
+ currency: string;
175
+ lookup_key?: string | null;
176
+ unit_amount?: number | null;
177
+ unit_amount_decimal?: string | null;
178
+ product?: Ref<{
179
+ id: string;
180
+ name?: string;
181
+ deleted?: boolean;
182
+ }>;
183
+ recurring?: {
184
+ interval: string;
185
+ interval_count?: number;
186
+ usage_type?: string;
187
+ meter?: string | null;
188
+ } | null;
189
+ }
190
+ export interface StripeSubscriptionLike {
191
+ id: string;
192
+ status: string;
193
+ currency: string;
194
+ livemode: boolean;
195
+ customer: Ref<{
196
+ id: string;
197
+ }>;
198
+ metadata?: Record<string, string> | null;
199
+ cancel_at_period_end?: boolean;
200
+ canceled_at?: number | null;
201
+ ended_at?: number | null;
202
+ trial_end?: number | null;
203
+ latest_invoice?: Ref<{
204
+ id: string;
205
+ }>;
206
+ application_fee_percent?: number | null;
207
+ items: {
208
+ data: Array<{
209
+ id: string;
210
+ quantity?: number | null;
211
+ current_period_end?: number | null;
212
+ price: StripePriceLike;
213
+ }>;
214
+ };
215
+ }
216
+ export interface StripeInvoiceLike {
217
+ id: string;
218
+ status?: string | null;
219
+ currency: string;
220
+ livemode: boolean;
221
+ metadata?: Record<string, string> | null;
222
+ customer?: Ref<{
223
+ id: string;
224
+ }>;
225
+ customer_email?: string | null;
226
+ subtotal?: number;
227
+ total?: number;
228
+ amount_due?: number;
229
+ amount_paid?: number;
230
+ amount_remaining?: number;
231
+ application_fee_amount?: number | null;
232
+ total_discount_amounts?: Array<{
233
+ amount: number;
234
+ }> | null;
235
+ total_taxes?: Array<{
236
+ amount: number;
237
+ }> | null;
238
+ hosted_invoice_url?: string | null;
239
+ invoice_pdf?: string | null;
240
+ number?: string | null;
241
+ due_date?: number | null;
242
+ period_start?: number | null;
243
+ period_end?: number | null;
244
+ billing_reason?: string | null;
245
+ attempt_count?: number;
246
+ status_transitions?: {
247
+ paid_at?: number | null;
248
+ } | null;
249
+ parent?: {
250
+ subscription_details?: {
251
+ subscription?: Ref<{
252
+ id: string;
253
+ }>;
254
+ } | null;
255
+ } | null;
256
+ payments?: {
257
+ data?: Array<{
258
+ status?: string | null;
259
+ payment?: {
260
+ payment_intent?: Ref<{
261
+ id: string;
262
+ }>;
263
+ } | null;
264
+ }>;
265
+ } | null;
266
+ }
267
+ export interface StripeTransferLike {
268
+ id: string;
269
+ amount: number;
270
+ amount_reversed?: number;
271
+ currency: string;
272
+ livemode: boolean;
273
+ destination?: Ref<{
274
+ id: string;
275
+ }>;
276
+ transfer_group?: string | null;
277
+ metadata?: Record<string, string> | null;
278
+ }
279
+ export interface StripePayoutLike {
280
+ id: string;
281
+ amount: number;
282
+ currency: string;
283
+ status: string;
284
+ method?: string | null;
285
+ arrival_date?: number | null;
286
+ failure_code?: string | null;
287
+ livemode: boolean;
288
+ }
289
+ export declare const idOf: (value: Ref<{
290
+ id: string;
291
+ }>) => string | null;
292
+ export declare function toResponsibility(value: string | null | undefined): Responsibility;
293
+ export declare function fromResponsibility(value: Responsibility): 'stripe' | 'application';
294
+ export declare function mapAccount(account: StripeAccountLike): ProviderMerchantAccount;
295
+ export declare function mapPaymentMethod(method: StripePaymentMethodLike): ProviderPaymentMethod;
296
+ /** A payment-mode Checkout Session (a charge's page, or one payment through a link). */
297
+ export declare function mapSession(session: StripeSessionLike): ProviderCharge;
298
+ /** A PaymentIntent that is the charge itself (a saved method charged without the client). */
299
+ export declare function mapIntent(intent: StripePaymentIntentLike): ProviderCharge;
300
+ /** The payment that settled (or is settling) an invoice. */
301
+ export declare function invoicePaymentId(invoice: StripeInvoiceLike): string | null;
302
+ /** A one-off invoice sent as a charge. */
303
+ export declare function mapInvoiceCharge(invoice: StripeInvoiceLike): ProviderCharge;
304
+ export declare function mapInvoice(invoice: StripeInvoiceLike): ProviderInvoice;
305
+ export declare function mapSubscription(subscription: StripeSubscriptionLike): ProviderSubscription;
306
+ export declare function mapRefund(refund: StripeRefundLike): ProviderRefund;
307
+ export declare function toDisputeStatus(status: string): DisputeStatus;
308
+ export declare function mapDispute(dispute: StripeDisputeLike): ProviderDispute;
309
+ export declare function mapTransfer(transfer: StripeTransferLike): ProviderTransfer;
310
+ export declare function mapPayout(payout: StripePayoutLike): ProviderPayout;
311
+ export interface StripeBalanceSettingsLike {
312
+ payments?: {
313
+ payouts?: {
314
+ schedule?: {
315
+ interval?: string | null;
316
+ weekly_payout_days?: string[] | null;
317
+ monthly_payout_days?: number[] | null;
318
+ } | null;
319
+ } | null;
320
+ settlement_timing?: {
321
+ delay_days?: number;
322
+ delay_days_override?: number | null;
323
+ } | null;
324
+ } | null;
325
+ }
326
+ export declare function mapPayoutSchedule(settings: StripeBalanceSettingsLike): PayoutSchedule;
327
+ export {};
328
+ //# sourceMappingURL=mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}