diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_does_not_exist/raises_an_error.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_does_not_exist/raises_an_error.yml index 5585e4a56a..824ae450b5 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_does_not_exist/raises_an_error.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_does_not_exist/raises_an_error.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_f4uKDNQoWEHZAO","request_duration_ms":716}}' + - '{"last_request_metrics":{"request_id":"req_CYs5cyIYrDtms1","request_duration_ms":912}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -31,7 +31,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:48 GMT + - Mon, 01 Apr 2024 10:29:55 GMT Content-Type: - application/json Content-Length: @@ -58,15 +58,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - 152331f8-291c-4868-9982-b11126d0185c + - d1e06c14-a4a9-4ece-a1c7-2d1d82b4ce87 Original-Request: - - req_xinDj3jks15YZe + - req_ydZEGvejtkVfYi Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_xinDj3jks15YZe + - req_ydZEGvejtkVfYi Stripe-Should-Retry: - 'false' Stripe-Version: @@ -81,7 +81,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1Oy1x2KuuB1fWySnybrNr9sw", + "id": "pm_1P0i7jKuuB1fWySn7ueU6TCh", "object": "payment_method", "billing_details": { "address": { @@ -122,13 +122,13 @@ http_interactions: }, "wallet": null }, - "created": 1711328628, + "created": 1711967395, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 25 Mar 2024 01:03:48 GMT + recorded_at: Mon, 01 Apr 2024 10:29:55 GMT - request: method: get uri: https://api.stripe.com/v1/customers/non_existing_customer_id @@ -143,7 +143,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_xinDj3jks15YZe","request_duration_ms":421}}' + - '{"last_request_metrics":{"request_id":"req_ydZEGvejtkVfYi","request_duration_ms":478}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -160,7 +160,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:48 GMT + - Mon, 01 Apr 2024 10:29:56 GMT Content-Type: - application/json Content-Length: @@ -192,7 +192,7 @@ http_interactions: Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_vbYhhjl7RaarHT + - req_kaJToof4XVcxfw Stripe-Version: - '2023-10-16' Vary: @@ -210,9 +210,301 @@ http_interactions: "doc_url": "https://stripe.com/docs/error-codes/resource-missing", "message": "No such customer: 'non_existing_customer_id'", "param": "id", - "request_log_url": "https://dashboard.stripe.com/test/logs/req_vbYhhjl7RaarHT?t=1711328628", + "request_log_url": "https://dashboard.stripe.com/test/logs/req_kaJToof4XVcxfw?t=1711967395", "type": "invalid_request_error" } } - recorded_at: Mon, 25 Mar 2024 01:03:48 GMT + recorded_at: Mon, 01 Apr 2024 10:29:56 GMT +- request: + method: post + uri: https://api.stripe.com/v1/accounts + body: + encoding: UTF-8 + string: type=standard&country=AU&email=apple.producer%40example.com + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_ydZEGvejtkVfYi","request_duration_ms":478}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:57 GMT + Content-Type: + - application/json + Content-Length: + - '3045' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Idempotency-Key: + - 16ba19c4-5895-4831-90f7-1f0020b6d2c7 + Original-Request: + - req_zZAtmDqAXjBliZ + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_zZAtmDqAXjBliZ + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7kQN6BspgMVl", + "object": "account", + "business_profile": { + "annual_revenue": null, + "estimated_worker_count": null, + "mcc": null, + "name": null, + "product_description": null, + "support_address": null, + "support_email": null, + "support_phone": null, + "support_url": null, + "url": null + }, + "business_type": null, + "capabilities": {}, + "charges_enabled": false, + "controller": { + "is_controller": true, + "type": "application" + }, + "country": "AU", + "created": 1711967397, + "default_currency": "aud", + "details_submitted": false, + "email": "apple.producer@example.com", + "external_accounts": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/accounts/acct_1P0i7kQN6BspgMVl/external_accounts" + }, + "future_requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [], + "disabled_reason": null, + "errors": [], + "eventually_due": [], + "past_due": [], + "pending_verification": [] + }, + "metadata": {}, + "payouts_enabled": false, + "requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "disabled_reason": "requirements.past_due", + "errors": [], + "eventually_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "past_due": [ + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "pending_verification": [] + }, + "settings": { + "bacs_debit_payments": { + "display_name": null, + "service_user_number": null + }, + "branding": { + "icon": null, + "logo": null, + "primary_color": null, + "secondary_color": null + }, + "card_issuing": { + "tos_acceptance": { + "date": null, + "ip": null + } + }, + "card_payments": { + "decline_on": { + "avs_failure": false, + "cvc_failure": false + }, + "statement_descriptor_prefix": null, + "statement_descriptor_prefix_kana": null, + "statement_descriptor_prefix_kanji": null + }, + "dashboard": { + "display_name": null, + "timezone": "Etc/UTC" + }, + "invoices": { + "default_account_tax_ids": null + }, + "payments": { + "statement_descriptor": null, + "statement_descriptor_kana": null, + "statement_descriptor_kanji": null + }, + "payouts": { + "debit_negative_balances": true, + "schedule": { + "delay_days": 2, + "interval": "daily" + }, + "statement_descriptor": null + }, + "sepa_debit_payments": {} + }, + "tos_acceptance": { + "date": null, + "ip": null, + "user_agent": null + }, + "type": "standard" + } + recorded_at: Mon, 01 Apr 2024 10:29:57 GMT +- request: + method: delete + uri: https://api.stripe.com/v1/accounts/acct_1P0i7kQN6BspgMVl + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_zZAtmDqAXjBliZ","request_duration_ms":1647}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:58 GMT + Content-Type: + - application/json + Content-Length: + - '77' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts%2F%3Aaccount; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_1T12HskzQnA7vD + Stripe-Account: + - acct_1P0i7kQN6BspgMVl + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7kQN6BspgMVl", + "object": "account", + "deleted": true + } + recorded_at: Mon, 01 Apr 2024 10:29:58 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_deleted/deletes_the_credit_card_clone.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_deleted/deletes_the_credit_card_clone.yml index fa983dc5c0..2ebb93c84a 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_deleted/deletes_the_credit_card_clone.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_deleted/deletes_the_credit_card_clone.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_dhqez2Z135e7g2","request_duration_ms":409}}' + - '{"last_request_metrics":{"request_id":"req_rbpTKQEa57sHfG","request_duration_ms":912}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -31,7 +31,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:46 GMT + - Mon, 01 Apr 2024 10:29:51 GMT Content-Type: - application/json Content-Length: @@ -58,15 +58,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - a8630c1c-3eac-4d74-b3ca-b70e86513927 + - 9a9bca93-d831-4d81-b47a-bd05f4f61b04 Original-Request: - - req_tt7EbIbRXg52u5 + - req_0DyzOk2iA0A0ij Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_tt7EbIbRXg52u5 + - req_0DyzOk2iA0A0ij Stripe-Should-Retry: - 'false' Stripe-Version: @@ -81,7 +81,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1Oy1x0KuuB1fWySngOngDsAy", + "id": "pm_1P0i7eKuuB1fWySn0BtsXTu8", "object": "payment_method", "billing_details": { "address": { @@ -122,13 +122,13 @@ http_interactions: }, "wallet": null }, - "created": 1711328626, + "created": 1711967390, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 25 Mar 2024 01:03:46 GMT + recorded_at: Mon, 01 Apr 2024 10:29:51 GMT - request: method: post uri: https://api.stripe.com/v1/customers @@ -143,7 +143,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_tt7EbIbRXg52u5","request_duration_ms":460}}' + - '{"last_request_metrics":{"request_id":"req_0DyzOk2iA0A0ij","request_duration_ms":533}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -160,7 +160,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:47 GMT + - Mon, 01 Apr 2024 10:29:51 GMT Content-Type: - application/json Content-Length: @@ -187,15 +187,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - 55f0d6f9-f0d8-4a88-91f5-9b95b6d1b1a3 + - ba70c906-f630-4092-8a61-0bec6183a748 Original-Request: - - req_LfQoCioNArL3X3 + - req_kIz5bfnc11jwVI Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_LfQoCioNArL3X3 + - req_kIz5bfnc11jwVI Stripe-Should-Retry: - 'false' Stripe-Version: @@ -210,18 +210,18 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "cus_PndDefpSdaBAvE", + "id": "cus_PqOvluNCLAk1mM", "object": "customer", "address": null, "balance": 0, - "created": 1711328626, + "created": 1711967391, "currency": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "applecustomer@example.com", - "invoice_prefix": "16CD447C", + "invoice_prefix": "B8CF2444", "invoice_settings": { "custom_fields": null, "default_payment_method": null, @@ -238,13 +238,13 @@ http_interactions: "tax_exempt": "none", "test_clock": null } - recorded_at: Mon, 25 Mar 2024 01:03:47 GMT + recorded_at: Mon, 01 Apr 2024 10:29:51 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_methods/pm_1Oy1x0KuuB1fWySngOngDsAy/attach + uri: https://api.stripe.com/v1/payment_methods/pm_1P0i7eKuuB1fWySn0BtsXTu8/attach body: encoding: UTF-8 - string: customer=cus_PndDefpSdaBAvE + string: customer=cus_PqOvluNCLAk1mM headers: User-Agent: - Stripe/v1 RubyBindings/10.13.0 @@ -253,7 +253,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_LfQoCioNArL3X3","request_duration_ms":511}}' + - '{"last_request_metrics":{"request_id":"req_kIz5bfnc11jwVI","request_duration_ms":507}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -270,7 +270,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:47 GMT + - Mon, 01 Apr 2024 10:29:52 GMT Content-Type: - application/json Content-Length: @@ -298,15 +298,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - 313281d3-a159-4da7-8472-6c89595c1d02 + - 634f6e95-0f90-4807-8a16-a94d49760538 Original-Request: - - req_f4uKDNQoWEHZAO + - req_GDtfjLPuzWtuQH Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_f4uKDNQoWEHZAO + - req_GDtfjLPuzWtuQH Stripe-Should-Retry: - 'false' Stripe-Version: @@ -321,7 +321,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1Oy1x0KuuB1fWySngOngDsAy", + "id": "pm_1P0i7eKuuB1fWySn0BtsXTu8", "object": "payment_method", "billing_details": { "address": { @@ -362,11 +362,303 @@ http_interactions: }, "wallet": null }, - "created": 1711328626, - "customer": "cus_PndDefpSdaBAvE", + "created": 1711967390, + "customer": "cus_PqOvluNCLAk1mM", "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 25 Mar 2024 01:03:47 GMT + recorded_at: Mon, 01 Apr 2024 10:29:52 GMT +- request: + method: post + uri: https://api.stripe.com/v1/accounts + body: + encoding: UTF-8 + string: type=standard&country=AU&email=apple.producer%40example.com + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_GDtfjLPuzWtuQH","request_duration_ms":706}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:54 GMT + Content-Type: + - application/json + Content-Length: + - '3045' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Idempotency-Key: + - 890a33be-a4bd-4760-85c4-14e2e0842cce + Original-Request: + - req_smWHmdll7twdoW + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_smWHmdll7twdoW + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7gQOcsMRPuMj", + "object": "account", + "business_profile": { + "annual_revenue": null, + "estimated_worker_count": null, + "mcc": null, + "name": null, + "product_description": null, + "support_address": null, + "support_email": null, + "support_phone": null, + "support_url": null, + "url": null + }, + "business_type": null, + "capabilities": {}, + "charges_enabled": false, + "controller": { + "is_controller": true, + "type": "application" + }, + "country": "AU", + "created": 1711967393, + "default_currency": "aud", + "details_submitted": false, + "email": "apple.producer@example.com", + "external_accounts": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/accounts/acct_1P0i7gQOcsMRPuMj/external_accounts" + }, + "future_requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [], + "disabled_reason": null, + "errors": [], + "eventually_due": [], + "past_due": [], + "pending_verification": [] + }, + "metadata": {}, + "payouts_enabled": false, + "requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "disabled_reason": "requirements.past_due", + "errors": [], + "eventually_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "past_due": [ + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "pending_verification": [] + }, + "settings": { + "bacs_debit_payments": { + "display_name": null, + "service_user_number": null + }, + "branding": { + "icon": null, + "logo": null, + "primary_color": null, + "secondary_color": null + }, + "card_issuing": { + "tos_acceptance": { + "date": null, + "ip": null + } + }, + "card_payments": { + "decline_on": { + "avs_failure": false, + "cvc_failure": false + }, + "statement_descriptor_prefix": null, + "statement_descriptor_prefix_kana": null, + "statement_descriptor_prefix_kanji": null + }, + "dashboard": { + "display_name": null, + "timezone": "Etc/UTC" + }, + "invoices": { + "default_account_tax_ids": null + }, + "payments": { + "statement_descriptor": null, + "statement_descriptor_kana": null, + "statement_descriptor_kanji": null + }, + "payouts": { + "debit_negative_balances": true, + "schedule": { + "delay_days": 2, + "interval": "daily" + }, + "statement_descriptor": null + }, + "sepa_debit_payments": {} + }, + "tos_acceptance": { + "date": null, + "ip": null, + "user_agent": null + }, + "type": "standard" + } + recorded_at: Mon, 01 Apr 2024 10:29:54 GMT +- request: + method: delete + uri: https://api.stripe.com/v1/accounts/acct_1P0i7gQOcsMRPuMj + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_smWHmdll7twdoW","request_duration_ms":1717}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:55 GMT + Content-Type: + - application/json + Content-Length: + - '77' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts%2F%3Aaccount; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_CYs5cyIYrDtms1 + Stripe-Account: + - acct_1P0i7gQOcsMRPuMj + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7gQOcsMRPuMj", + "object": "account", + "deleted": true + } + recorded_at: Mon, 01 Apr 2024 10:29:55 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_not_deleted/deletes_the_credit_card_clone_and_the_customer.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_not_deleted/deletes_the_credit_card_clone_and_the_customer.yml index aa3fc830ce..3dcd459139 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_not_deleted/deletes_the_credit_card_clone_and_the_customer.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.13.0/Stripe_CreditCardRemover/_remove/Stripe_customer_exists/and_is_not_deleted/deletes_the_credit_card_clone_and_the_customer.yml @@ -13,8 +13,6 @@ http_interactions: - "" Content-Type: - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_8rbpP0dWyISBhg","request_duration_ms":511}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -31,7 +29,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:44 GMT + - Mon, 01 Apr 2024 10:29:45 GMT Content-Type: - application/json Content-Length: @@ -58,15 +56,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - ee8d3056-63d4-4c03-9694-700037ee4acf + - 7db31cab-1323-4d4f-8c57-356d1df7da68 Original-Request: - - req_nMoIkw0CCwGQAa + - req_po05dfR5WTcYjX Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_nMoIkw0CCwGQAa + - req_po05dfR5WTcYjX Stripe-Should-Retry: - 'false' Stripe-Version: @@ -81,7 +79,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1Oy1wxKuuB1fWySnP1rS0DJE", + "id": "pm_1P0i7ZKuuB1fWySnV4nOcrmM", "object": "payment_method", "billing_details": { "address": { @@ -122,13 +120,13 @@ http_interactions: }, "wallet": null }, - "created": 1711328624, + "created": 1711967385, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 25 Mar 2024 01:03:44 GMT + recorded_at: Mon, 01 Apr 2024 10:29:45 GMT - request: method: post uri: https://api.stripe.com/v1/customers @@ -143,7 +141,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_nMoIkw0CCwGQAa","request_duration_ms":446}}' + - '{"last_request_metrics":{"request_id":"req_po05dfR5WTcYjX","request_duration_ms":709}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -160,7 +158,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:44 GMT + - Mon, 01 Apr 2024 10:29:46 GMT Content-Type: - application/json Content-Length: @@ -187,15 +185,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - da3c6a8d-1859-4c3f-b949-e755b6aea586 + - c5e35cd7-d1f1-4a8e-98c5-0f58e57dd9ff Original-Request: - - req_igTG24PWT6amPb + - req_9Y6oyXcwwZPYk2 Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_igTG24PWT6amPb + - req_9Y6oyXcwwZPYk2 Stripe-Should-Retry: - 'false' Stripe-Version: @@ -210,18 +208,18 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "cus_PndDIk2HJos3eg", + "id": "cus_PqOvbIa0hOWGHx", "object": "customer", "address": null, "balance": 0, - "created": 1711328624, + "created": 1711967386, "currency": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "applecustomer@example.com", - "invoice_prefix": "FDB50758", + "invoice_prefix": "42C2AF34", "invoice_settings": { "custom_fields": null, "default_payment_method": null, @@ -238,13 +236,13 @@ http_interactions: "tax_exempt": "none", "test_clock": null } - recorded_at: Mon, 25 Mar 2024 01:03:44 GMT + recorded_at: Mon, 01 Apr 2024 10:29:46 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_methods/pm_1Oy1wxKuuB1fWySnP1rS0DJE/attach + uri: https://api.stripe.com/v1/payment_methods/pm_1P0i7ZKuuB1fWySnV4nOcrmM/attach body: encoding: UTF-8 - string: customer=cus_PndDIk2HJos3eg + string: customer=cus_PqOvbIa0hOWGHx headers: User-Agent: - Stripe/v1 RubyBindings/10.13.0 @@ -253,7 +251,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_igTG24PWT6amPb","request_duration_ms":510}}' + - '{"last_request_metrics":{"request_id":"req_9Y6oyXcwwZPYk2","request_duration_ms":558}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -270,7 +268,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:45 GMT + - Mon, 01 Apr 2024 10:29:46 GMT Content-Type: - application/json Content-Length: @@ -298,15 +296,15 @@ http_interactions: Cross-Origin-Opener-Policy-Report-Only: - same-origin; report-to="coop" Idempotency-Key: - - 9c49732a-8525-4ef9-8942-fb8642eccf3d + - 61de0f6a-0afe-4b87-ae4b-8d11cc6c2cf0 Original-Request: - - req_dGoo5IXZLRKooB + - req_MSB1Kdfo0sTpdH Report-To: - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_dGoo5IXZLRKooB + - req_MSB1Kdfo0sTpdH Stripe-Should-Retry: - 'false' Stripe-Version: @@ -321,7 +319,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1Oy1wxKuuB1fWySnP1rS0DJE", + "id": "pm_1P0i7ZKuuB1fWySnV4nOcrmM", "object": "payment_method", "billing_details": { "address": { @@ -362,16 +360,16 @@ http_interactions: }, "wallet": null }, - "created": 1711328624, - "customer": "cus_PndDIk2HJos3eg", + "created": 1711967385, + "customer": "cus_PqOvbIa0hOWGHx", "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 25 Mar 2024 01:03:45 GMT + recorded_at: Mon, 01 Apr 2024 10:29:47 GMT - request: method: get - uri: https://api.stripe.com/v1/customers/cus_PndDIk2HJos3eg + uri: https://api.stripe.com/v1/customers/cus_PqOvbIa0hOWGHx body: encoding: US-ASCII string: '' @@ -383,7 +381,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_dGoo5IXZLRKooB","request_duration_ms":608}}' + - '{"last_request_metrics":{"request_id":"req_MSB1Kdfo0sTpdH","request_duration_ms":702}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -400,7 +398,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:45 GMT + - Mon, 01 Apr 2024 10:29:47 GMT Content-Type: - application/json Content-Length: @@ -432,7 +430,7 @@ http_interactions: Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_aBsmD9I20lq0W5 + - req_v8BRvklpAugSOQ Stripe-Version: - '2023-10-16' Vary: @@ -445,18 +443,18 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "cus_PndDIk2HJos3eg", + "id": "cus_PqOvbIa0hOWGHx", "object": "customer", "address": null, "balance": 0, - "created": 1711328624, + "created": 1711967386, "currency": null, "default_source": null, "delinquent": false, "description": null, "discount": null, "email": "applecustomer@example.com", - "invoice_prefix": "FDB50758", + "invoice_prefix": "42C2AF34", "invoice_settings": { "custom_fields": null, "default_payment_method": null, @@ -473,10 +471,10 @@ http_interactions: "tax_exempt": "none", "test_clock": null } - recorded_at: Mon, 25 Mar 2024 01:03:45 GMT + recorded_at: Mon, 01 Apr 2024 10:29:47 GMT - request: method: delete - uri: https://api.stripe.com/v1/customers/cus_PndDIk2HJos3eg + uri: https://api.stripe.com/v1/customers/cus_PqOvbIa0hOWGHx body: encoding: US-ASCII string: '' @@ -488,7 +486,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_aBsmD9I20lq0W5","request_duration_ms":302}}' + - '{"last_request_metrics":{"request_id":"req_v8BRvklpAugSOQ","request_duration_ms":267}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -505,7 +503,7 @@ http_interactions: Server: - nginx Date: - - Mon, 25 Mar 2024 01:03:46 GMT + - Mon, 01 Apr 2024 10:29:47 GMT Content-Type: - application/json Content-Length: @@ -537,7 +535,7 @@ http_interactions: Reporting-Endpoints: - coop="https://q.stripe.com/coop-report" Request-Id: - - req_dhqez2Z135e7g2 + - req_EzjgtHJg9Lsg8z Stripe-Version: - '2023-10-16' Vary: @@ -550,9 +548,301 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "cus_PndDIk2HJos3eg", + "id": "cus_PqOvbIa0hOWGHx", "object": "customer", "deleted": true } - recorded_at: Mon, 25 Mar 2024 01:03:46 GMT + recorded_at: Mon, 01 Apr 2024 10:29:47 GMT +- request: + method: post + uri: https://api.stripe.com/v1/accounts + body: + encoding: UTF-8 + string: type=standard&country=AU&email=apple.producer%40example.com + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_EzjgtHJg9Lsg8z","request_duration_ms":386}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:49 GMT + Content-Type: + - application/json + Content-Length: + - '3045' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Idempotency-Key: + - 805a7508-1b56-4cf7-8e53-3ff26392c3cd + Original-Request: + - req_XSF73TDvh1uwNG + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_XSF73TDvh1uwNG + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7bQQIgNTjlQP", + "object": "account", + "business_profile": { + "annual_revenue": null, + "estimated_worker_count": null, + "mcc": null, + "name": null, + "product_description": null, + "support_address": null, + "support_email": null, + "support_phone": null, + "support_url": null, + "url": null + }, + "business_type": null, + "capabilities": {}, + "charges_enabled": false, + "controller": { + "is_controller": true, + "type": "application" + }, + "country": "AU", + "created": 1711967388, + "default_currency": "aud", + "details_submitted": false, + "email": "apple.producer@example.com", + "external_accounts": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/accounts/acct_1P0i7bQQIgNTjlQP/external_accounts" + }, + "future_requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [], + "disabled_reason": null, + "errors": [], + "eventually_due": [], + "past_due": [], + "pending_verification": [] + }, + "metadata": {}, + "payouts_enabled": false, + "requirements": { + "alternatives": [], + "current_deadline": null, + "currently_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "disabled_reason": "requirements.past_due", + "errors": [], + "eventually_due": [ + "business_profile.product_description", + "business_profile.support_phone", + "business_profile.url", + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "past_due": [ + "external_account", + "tos_acceptance.date", + "tos_acceptance.ip" + ], + "pending_verification": [] + }, + "settings": { + "bacs_debit_payments": { + "display_name": null, + "service_user_number": null + }, + "branding": { + "icon": null, + "logo": null, + "primary_color": null, + "secondary_color": null + }, + "card_issuing": { + "tos_acceptance": { + "date": null, + "ip": null + } + }, + "card_payments": { + "decline_on": { + "avs_failure": false, + "cvc_failure": false + }, + "statement_descriptor_prefix": null, + "statement_descriptor_prefix_kana": null, + "statement_descriptor_prefix_kanji": null + }, + "dashboard": { + "display_name": null, + "timezone": "Etc/UTC" + }, + "invoices": { + "default_account_tax_ids": null + }, + "payments": { + "statement_descriptor": null, + "statement_descriptor_kana": null, + "statement_descriptor_kanji": null + }, + "payouts": { + "debit_negative_balances": true, + "schedule": { + "delay_days": 2, + "interval": "daily" + }, + "statement_descriptor": null + }, + "sepa_debit_payments": {} + }, + "tos_acceptance": { + "date": null, + "ip": null, + "user_agent": null + }, + "type": "standard" + } + recorded_at: Mon, 01 Apr 2024 10:29:49 GMT +- request: + method: delete + uri: https://api.stripe.com/v1/accounts/acct_1P0i7bQQIgNTjlQP + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.13.0 + Authorization: + - "" + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_XSF73TDvh1uwNG","request_duration_ms":1654}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - "" + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Server: + - nginx + Date: + - Mon, 01 Apr 2024 10:29:50 GMT + Content-Type: + - application/json + Content-Length: + - '77' + Connection: + - keep-alive + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Allow-Methods: + - GET,HEAD,PUT,PATCH,POST,DELETE + Access-Control-Allow-Origin: + - "*" + Access-Control-Expose-Headers: + - Request-Id, Stripe-Manage-Version, Stripe-Should-Retry, X-Stripe-External-Auth-Required, + X-Stripe-Privileged-Session-Required + Access-Control-Max-Age: + - '300' + Cache-Control: + - no-cache, no-store + Content-Security-Policy: + - report-uri https://q.stripe.com/csp-report?p=v1%2Faccounts%2F%3Aaccount; block-all-mixed-content; + default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; + img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' + Cross-Origin-Opener-Policy-Report-Only: + - same-origin; report-to="coop" + Report-To: + - '{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}' + Reporting-Endpoints: + - coop="https://q.stripe.com/coop-report" + Request-Id: + - req_rbpTKQEa57sHfG + Stripe-Account: + - acct_1P0i7bQQIgNTjlQP + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "acct_1P0i7bQQIgNTjlQP", + "object": "account", + "deleted": true + } + recorded_at: Mon, 01 Apr 2024 10:29:50 GMT recorded_with: VCR 6.2.0 diff --git a/spec/lib/stripe/credit_card_remover_spec.rb b/spec/lib/stripe/credit_card_remover_spec.rb index 7cbfa23738..39638ee82d 100644 --- a/spec/lib/stripe/credit_card_remover_spec.rb +++ b/spec/lib/stripe/credit_card_remover_spec.rb @@ -36,6 +36,10 @@ describe Stripe::CreditCardRemover do let(:cloner) { Stripe::CreditCardCloner.new(credit_card, connected_account.id) } + after do + Stripe::Account.delete(connected_account.id) + end + context 'Stripe customer exists' do let(:payment_method_id) { pm_card.id } let(:customer_id) { customer.id }