@volter/twin-stripe 2.0.38 → 3.0.1
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 +112 -207
- package/dist/generated/pack-facts.json +94 -0
- package/dist/journeys/coverage.json +596 -0
- package/dist/journeys/customer-life.json +6108 -0
- package/dist/journeys/customer-life.outline.md +371 -0
- package/dist/journeys/decisions.json +677 -0
- package/dist/journeys/demand.json +706 -0
- package/dist/journeys/score.json +853 -0
- package/dist/journeys/unreachable.json +102 -0
- package/dist/journeys/vendor-examples.json +8010 -0
- package/dist/spec/SOURCE.md +18 -0
- package/dist/spec/doc-examples.json +445 -0
- package/dist/spec/fixtures3.json.gz +0 -0
- package/dist/spec/openapi.json.gz +0 -0
- package/dist/spec/patches.json +34 -0
- package/dist/spec/sources.json +306 -0
- package/dist/src/cli.d.ts +0 -1
- package/dist/src/cli.js +11 -31
- package/dist/src/engine/after-payment.d.ts +8 -0
- package/dist/src/engine/after-payment.js +27 -0
- package/dist/src/engine/apps-secrets.d.ts +1 -0
- package/dist/src/engine/apps-secrets.js +3 -0
- package/dist/src/engine/balance.d.ts +5 -0
- package/dist/src/engine/balance.js +15 -0
- package/dist/src/engine/checkout.d.ts +24 -0
- package/dist/src/engine/checkout.js +30 -0
- package/dist/src/engine/common.d.ts +19 -0
- package/dist/src/engine/common.js +34 -0
- package/dist/src/engine/connect.d.ts +45 -0
- package/dist/src/engine/connect.js +108 -0
- package/dist/src/engine/customers.d.ts +4 -0
- package/dist/src/engine/customers.js +8 -0
- package/dist/src/engine/display.d.ts +11 -0
- package/dist/src/engine/display.js +13 -0
- package/dist/src/engine/files.d.ts +11 -0
- package/dist/src/engine/files.js +23 -0
- package/dist/src/engine/invoices.d.ts +21 -0
- package/dist/src/engine/invoices.js +84 -0
- package/dist/src/engine/issuing.d.ts +33 -0
- package/dist/src/engine/issuing.js +54 -0
- package/dist/src/engine/ledger.d.ts +8 -0
- package/dist/src/engine/ledger.js +8 -0
- package/dist/src/engine/oauth.d.ts +4 -0
- package/dist/src/engine/oauth.js +24 -0
- package/dist/src/engine/onboarding.d.ts +13 -0
- package/dist/src/engine/onboarding.js +42 -0
- package/dist/src/{stripe-params.d.ts → engine/params.d.ts} +20 -3
- package/dist/src/{stripe-params.js → engine/params.js} +7 -60
- package/dist/src/engine/payment-intents.d.ts +10 -0
- package/dist/src/engine/payment-intents.js +27 -0
- package/dist/src/engine/payment-methods.d.ts +16 -0
- package/dist/src/engine/payment-methods.js +22 -0
- package/dist/src/engine/radar.d.ts +2 -0
- package/dist/src/engine/radar.js +5 -0
- package/dist/src/engine/refunds.d.ts +1 -0
- package/dist/src/engine/refunds.js +3 -0
- package/dist/src/engine/renewals.d.ts +36 -0
- package/dist/src/engine/renewals.js +65 -0
- package/dist/src/{stripe-twin.d.ts → engine/stripe.d.ts} +12 -45
- package/dist/src/{stripe-twin.js → engine/stripe.js} +53 -387
- package/dist/src/engine/subscriptions.d.ts +11 -0
- package/dist/src/engine/subscriptions.js +30 -0
- package/dist/src/engine/transfers.d.ts +2 -0
- package/dist/src/engine/transfers.js +1 -0
- package/dist/src/{stripe-version.d.ts → engine/version.d.ts} +0 -2
- package/dist/src/{stripe-version.js → engine/version.js} +21 -9
- package/dist/src/engine/webhook-endpoints.d.ts +1 -0
- package/dist/src/engine/webhook-endpoints.js +12 -0
- package/dist/src/engine/webhooks.d.ts +31 -0
- package/dist/src/engine/webhooks.js +68 -0
- package/dist/src/fetch.d.ts +2 -0
- package/dist/src/fetch.js +26 -0
- package/dist/src/generated/surface.gen.json +1 -1
- package/dist/src/generated/ui.gen.json +1 -1
- package/dist/src/index.d.ts +5 -14
- package/dist/src/index.js +10 -75
- package/dist/src/manifest.js +478 -876
- package/dist/src/screens/billing-portal.d.ts +3 -0
- package/dist/src/screens/{portal.js → billing-portal.js} +32 -58
- package/dist/src/screens/checkout-js.d.ts +2 -0
- package/dist/src/screens/checkout-js.js +84 -0
- package/dist/src/screens/checkout.d.ts +2 -31
- package/dist/src/screens/checkout.js +32 -121
- package/dist/src/screens/connect-onboarding.d.ts +3 -0
- package/dist/src/screens/{onboarding.js → connect-onboarding.js} +38 -104
- package/dist/src/screens/dashboard.d.ts +3 -0
- package/dist/src/screens/dashboard.js +116 -0
- package/dist/src/screens/shared.d.ts +27 -0
- package/dist/src/screens/shared.js +87 -0
- package/dist/src/screens/stripe-js.d.ts +3 -0
- package/dist/src/screens/stripe-js.js +95 -0
- package/dist/src/semantics/account.d.ts +2 -0
- package/dist/src/semantics/account.js +8 -0
- package/dist/src/semantics/account_links.d.ts +2 -0
- package/dist/src/semantics/account_links.js +22 -0
- package/dist/src/semantics/accounts.d.ts +4 -0
- package/dist/src/semantics/accounts.js +40 -0
- package/dist/src/semantics/apps.d.ts +4 -0
- package/dist/src/semantics/{apps-secrets.js → apps.js} +14 -26
- package/dist/src/semantics/around.d.ts +2 -0
- package/dist/src/semantics/around.js +13 -0
- package/dist/src/semantics/balance.d.ts +2 -11
- package/dist/src/semantics/balance.js +3 -194
- package/dist/src/semantics/balance_transactions.d.ts +2 -0
- package/dist/src/semantics/balance_transactions.js +15 -0
- package/dist/src/semantics/billing_portal.d.ts +4 -0
- package/dist/src/semantics/billing_portal.js +36 -0
- package/dist/src/semantics/charges.d.ts +3 -28
- package/dist/src/semantics/charges.js +5 -202
- package/dist/src/semantics/checkout.d.ts +3 -20
- package/dist/src/semantics/checkout.js +21 -271
- package/dist/src/semantics/clock.d.ts +2 -0
- package/dist/src/semantics/clock.js +15 -0
- package/dist/src/semantics/coupons.d.ts +2 -6
- package/dist/src/semantics/coupons.js +2 -60
- package/dist/src/semantics/customers.d.ts +5 -6
- package/dist/src/semantics/customers.js +47 -413
- package/dist/src/semantics/doors.d.ts +23 -0
- package/dist/src/semantics/doors.js +73 -0
- package/dist/src/semantics/entitlements.d.ts +0 -2
- package/dist/src/semantics/entitlements.js +4 -95
- package/dist/src/semantics/events.d.ts +11 -0
- package/dist/src/semantics/events.js +31 -0
- package/dist/src/semantics/index.d.ts +2 -0
- package/dist/src/semantics/index.js +85 -0
- package/dist/src/semantics/invoice_payments.d.ts +2 -0
- package/dist/src/semantics/invoice_payments.js +12 -0
- package/dist/src/semantics/invoices.d.ts +11 -18
- package/dist/src/semantics/invoices.js +121 -440
- package/dist/src/semantics/issuing.d.ts +6 -13
- package/dist/src/semantics/issuing.js +58 -556
- package/dist/src/semantics/payment_intents.d.ts +3 -0
- package/dist/src/semantics/payment_intents.js +71 -0
- package/dist/src/semantics/payment_methods.d.ts +3 -0
- package/dist/src/semantics/payment_methods.js +15 -0
- package/dist/src/semantics/payouts.d.ts +3 -0
- package/dist/src/semantics/payouts.js +28 -0
- package/dist/src/semantics/prices.d.ts +4 -0
- package/dist/src/semantics/prices.js +37 -0
- package/dist/src/semantics/products.d.ts +4 -2
- package/dist/src/semantics/products.js +12 -138
- package/dist/src/semantics/promotion_codes.d.ts +3 -0
- package/dist/src/semantics/promotion_codes.js +35 -0
- package/dist/src/semantics/radar.d.ts +2 -2
- package/dist/src/semantics/radar.js +5 -74
- package/dist/src/semantics/refunds.d.ts +2 -9
- package/dist/src/semantics/refunds.js +3 -193
- package/dist/src/semantics/shared.d.ts +558 -55
- package/dist/src/semantics/shared.js +2070 -114
- package/dist/src/semantics/states.d.ts +462 -0
- package/dist/src/semantics/states.js +634 -0
- package/dist/src/semantics/subscriptions.d.ts +6 -11
- package/dist/src/semantics/subscriptions.js +37 -530
- package/dist/src/semantics/test_helpers.d.ts +3 -0
- package/dist/src/semantics/test_helpers.js +125 -0
- package/dist/src/semantics/transfers.d.ts +2 -2
- package/dist/src/semantics/transfers.js +6 -101
- package/dist/src/semantics/webhook_endpoints.d.ts +2 -0
- package/dist/src/semantics/webhook_endpoints.js +26 -0
- package/dist/src/server.d.ts +7 -0
- package/dist/src/server.js +7 -0
- package/generated/pack-facts.json +94 -0
- package/journeys/coverage.json +596 -0
- package/journeys/customer-life.json +6108 -0
- package/journeys/customer-life.outline.md +371 -0
- package/journeys/decisions.json +677 -0
- package/journeys/demand.json +706 -0
- package/journeys/score.json +853 -0
- package/journeys/unreachable.json +102 -0
- package/journeys/vendor-examples.json +8010 -0
- package/package.json +11 -20
- package/spec/SOURCE.md +18 -0
- package/spec/doc-examples.json +445 -0
- package/spec/fixtures3.json.gz +0 -0
- package/spec/openapi.json.gz +0 -0
- package/spec/patches.json +34 -0
- package/spec/sources.json +306 -0
- package/src/cli.ts +11 -28
- package/src/engine/after-payment.ts +29 -0
- package/src/engine/apps-secrets.ts +4 -0
- package/src/engine/balance.ts +32 -0
- package/src/engine/checkout.ts +39 -0
- package/src/engine/common.ts +49 -0
- package/src/engine/connect.ts +106 -0
- package/src/engine/customers.ts +10 -0
- package/src/engine/display.ts +18 -0
- package/src/engine/files.ts +28 -0
- package/src/engine/invoices.ts +102 -0
- package/src/engine/issuing.ts +66 -0
- package/src/engine/ledger.ts +48 -0
- package/src/engine/oauth.ts +18 -0
- package/src/engine/onboarding.ts +53 -0
- package/src/{stripe-params.ts → engine/params.ts} +7 -56
- package/src/engine/payment-intents.ts +32 -0
- package/src/engine/payment-methods.ts +24 -0
- package/src/engine/radar.ts +6 -0
- package/src/engine/refunds.ts +3 -0
- package/src/engine/renewals.ts +72 -0
- package/src/{stripe-twin.ts → engine/stripe.ts} +57 -400
- package/src/engine/subscriptions.ts +37 -0
- package/src/engine/transfers.ts +22 -0
- package/src/{stripe-version.ts → engine/version.ts} +19 -10
- package/src/engine/webhook-endpoints.ts +14 -0
- package/src/engine/webhooks.ts +70 -0
- package/src/fetch.ts +27 -0
- package/src/generated/surface.gen.json +1 -1
- package/src/generated/ui.gen.json +1 -1
- package/src/index.ts +10 -116
- package/src/manifest.ts +480 -904
- package/src/screens/{portal.tsx → billing-portal.tsx} +35 -42
- package/src/screens/checkout-js.ts +80 -0
- package/src/screens/checkout.tsx +32 -96
- package/src/screens/{onboarding.tsx → connect-onboarding.tsx} +39 -85
- package/src/screens/dashboard.tsx +178 -0
- package/src/screens/shared.tsx +84 -0
- package/src/screens/stripe-js.ts +102 -0
- package/src/semantics/account.ts +10 -0
- package/src/semantics/account_links.ts +20 -0
- package/src/semantics/accounts.ts +44 -0
- package/src/semantics/{apps-secrets.ts → apps.ts} +17 -33
- package/src/semantics/around.ts +17 -0
- package/src/semantics/balance.ts +6 -208
- package/src/semantics/balance_transactions.ts +18 -0
- package/src/semantics/billing_portal.ts +45 -0
- package/src/semantics/charges.ts +8 -212
- package/src/semantics/checkout.ts +25 -276
- package/src/semantics/clock.ts +19 -0
- package/src/semantics/coupons.ts +5 -68
- package/src/semantics/customers.ts +48 -414
- package/src/semantics/doors.ts +79 -0
- package/src/semantics/entitlements.ts +3 -94
- package/src/semantics/events.ts +37 -0
- package/src/semantics/index.ts +89 -0
- package/src/semantics/invoice_payments.ts +16 -0
- package/src/semantics/invoices.ts +112 -441
- package/src/semantics/issuing.ts +57 -573
- package/src/semantics/payment_intents.ts +76 -0
- package/src/semantics/payment_methods.ts +20 -0
- package/src/semantics/payouts.ts +29 -0
- package/src/semantics/prices.ts +41 -0
- package/src/semantics/products.ts +12 -146
- package/src/semantics/promotion_codes.ts +38 -0
- package/src/semantics/radar.ts +8 -79
- package/src/semantics/refunds.ts +4 -216
- package/src/semantics/shared.ts +2089 -135
- package/src/semantics/states.ts +662 -0
- package/src/semantics/subscriptions.ts +39 -542
- package/src/semantics/test_helpers.ts +119 -0
- package/src/semantics/transfers.ts +10 -132
- package/src/semantics/webhook_endpoints.ts +27 -0
- package/src/server.ts +7 -0
- package/client/dashboard-api.ts +0 -286
- package/client/stripe-mirror.css +0 -277
- package/client/stripe-mirror.tsx +0 -1559
- package/dist/client/dashboard-api.d.ts +0 -107
- package/dist/client/dashboard-api.js +0 -238
- package/dist/client/dashboard-api.ts +0 -286
- package/dist/client/stripe-mirror.bundle.js +0 -236
- package/dist/client/stripe-mirror.css +0 -277
- package/dist/client/stripe-mirror.d.ts +0 -134
- package/dist/client/stripe-mirror.js +0 -859
- package/dist/client/stripe-mirror.tsx +0 -1559
- package/dist/src/screens/connect-oauth.d.ts +0 -27
- package/dist/src/screens/connect-oauth.js +0 -414
- package/dist/src/screens/connect-settings.d.ts +0 -22
- package/dist/src/screens/connect-settings.js +0 -103
- package/dist/src/screens/consent-skin.d.ts +0 -4
- package/dist/src/screens/consent-skin.js +0 -18
- package/dist/src/screens/financial-connections.d.ts +0 -5
- package/dist/src/screens/financial-connections.js +0 -90
- package/dist/src/screens/identity.d.ts +0 -5
- package/dist/src/screens/identity.js +0 -86
- package/dist/src/screens/onboarding.d.ts +0 -13
- package/dist/src/screens/portal.d.ts +0 -5
- package/dist/src/screens/public-details.d.ts +0 -5
- package/dist/src/screens/public-details.js +0 -90
- package/dist/src/semantics/after-payment.d.ts +0 -22
- package/dist/src/semantics/after-payment.js +0 -99
- package/dist/src/semantics/apps-secrets.d.ts +0 -2
- package/dist/src/semantics/billing.d.ts +0 -2
- package/dist/src/semantics/billing.js +0 -220
- package/dist/src/semantics/connect.d.ts +0 -5
- package/dist/src/semantics/connect.js +0 -493
- package/dist/src/semantics/credit-notes.d.ts +0 -2
- package/dist/src/semantics/credit-notes.js +0 -172
- package/dist/src/semantics/disputes.d.ts +0 -2
- package/dist/src/semantics/disputes.js +0 -51
- package/dist/src/semantics/ephemeral-keys.d.ts +0 -2
- package/dist/src/semantics/ephemeral-keys.js +0 -34
- package/dist/src/semantics/files.d.ts +0 -2
- package/dist/src/semantics/files.js +0 -125
- package/dist/src/semantics/ledger.d.ts +0 -59
- package/dist/src/semantics/ledger.js +0 -200
- package/dist/src/semantics/payment-intents.d.ts +0 -18
- package/dist/src/semantics/payment-intents.js +0 -452
- package/dist/src/semantics/payment-links.d.ts +0 -2
- package/dist/src/semantics/payment-links.js +0 -133
- package/dist/src/semantics/payment-methods.d.ts +0 -20
- package/dist/src/semantics/payment-methods.js +0 -140
- package/dist/src/semantics/plans.d.ts +0 -5
- package/dist/src/semantics/plans.js +0 -121
- package/dist/src/semantics/platform.d.ts +0 -9
- package/dist/src/semantics/platform.js +0 -206
- package/dist/src/semantics/renewals.d.ts +0 -47
- package/dist/src/semantics/renewals.js +0 -281
- package/dist/src/semantics/setup-intents.d.ts +0 -2
- package/dist/src/semantics/setup-intents.js +0 -84
- package/dist/src/semantics/subscription-schedules.d.ts +0 -2
- package/dist/src/semantics/subscription-schedules.js +0 -119
- package/dist/src/semantics/tax.d.ts +0 -2
- package/dist/src/semantics/tax.js +0 -197
- package/dist/src/semantics/terminal.d.ts +0 -5
- package/dist/src/semantics/terminal.js +0 -182
- package/dist/src/semantics/test-clocks.d.ts +0 -6
- package/dist/src/semantics/test-clocks.js +0 -73
- package/dist/src/semantics/tokens.d.ts +0 -4
- package/dist/src/semantics/tokens.js +0 -44
- package/dist/src/semantics/treasury.d.ts +0 -2
- package/dist/src/semantics/treasury.js +0 -377
- package/dist/src/semantics/webhook-endpoints.d.ts +0 -3
- package/dist/src/semantics/webhook-endpoints.js +0 -85
- package/dist/src/stripe-budget.d.ts +0 -55
- package/dist/src/stripe-budget.js +0 -155
- package/dist/src/stripe-capabilities.d.ts +0 -3
- package/dist/src/stripe-capabilities.js +0 -5836
- package/dist/src/stripe-conformance.d.ts +0 -43
- package/dist/src/stripe-conformance.js +0 -105
- package/dist/src/stripe-connector.d.ts +0 -161
- package/dist/src/stripe-connector.js +0 -414
- package/dist/src/stripe-emit.d.ts +0 -2
- package/dist/src/stripe-emit.js +0 -145
- package/dist/src/stripe-events.d.ts +0 -93
- package/dist/src/stripe-events.js +0 -392
- package/dist/src/stripe-js.d.ts +0 -4
- package/dist/src/stripe-js.js +0 -70
- package/dist/src/stripe-mirror-ui.d.ts +0 -15
- package/dist/src/stripe-mirror-ui.js +0 -87
- package/dist/src/stripe-perform-harness.d.ts +0 -9
- package/dist/src/stripe-perform-harness.js +0 -26
- package/dist/src/stripe-server.d.ts +0 -33
- package/dist/src/stripe-server.js +0 -429
- package/dist/src/stripe-shared.d.ts +0 -109
- package/dist/src/stripe-shared.js +0 -276
- package/dist/src/stripe-ui-conformance.d.ts +0 -5
- package/dist/src/stripe-ui-conformance.js +0 -79
- package/dist/src/stripe-ui-structure.d.ts +0 -3
- package/dist/src/stripe-ui-structure.js +0 -168
- package/dist/test-fixtures/stripe-known-deviations.json +0 -110
- package/dist/test-fixtures/stripe-openapi-operations.SOURCE.md +0 -14
- package/dist/test-fixtures/stripe-openapi-operations.json +0 -4717
- package/dist/test-fixtures/stripe-schemas.SOURCE.md +0 -35
- package/dist/test-fixtures/stripe-schemas.json +0 -3813
- package/src/screens/connect-oauth.tsx +0 -400
- package/src/screens/connect-settings.tsx +0 -121
- package/src/screens/consent-skin.ts +0 -20
- package/src/screens/financial-connections.tsx +0 -101
- package/src/screens/identity.tsx +0 -96
- package/src/screens/public-details.tsx +0 -105
- package/src/semantics/after-payment.ts +0 -118
- package/src/semantics/billing.ts +0 -216
- package/src/semantics/connect.ts +0 -487
- package/src/semantics/credit-notes.ts +0 -168
- package/src/semantics/disputes.ts +0 -62
- package/src/semantics/ephemeral-keys.ts +0 -34
- package/src/semantics/files.ts +0 -143
- package/src/semantics/ledger.ts +0 -253
- package/src/semantics/payment-intents.ts +0 -463
- package/src/semantics/payment-links.ts +0 -148
- package/src/semantics/payment-methods.ts +0 -145
- package/src/semantics/plans.ts +0 -131
- package/src/semantics/platform.ts +0 -220
- package/src/semantics/renewals.ts +0 -279
- package/src/semantics/setup-intents.ts +0 -87
- package/src/semantics/subscription-schedules.ts +0 -129
- package/src/semantics/tax.ts +0 -220
- package/src/semantics/terminal.ts +0 -195
- package/src/semantics/test-clocks.ts +0 -77
- package/src/semantics/tokens.ts +0 -52
- package/src/semantics/treasury.ts +0 -383
- package/src/semantics/webhook-endpoints.ts +0 -87
- package/src/stripe-budget.ts +0 -181
- package/src/stripe-capabilities.ts +0 -5651
- package/src/stripe-conformance.ts +0 -124
- package/src/stripe-connector.ts +0 -462
- package/src/stripe-emit.ts +0 -157
- package/src/stripe-events.ts +0 -434
- package/src/stripe-js.ts +0 -70
- package/src/stripe-mirror-ui.ts +0 -90
- package/src/stripe-perform-harness.ts +0 -29
- package/src/stripe-server.ts +0 -393
- package/src/stripe-shared.ts +0 -297
- package/src/stripe-ui-conformance.ts +0 -88
- package/src/stripe-ui-structure.ts +0 -182
- package/test-fixtures/stripe-known-deviations.json +0 -110
- package/test-fixtures/stripe-openapi-operations.json +0 -4717
- package/test-fixtures/stripe-schemas.json +0 -3813
- /package/dist/src/{screens → engine}/industries.d.ts +0 -0
- /package/dist/src/{screens → engine}/industries.js +0 -0
- /package/dist/src/{semantics → engine}/test-cards.d.ts +0 -0
- /package/dist/src/{semantics → engine}/test-cards.js +0 -0
- /package/src/{screens → engine}/industries.ts +0 -0
- /package/src/{semantics → engine}/test-cards.ts +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/twin-stripe",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Local Stripe twin — a faithful, stateful local Stripe API your real `stripe` SDK talks to unmodified
|
|
3
|
+
"version": "3.0.1",
|
|
4
|
+
"description": "Local Stripe twin — a faithful, stateful local Stripe API your real `stripe` SDK talks to unmodified, its hosted pages and Stripe.js. Built on @volter/world-core.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twin",
|
|
7
7
|
"local",
|
|
@@ -23,21 +23,21 @@
|
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"src",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
26
|
+
"journeys",
|
|
27
|
+
"spec",
|
|
28
28
|
"README.md",
|
|
29
29
|
"LICENSE",
|
|
30
|
-
"!test-fixtures/*.SOURCE.md",
|
|
31
30
|
"!**/*.test.ts",
|
|
32
31
|
"!**/*.test.tsx",
|
|
33
|
-
"dist"
|
|
32
|
+
"dist",
|
|
33
|
+
"generated"
|
|
34
34
|
],
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
|
37
|
-
"url": "git+https://github.com/volter-ai/twin.git",
|
|
38
|
-
"directory": "
|
|
37
|
+
"url": "git+https://github.com/volter-ai/twin-packs-p3.git",
|
|
38
|
+
"directory": "stripe"
|
|
39
39
|
},
|
|
40
|
-
"homepage": "https://
|
|
40
|
+
"homepage": "https://github.com/volter-ai/twin-packs-p3/tree/main/stripe#readme",
|
|
41
41
|
"type": "module",
|
|
42
42
|
"exports": {
|
|
43
43
|
".": {
|
|
@@ -48,24 +48,15 @@
|
|
|
48
48
|
"bin": {
|
|
49
49
|
"world-stripe": "dist/src/cli.js"
|
|
50
50
|
},
|
|
51
|
-
"scripts": {
|
|
52
|
-
"test": "bun test src/*.test.ts",
|
|
53
|
-
"typecheck": "tsc --noEmit",
|
|
54
|
-
"build": "node ../../../scripts/publish/build.mjs",
|
|
55
|
-
"prepack": "node ../../../scripts/publish/prepare-publish.mjs prepack",
|
|
56
|
-
"postpack": "node ../../../scripts/publish/prepare-publish.mjs postpack"
|
|
57
|
-
},
|
|
58
51
|
"dependencies": {
|
|
59
|
-
"@volter/world-ui": "0.
|
|
52
|
+
"@volter/world-ui": "^1.0.38",
|
|
60
53
|
"react": "^19.2.7",
|
|
61
54
|
"react-dom": "^19.2.7"
|
|
62
55
|
},
|
|
63
56
|
"peerDependencies": {
|
|
64
|
-
"@volter/world-core": "
|
|
57
|
+
"@volter/world-core": "^3.0.38"
|
|
65
58
|
},
|
|
66
59
|
"devDependencies": {
|
|
67
|
-
"@volter/world-core": "2.0.37",
|
|
68
|
-
"@volter/world-tooling": "0.1.0",
|
|
69
60
|
"@types/bun": "^1.2.20",
|
|
70
61
|
"@types/node": "^24.0.0",
|
|
71
62
|
"@types/react": "^19.2.17",
|
package/spec/SOURCE.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# stripe spec — provenance
|
|
2
|
+
|
|
3
|
+
- **File:** `openapi.json.gz`, gzip of Stripe's published OpenAPI document.
|
|
4
|
+
- **Upstream:** https://github.com/stripe/openapi, `openapi/spec3.json` on `master`.
|
|
5
|
+
- **Spec version:** `2026-09-30.endive` (`info.version`).
|
|
6
|
+
- **SHA-256 of the uncompressed document:** `6b4680299e7b7743811c41537e828b0eae363a11cea44441511013b55e52f7ad`.
|
|
7
|
+
- **Read by:** `bun scripts/derive-pack.ts stripe`, which writes `../src/generated/surface.gen.json`.
|
|
8
|
+
|
|
9
|
+
The pack serves this document's version (`SERVED_VERSION` in `src/engine/version.ts`).
|
|
10
|
+
|
|
11
|
+
- **Published examples:** `fixtures3.json.gz`, gzip of Stripe's `openapi/fixtures3.json` (one sample object per resource,
|
|
12
|
+
the objects Stripe's API reference shows), from commit `0d98342fc985dc7710a44be25e8528dd8e099bc2` (2026-09-23).
|
|
13
|
+
SHA-256 of the uncompressed file: `e6822f7ee6fd71bdde6228537368aafcfb7191109340fe119d9aca27c6e9396d`.
|
|
14
|
+
**Read by:** `bun scripts/vendor-examples.ts stripe`.
|
|
15
|
+
- **Published examples from Stripe's pages:** `doc-examples.json`, the requests and rules Stripe's documentation pages
|
|
16
|
+
publish (its testing page's cards, the payment lifecycle's states, each reference page's stated rule), each with its
|
|
17
|
+
page's URL and the page's words for what it does, read with twin-standard's `read-page`. **Read by:**
|
|
18
|
+
`bun scripts/vendor-examples.ts stripe`.
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"title": "Generic decline",
|
|
4
|
+
"source": "https://docs.stripe.com/testing",
|
|
5
|
+
"operation": "PostPaymentIntentsIntentConfirm",
|
|
6
|
+
"input": {
|
|
7
|
+
"payment_method_data": {
|
|
8
|
+
"type": "card",
|
|
9
|
+
"card": {
|
|
10
|
+
"number": "4000000000000002",
|
|
11
|
+
"exp_month": 12,
|
|
12
|
+
"exp_year": 2030,
|
|
13
|
+
"cvc": "123"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"means": "Generic decline 4000 0000 0000 0002 card_declined generic_decline",
|
|
18
|
+
"status": 402
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Always authenticate",
|
|
22
|
+
"source": "https://docs.stripe.com/testing",
|
|
23
|
+
"operation": "PostPaymentIntentsIntentConfirm",
|
|
24
|
+
"input": {
|
|
25
|
+
"payment_method_data": {
|
|
26
|
+
"type": "card",
|
|
27
|
+
"card": {
|
|
28
|
+
"number": "4000002760003184",
|
|
29
|
+
"exp_month": 12,
|
|
30
|
+
"exp_year": 2030,
|
|
31
|
+
"cvc": "123"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"output": {
|
|
36
|
+
"status": "requires_action"
|
|
37
|
+
},
|
|
38
|
+
"means": "Always authenticate 4000 0027 6000 3184 This card requires authentication on all transactions, regardless of how the card is set up.",
|
|
39
|
+
"status": 200
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"title": "rule: a publishable key retrieves a payment with its client secret",
|
|
43
|
+
"source": "https://docs.stripe.com/api/payment_intents/retrieve",
|
|
44
|
+
"operation": "GetPaymentIntentsIntent",
|
|
45
|
+
"means": "client_secret string Required if you use a publishable key. The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the source.",
|
|
46
|
+
"status": 400
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"title": "a payment given its method waits for confirmation",
|
|
50
|
+
"source": "https://docs.stripe.com/payments/paymentintents/lifecycle",
|
|
51
|
+
"operation": "PostPaymentIntents",
|
|
52
|
+
"input": {
|
|
53
|
+
"payment_method": "pm_1EXUPv2eZvKYlo2CUkqZASBe"
|
|
54
|
+
},
|
|
55
|
+
"output": {
|
|
56
|
+
"status": "requires_confirmation"
|
|
57
|
+
},
|
|
58
|
+
"means": "After your customer provides payment information, the PaymentIntent enters the requires_confirmation status and is ready to confirm."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "a payment authorized and captured separately waits for its capture",
|
|
62
|
+
"source": "https://docs.stripe.com/payments/paymentintents/lifecycle",
|
|
63
|
+
"operation": "PostPaymentIntentsIntentConfirm",
|
|
64
|
+
"output": {
|
|
65
|
+
"status": "requires_capture"
|
|
66
|
+
},
|
|
67
|
+
"means": "If you’re separately authorizing and capturing funds, your PaymentIntent can instead move to requires_capture."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"title": "rule: a payment that succeeded is not canceled",
|
|
71
|
+
"source": "https://docs.stripe.com/payments/paymentintents/lifecycle",
|
|
72
|
+
"operation": "PostPaymentIntentsIntentCancel",
|
|
73
|
+
"means": "You can cancel a PaymentIntent before it reaches a processing or succeeded state.",
|
|
74
|
+
"status": 400
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"title": "rule: only an open session can be expired",
|
|
78
|
+
"source": "https://docs.stripe.com/api/checkout/sessions/expire",
|
|
79
|
+
"operation": "PostCheckoutSessionsSessionExpire",
|
|
80
|
+
"means": "A Checkout Session can be expired when it is in one of these statuses: open",
|
|
81
|
+
"status": 400
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"title": "rule: only a finalized invoice is voided",
|
|
85
|
+
"source": "https://docs.stripe.com/api/invoices/void",
|
|
86
|
+
"operation": "PostInvoicesInvoiceVoid",
|
|
87
|
+
"means": "Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion , however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.",
|
|
88
|
+
"status": 400
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"title": "rule: an invoice no longer a draft is not deleted",
|
|
92
|
+
"source": "https://docs.stripe.com/api/invoices/delete",
|
|
93
|
+
"operation": "DeleteInvoicesInvoice",
|
|
94
|
+
"means": "Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided .",
|
|
95
|
+
"status": 400
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"title": "rule: only a draft is finalized",
|
|
99
|
+
"source": "https://docs.stripe.com/api/invoices/finalize",
|
|
100
|
+
"operation": "PostInvoicesInvoiceFinalize",
|
|
101
|
+
"means": "Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.",
|
|
102
|
+
"status": 400
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"title": "Test account numbers: pm_usBankAccount_success",
|
|
106
|
+
"source": "https://docs.stripe.com/payments/ach-direct-debit/accept-a-payment",
|
|
107
|
+
"operation": "PostPaymentIntents",
|
|
108
|
+
"input": {
|
|
109
|
+
"payment_method": "pm_usBankAccount_success"
|
|
110
|
+
},
|
|
111
|
+
"output": {
|
|
112
|
+
"status": "processing"
|
|
113
|
+
},
|
|
114
|
+
"means": "000123456789 pm_usBankAccount_success 110000000 The payment succeeds."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"title": "Generic decline",
|
|
118
|
+
"source": "https://docs.stripe.com/testing",
|
|
119
|
+
"operation": "PostPaymentIntents",
|
|
120
|
+
"input": {
|
|
121
|
+
"payment_method_data": {
|
|
122
|
+
"type": "card",
|
|
123
|
+
"card": {
|
|
124
|
+
"number": "4000000000000002",
|
|
125
|
+
"exp_month": 12,
|
|
126
|
+
"exp_year": 2030,
|
|
127
|
+
"cvc": "123"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"confirm": true
|
|
131
|
+
},
|
|
132
|
+
"means": "Generic decline 4000 0000 0000 0002 card_declined generic_decline",
|
|
133
|
+
"status": 402
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"title": "Always authenticate",
|
|
137
|
+
"source": "https://docs.stripe.com/testing",
|
|
138
|
+
"operation": "PostPaymentIntents",
|
|
139
|
+
"input": {
|
|
140
|
+
"payment_method_data": {
|
|
141
|
+
"type": "card",
|
|
142
|
+
"card": {
|
|
143
|
+
"number": "4000002760003184",
|
|
144
|
+
"exp_month": 12,
|
|
145
|
+
"exp_year": 2030,
|
|
146
|
+
"cvc": "123"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"confirm": true
|
|
150
|
+
},
|
|
151
|
+
"output": {
|
|
152
|
+
"status": "requires_action"
|
|
153
|
+
},
|
|
154
|
+
"means": "Always authenticate 4000 0027 6000 3184 This card requires authentication on all transactions, regardless of how the card is set up."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"title": "Test account numbers: pm_usBankAccount_success",
|
|
158
|
+
"source": "https://docs.stripe.com/payments/ach-direct-debit/accept-a-payment",
|
|
159
|
+
"operation": "PostPaymentIntentsIntentConfirm",
|
|
160
|
+
"input": {
|
|
161
|
+
"payment_method": "pm_usBankAccount_success"
|
|
162
|
+
},
|
|
163
|
+
"output": {
|
|
164
|
+
"status": "processing"
|
|
165
|
+
},
|
|
166
|
+
"means": "000123456789 pm_usBankAccount_success 110000000 The payment succeeds."
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"title": "a setup given its method waits for confirmation",
|
|
170
|
+
"source": "https://docs.stripe.com/payments/paymentintents/lifecycle",
|
|
171
|
+
"operation": "PostSetupIntents",
|
|
172
|
+
"input": {
|
|
173
|
+
"payment_method": "pm_1EXUPv2eZvKYlo2CUkqZASBe"
|
|
174
|
+
},
|
|
175
|
+
"output": {
|
|
176
|
+
"status": "requires_confirmation"
|
|
177
|
+
},
|
|
178
|
+
"means": "After your customer provides payment information, the SetupIntent enters the requires_confirmation status and is ready to confirm."
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"title": "microdeposit verification",
|
|
182
|
+
"source": "https://docs.stripe.com/payments/ach-direct-debit/set-up-payment",
|
|
183
|
+
"operation": "PostSetupIntentsIntentConfirm",
|
|
184
|
+
"input": {
|
|
185
|
+
"payment_method_data": {
|
|
186
|
+
"type": "us_bank_account"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"output": {
|
|
190
|
+
"status": "requires_action"
|
|
191
|
+
},
|
|
192
|
+
"means": "If the customer opts for microdeposit verification, Stripe automatically sends two small deposits to the provided bank account."
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"title": "payment_intent_unexpected_state",
|
|
196
|
+
"source": "https://docs.stripe.com/error-codes",
|
|
197
|
+
"operation": "PostPaymentIntentsIntentConfirm",
|
|
198
|
+
"means": "payment_intent_unexpected_state The PaymentIntent’s state was incompatible with the operation you were trying to perform.",
|
|
199
|
+
"status": 400
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"title": "setup_intent_unexpected_state",
|
|
203
|
+
"source": "https://docs.stripe.com/error-codes",
|
|
204
|
+
"operation": "PostSetupIntentsIntentConfirm",
|
|
205
|
+
"means": "setup_intent_unexpected_state The SetupIntent’s state was incompatible with the operation you were trying to perform.",
|
|
206
|
+
"status": 400
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"title": "rule: sending a draft finalizes it",
|
|
210
|
+
"source": "https://docs.stripe.com/invoicing/integration",
|
|
211
|
+
"operation": "PostInvoicesInvoiceSend",
|
|
212
|
+
"output": {
|
|
213
|
+
"status": "open"
|
|
214
|
+
},
|
|
215
|
+
"means": "To finalize a draft invoice, use the Dashboard, send it to the customer, or pay it."
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"title": "rule: only an active or not-started schedule is released",
|
|
219
|
+
"source": "https://docs.stripe.com/api/subscription_schedules/release",
|
|
220
|
+
"operation": "PostSubscriptionSchedulesScheduleRelease",
|
|
221
|
+
"means": "A schedule can only be released if its status is not_started or active .",
|
|
222
|
+
"status": 400
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"title": "close_authorization false",
|
|
226
|
+
"source": "https://docs.stripe.com/api/issuing/authorizations/test_mode_capture",
|
|
227
|
+
"operation": "PostTestHelpersIssuingAuthorizationsAuthorizationCapture",
|
|
228
|
+
"input": {
|
|
229
|
+
"close_authorization": false
|
|
230
|
+
},
|
|
231
|
+
"output": {
|
|
232
|
+
"status": "pending"
|
|
233
|
+
},
|
|
234
|
+
"means": "close_authorization boolean Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows."
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"title": "To end a trial early",
|
|
238
|
+
"source": "https://docs.stripe.com/billing/subscriptions/trials/free-trials",
|
|
239
|
+
"operation": "PostSubscriptionsSubscriptionExposedId",
|
|
240
|
+
"input": {
|
|
241
|
+
"trial_end": "now"
|
|
242
|
+
},
|
|
243
|
+
"means": "To end a trial early, make an update subscription API call, setting the trial_end value to a new timestamp, or now to end immediately"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"title": "a trial period on an existing subscription",
|
|
247
|
+
"source": "https://docs.stripe.com/billing/subscriptions/trials/free-trials",
|
|
248
|
+
"operation": "PostSubscriptionsSubscriptionExposedId",
|
|
249
|
+
"input": {
|
|
250
|
+
"trial_end": 1805760000
|
|
251
|
+
},
|
|
252
|
+
"output": {
|
|
253
|
+
"status": "trialing"
|
|
254
|
+
},
|
|
255
|
+
"means": "Trial periods are normally applied at the start of a subscription, but you can also use a trial period on an existing subscription to change the subscription’s billing period (cycle) ."
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"title": "rule: a canceled subscription is largely immutable",
|
|
259
|
+
"source": "https://docs.stripe.com/api/subscriptions/cancel",
|
|
260
|
+
"operation": "PostSubscriptionsSubscriptionExposedId",
|
|
261
|
+
"input": {
|
|
262
|
+
"trial_end": 1805760000
|
|
263
|
+
},
|
|
264
|
+
"means": "After it’s canceled, the subscription is largely immutable. You can still update its metadata and cancellation_details .",
|
|
265
|
+
"status": 400
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"title": "active: a product no longer for sale",
|
|
269
|
+
"source": "https://docs.stripe.com/api/products/update",
|
|
270
|
+
"operation": "PostProductsId",
|
|
271
|
+
"input": {
|
|
272
|
+
"active": false
|
|
273
|
+
},
|
|
274
|
+
"output": {
|
|
275
|
+
"active": false
|
|
276
|
+
},
|
|
277
|
+
"means": "active boolean Whether the product is available for purchase."
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"title": "active: a product for sale again",
|
|
281
|
+
"source": "https://docs.stripe.com/api/products/update",
|
|
282
|
+
"operation": "PostProductsId",
|
|
283
|
+
"input": {
|
|
284
|
+
"active": true
|
|
285
|
+
},
|
|
286
|
+
"output": {
|
|
287
|
+
"active": true
|
|
288
|
+
},
|
|
289
|
+
"means": "active boolean Whether the product is available for purchase."
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"title": "active: a price no longer for new purchases",
|
|
293
|
+
"source": "https://docs.stripe.com/api/prices/update",
|
|
294
|
+
"operation": "PostPricesPrice",
|
|
295
|
+
"input": {
|
|
296
|
+
"active": false
|
|
297
|
+
},
|
|
298
|
+
"output": {
|
|
299
|
+
"active": false
|
|
300
|
+
},
|
|
301
|
+
"means": "active boolean Whether the price can be used for new purchases. Defaults to true ."
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"title": "active: a price for new purchases again",
|
|
305
|
+
"source": "https://docs.stripe.com/api/prices/update",
|
|
306
|
+
"operation": "PostPricesPrice",
|
|
307
|
+
"input": {
|
|
308
|
+
"active": true
|
|
309
|
+
},
|
|
310
|
+
"output": {
|
|
311
|
+
"active": true
|
|
312
|
+
},
|
|
313
|
+
"means": "active boolean Whether the price can be used for new purchases. Defaults to true ."
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"title": "active: a configuration switched off",
|
|
317
|
+
"source": "https://docs.stripe.com/api/customer_portal/configurations/update",
|
|
318
|
+
"operation": "PostBillingPortalConfigurationsConfiguration",
|
|
319
|
+
"input": {
|
|
320
|
+
"active": false
|
|
321
|
+
},
|
|
322
|
+
"output": {
|
|
323
|
+
"active": false
|
|
324
|
+
},
|
|
325
|
+
"means": "active boolean Whether the configuration is active and can be used to create portal sessions."
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"title": "active: a configuration switched on again",
|
|
329
|
+
"source": "https://docs.stripe.com/api/customer_portal/configurations/update",
|
|
330
|
+
"operation": "PostBillingPortalConfigurationsConfiguration",
|
|
331
|
+
"input": {
|
|
332
|
+
"active": true
|
|
333
|
+
},
|
|
334
|
+
"output": {
|
|
335
|
+
"active": true
|
|
336
|
+
},
|
|
337
|
+
"means": "active boolean Whether the configuration is active and can be used to create portal sessions."
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"title": "Create a Custom connected account",
|
|
341
|
+
"source": "https://docs.stripe.com/connect/custom-accounts",
|
|
342
|
+
"operation": "PostAccounts",
|
|
343
|
+
"input": {
|
|
344
|
+
"country": "US",
|
|
345
|
+
"type": "custom",
|
|
346
|
+
"capabilities": {
|
|
347
|
+
"card_payments": {
|
|
348
|
+
"requested": true
|
|
349
|
+
},
|
|
350
|
+
"transfers": {
|
|
351
|
+
"requested": true
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
"output": {
|
|
356
|
+
"type": "custom"
|
|
357
|
+
},
|
|
358
|
+
"means": "The basic process to create and connect a Custom connected account is to call the account creation endpoint, setting type to custom and providing a country and the appropriate capabilities ."
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"title": "rule: a voided invoice cannot be undone",
|
|
362
|
+
"source": "https://docs.stripe.com/api/invoices/void",
|
|
363
|
+
"operation": "PostInvoicesInvoicePay",
|
|
364
|
+
"means": "Mark a finalized invoice as void. This cannot be undone.",
|
|
365
|
+
"status": 400
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"title": "a bank transfer waits for its funds",
|
|
369
|
+
"source": "https://docs.stripe.com/payments/bank-transfers/accept-a-payment",
|
|
370
|
+
"operation": "PostPaymentIntents",
|
|
371
|
+
"input": {
|
|
372
|
+
"payment_method_types": [
|
|
373
|
+
"customer_balance"
|
|
374
|
+
],
|
|
375
|
+
"payment_method_data": {
|
|
376
|
+
"type": "customer_balance"
|
|
377
|
+
},
|
|
378
|
+
"confirm": true
|
|
379
|
+
},
|
|
380
|
+
"output": {
|
|
381
|
+
"status": "requires_action"
|
|
382
|
+
},
|
|
383
|
+
"means": "The PaymentIntent stays in a requires_action status until funds arrive in the bank account."
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"title": "rule: a product with prices is not deleted",
|
|
387
|
+
"source": "https://docs.stripe.com/api/products/delete",
|
|
388
|
+
"operation": "DeleteProductsId",
|
|
389
|
+
"means": "Delete a product. Deleting a product is only possible if it has no prices associated with it.",
|
|
390
|
+
"status": 400
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
"title": "rule: both capabilities are disabled while either is inactive",
|
|
394
|
+
"source": "https://docs.stripe.com/connect/account-capabilities",
|
|
395
|
+
"operation": "PostTransfers",
|
|
396
|
+
"means": "If a connected account has both card_payments and transfers , and the status of either one is inactive , then both capabilities are disabled.",
|
|
397
|
+
"status": 400
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"title": "rule: a payout the balance does not cover is refused",
|
|
401
|
+
"source": "https://docs.stripe.com/api/payouts/create",
|
|
402
|
+
"operation": "PostPayouts",
|
|
403
|
+
"means": "Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.",
|
|
404
|
+
"status": 400
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"title": "rule: a transfer from a charge succeeds before its funds are available",
|
|
408
|
+
"source": "https://docs.stripe.com/connect/separate-charges-and-transfers",
|
|
409
|
+
"operation": "PostTransfers",
|
|
410
|
+
"input": {
|
|
411
|
+
"source_transaction": "ch_1EXUPv2eZvKYlo2CStIqOmbY"
|
|
412
|
+
},
|
|
413
|
+
"means": "When you specify the associated charge as the transfer’s source_transaction , the transfer request automatically succeeds. However, we don’t execute the transfer until the funds from that charge are available in the platform account."
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"title": "rule: a refund names one of the documented reasons",
|
|
417
|
+
"source": "https://docs.stripe.com/api/refunds/create",
|
|
418
|
+
"operation": "PostRefunds",
|
|
419
|
+
"input": {
|
|
420
|
+
"reason": "outage"
|
|
421
|
+
},
|
|
422
|
+
"means": "String indicating the reason for the refund. If set, possible values are duplicate , fraudulent , and requested_by_customer .",
|
|
423
|
+
"status": 400
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"title": "amount_off",
|
|
427
|
+
"source": "https://docs.stripe.com/api/coupons/create",
|
|
428
|
+
"operation": "PostCoupons",
|
|
429
|
+
"input": {
|
|
430
|
+
"amount_off": 500,
|
|
431
|
+
"currency": "usd"
|
|
432
|
+
},
|
|
433
|
+
"means": "amount_off integer A positive integer representing the amount to subtract from an invoice total (required if percent_off is not passed)."
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"title": "error_if_incomplete",
|
|
437
|
+
"source": "https://docs.stripe.com/api/subscriptions/create",
|
|
438
|
+
"operation": "PostSubscriptions",
|
|
439
|
+
"input": {
|
|
440
|
+
"payment_behavior": "error_if_incomplete"
|
|
441
|
+
},
|
|
442
|
+
"means": "error_if_incomplete If payment fails, return an HTTP 402 status code and don’t create the subscription.",
|
|
443
|
+
"status": 402
|
|
444
|
+
}
|
|
445
|
+
]
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"patches": [
|
|
3
|
+
{
|
|
4
|
+
"op": "add",
|
|
5
|
+
"path": "/components/schemas/invoiceitem/properties/net_amount/nullable",
|
|
6
|
+
"value": true,
|
|
7
|
+
"why": "The spec types an invoice item's net_amount as a bare integer, yet its own description says the field answers null for every discountable item, so the field is nullable.",
|
|
8
|
+
"source": {
|
|
9
|
+
"spec": "/components/schemas/invoiceitem/properties/net_amount/description",
|
|
10
|
+
"quote": "This field is `null` for `discountable=true` items."
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"op": "add",
|
|
15
|
+
"path": "/components/schemas/file/properties/purpose/enum/-",
|
|
16
|
+
"value": "issuing_logo",
|
|
17
|
+
"why": "The spec's personalization-design card_logo says \"Must have a `purpose` value of `issuing_logo`\", yet neither the File object's purpose nor the file upload's purpose lists it; Stripe's own guide uploads the logo with that purpose (https://docs.stripe.com/issuing/cards/physical/create-design.md?testing-method=with-code), so issuing_logo is a purpose a file has.",
|
|
18
|
+
"source": {
|
|
19
|
+
"url": "https://docs.stripe.com/issuing/cards/physical/create-design.md?testing-method=with-code",
|
|
20
|
+
"quote": "Use the [Files API](https://docs.stripe.com/api/files/create.md) to upload a .PNG file of your card logo, and specify the purpose as `issuing_logo`."
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"op": "add",
|
|
25
|
+
"path": "/paths/~1v1~1files/post/requestBody/content/multipart~1form-data/schema/properties/purpose/enum/-",
|
|
26
|
+
"value": "issuing_logo",
|
|
27
|
+
"why": "The spec's personalization-design card_logo says \"Must have a `purpose` value of `issuing_logo`\", yet neither the File object's purpose nor the file upload's purpose lists it; Stripe's own guide uploads the logo with that purpose (https://docs.stripe.com/issuing/cards/physical/create-design.md?testing-method=with-code), so issuing_logo is a purpose a file has.",
|
|
28
|
+
"source": {
|
|
29
|
+
"url": "https://docs.stripe.com/issuing/cards/physical/create-design.md?testing-method=with-code",
|
|
30
|
+
"quote": "Use the [Files API](https://docs.stripe.com/api/files/create.md) to upload a .PNG file of your card logo, and specify the purpose as `issuing_logo`."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|