From e0e89e64520e802fde14d968fe737e3aa816b45f Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Tue, 6 Feb 2024 11:16:53 +1100 Subject: [PATCH 1/7] Finally remove StripePaymentIntentsGateway decorator Add spec for Spree::Gateway::StripeSCA#void It also partially fix 11670, refund of Stripe payment should now work for complete order --- .../refunds_the_payment.yml | 1149 +++++++++++++++++ .../void_the_payment.yml | 524 ++++++++ .../refunds_the_payment.yml | 877 +++++++++++++ .../void_the_payment.yml | 530 ++++++++ 4 files changed, 3080 insertions(+) create mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml create mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml create mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml create mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml new file mode 100644 index 0000000000..c3cce8b8a6 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml @@ -0,0 +1,1149 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_RQ4tnyZMxaTrfg","request_duration_ms":920}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:37 GMT + Content-Type: + - application/json + Content-Length: + - '942' + 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%2Fpayment_methods%2F%3Apayment_method; + 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' + Request-Id: + - req_AMPupOEWxQpMvJ + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '140.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pm_1OiqTZGkyVbTBiYeSbdHHVBU", + "object": "payment_method", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "card": { + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "unchecked" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "fingerprint": "1Zr75a6zBSZLu0Zp", + "funding": "credit", + "generated_from": null, + "last4": "4444", + "networks": { + "available": [ + "mastercard" + ], + "preferred": null + }, + "three_d_secure_usage": { + "supported": true + }, + "wallet": null + }, + "created": 1707709597, + "customer": null, + "livemode": false, + "metadata": {}, + "type": "card" + } + recorded_at: Mon, 12 Feb 2024 03:46:37 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents + body: + encoding: UTF-8 + string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=manual + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_AMPupOEWxQpMvJ","request_duration_ms":356}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1APQreGkyVbTBiYe + 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, 12 Feb 2024 03:46:38 GMT + Content-Type: + - application/json + Content-Length: + - '1344' + 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%2Fpayment_intents; 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' + Idempotency-Key: + - 65755257-63df-450c-9bf4-90d6512d869a + Original-Request: + - req_Y9z6pafg0X39IU + Request-Id: + - req_Y9z6pafg0X39IU + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '306.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", + "confirmation_method": "automatic", + "created": 1707709598, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_confirmation", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:38 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV/confirm + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_Y9z6pafg0X39IU","request_duration_ms":528}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:39 GMT + Content-Type: + - application/json + Content-Length: + - '1367' + 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%2Fpayment_intents%2F%3Aintent%2Fconfirm; + 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' + Idempotency-Key: + - 43c15925-cb4a-4302-8ba7-1c60c45a4148 + Original-Request: + - req_nFqQkMl1tz0Za6 + Request-Id: + - req_nFqQkMl1tz0Za6 + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '722.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 1000, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", + "confirmation_method": "automatic", + "created": 1707709598, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_capture", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:39 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV/capture + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_nFqQkMl1tz0Za6","request_duration_ms":1012}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:40 GMT + Content-Type: + - application/json + Content-Length: + - '1360' + 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%2Fpayment_intents%2F%3Aintent%2Fcapture; + 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' + Idempotency-Key: + - 369fad8e-e4ff-4766-a931-602e295519d8 + Original-Request: + - req_UkosKenQjluRqt + Request-Id: + - req_UkosKenQjluRqt + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '676.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", + "confirmation_method": "automatic", + "created": 1707709598, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:40 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_UkosKenQjluRqt","request_duration_ms":869}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1APQreGkyVbTBiYe + 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, 12 Feb 2024 03:46:41 GMT + Content-Type: + - application/json + Content-Length: + - '1360' + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_bkByviWmLTQOfW + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '60.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", + "confirmation_method": "automatic", + "created": 1707709598, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:41 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1APQreGkyVbTBiYe + Connection: + - close + 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, 12 Feb 2024 03:46:41 GMT + Content-Type: + - application/json + Content-Length: + - '5139' + Connection: + - close + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_UtyUK1MQapAOEz + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '117.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "charges": { + "object": "list", + "data": [ + { + "id": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "object": "charge", + "amount": 1000, + "amount_captured": 1000, + "amount_refunded": 0, + "application": null, + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3OiqTaGkyVbTBiYe0AQLBi3e", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OPENFOODNETWORK", + "captured": true, + "created": 1707709599, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 13, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_details": { + "card": { + "amount_authorized": 1000, + "brand": "mastercard", + "capture_before": 1708314399, + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "1Zr75a6zBSZLu0Zp", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 1000, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQVBRcmVHa3lWYlRCaVllKKGppq4GMgYKu9Q4B5A6LBaTUzdg_aQZMp9WlQueacwdHTSVg_dxKop9ZZpxY9MYvYW5Q-ZabNXYn7dp", + "refunded": false, + "refunds": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges?payment_intent=pi_3OiqTaGkyVbTBiYe0nUcBPZV" + }, + "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", + "confirmation_method": "automatic", + "created": 1707709598, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:41 GMT +- request: + method: post + uri: https://api.stripe.com/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds + body: + encoding: UTF-8 + string: amount=1000&expand[0]=charge + headers: + Content-Type: + - application/x-www-form-urlencoded + Authorization: + - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1APQreGkyVbTBiYe + Connection: + - close + 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, 12 Feb 2024 03:46:42 GMT + Content-Type: + - application/json + Content-Length: + - '4547' + Connection: + - close + 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%2Fcharges%2F%3Acharge%2Frefunds; + 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' + Idempotency-Key: + - 5fd98021-2934-4a23-a462-2686b02d6be4 + Original-Request: + - req_GrOgrUV9vyH0dN + Request-Id: + - req_GrOgrUV9vyH0dN + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "re_3OiqTaGkyVbTBiYe0K4k5Khy", + "object": "refund", + "amount": 1000, + "balance_transaction": "txn_3OiqTaGkyVbTBiYe09TPiL12", + "charge": { + "id": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "object": "charge", + "amount": 1000, + "amount_captured": 1000, + "amount_refunded": 1000, + "application": null, + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3OiqTaGkyVbTBiYe0AQLBi3e", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OPENFOODNETWORK", + "captured": true, + "created": 1707709599, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 13, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", + "payment_method_details": { + "card": { + "amount_authorized": 1000, + "brand": "mastercard", + "capture_before": 1708314399, + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "1Zr75a6zBSZLu0Zp", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 1000, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQVBRcmVHa3lWYlRCaVllKKKppq4GMgbB94RxQuw6LBajaUJ_Nzh33IT18N1M4-HhSrvYWIOIFfijUMVA2zy0iqBh8K2_OWFkLTEf", + "refunded": true, + "refunds": { + "object": "list", + "data": [ + { + "id": "re_3OiqTaGkyVbTBiYe0K4k5Khy", + "object": "refund", + "amount": 1000, + "balance_transaction": "txn_3OiqTaGkyVbTBiYe09TPiL12", + "charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", + "created": 1707709602, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + }, + "created": 1707709602, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + recorded_at: Mon, 12 Feb 2024 03:46:42 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml new file mode 100644 index 0000000000..24fb9dc483 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml @@ -0,0 +1,524 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_bkByviWmLTQOfW","request_duration_ms":359}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:43 GMT + Content-Type: + - application/json + Content-Length: + - '942' + 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%2Fpayment_methods%2F%3Apayment_method; + 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' + Request-Id: + - req_XABjvmIDq8zdLB + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '167.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", + "object": "payment_method", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "card": { + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "unchecked" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "fingerprint": "1Zr75a6zBSZLu0Zp", + "funding": "credit", + "generated_from": null, + "last4": "4444", + "networks": { + "available": [ + "mastercard" + ], + "preferred": null + }, + "three_d_secure_usage": { + "supported": true + }, + "wallet": null + }, + "created": 1707709603, + "customer": null, + "livemode": false, + "metadata": {}, + "type": "card" + } + recorded_at: Mon, 12 Feb 2024 03:46:43 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents + body: + encoding: UTF-8 + string: amount=1000¤cy=aud&payment_method=pm_1OiqTfGkyVbTBiYe3NHcuFzj&payment_method_types[0]=card&capture_method=manual + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_XABjvmIDq8zdLB","request_duration_ms":484}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:44 GMT + Content-Type: + - application/json + Content-Length: + - '1344' + 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%2Fpayment_intents; 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' + Idempotency-Key: + - 5e88c180-041d-449f-821d-34f26e16ca9e + Original-Request: + - req_tQWBPCGhiMCP0g + Request-Id: + - req_tQWBPCGhiMCP0g + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '193.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", + "confirmation_method": "automatic", + "created": 1707709604, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_confirmation", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:44 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTgGkyVbTBiYe0de0qJ91 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.2.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_tQWBPCGhiMCP0g","request_duration_ms":509}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 03:46:44 GMT + Content-Type: + - application/json + Content-Length: + - '1344' + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_3zPIl85xE98iJP + Stripe-Version: + - '2023-10-16' + Vary: + - Origin + X-Stripe-Non-Api-Overhead-Duration-Ms: + - '63.0' + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", + "confirmation_method": "automatic", + "created": 1707709604, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_confirmation", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:44 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTgGkyVbTBiYe0de0qJ91/cancel + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + Authorization: + - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Connection: + - close + 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, 12 Feb 2024 03:46:45 GMT + Content-Type: + - application/json + Content-Length: + - '1508' + Connection: + - close + 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%2Fpayment_intents%2F%3Aintent%2Fcancel; + 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' + Idempotency-Key: + - dd6026b4-78e9-49c7-a4af-365d48f10eb8 + Original-Request: + - req_Ez0PQVQfU8IYRv + Request-Id: + - req_Ez0PQVQfU8IYRv + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": 1707709605, + "cancellation_reason": null, + "capture_method": "manual", + "charges": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/charges?payment_intent=pi_3OiqTgGkyVbTBiYe0de0qJ91" + }, + "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", + "confirmation_method": "automatic", + "created": 1707709604, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "canceled", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 03:46:45 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml new file mode 100644 index 0000000000..91615dbb4a --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml @@ -0,0 +1,877 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents + body: + encoding: UTF-8 + string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=automatic&confirm=true + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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, 12 Feb 2024 22:53:08 GMT + Content-Type: + - application/json + Content-Length: + - '1396' + 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%2Fpayment_intents; 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' + Idempotency-Key: + - 9f9ede9d-96ac-4441-b545-e1eb438336d2 + Original-Request: + - req_lB6oA68zTMJrpJ + Request-Id: + - req_lB6oA68zTMJrpJ + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", + "confirmation_method": "automatic", + "created": 1707778387, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:09 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_lB6oA68zTMJrpJ","request_duration_ms":1832}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 22:53:11 GMT + Content-Type: + - application/json + Content-Length: + - '942' + 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%2Fpayment_methods%2F%3Apayment_method; + 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' + Request-Id: + - req_MPSEbWRjRHc1xo + 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": "pm_1Oj8N8KuuB1fWySnY2lqbAGk", + "object": "payment_method", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "card": { + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "unchecked" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "generated_from": null, + "last4": "4444", + "networks": { + "available": [ + "mastercard" + ], + "preferred": null + }, + "three_d_secure_usage": { + "supported": true + }, + "wallet": null + }, + "created": 1707778390, + "customer": null, + "livemode": false, + "metadata": {}, + "type": "card" + } + recorded_at: Mon, 12 Feb 2024 22:53:11 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8N5QQeZbvfZRJ0DWbfoMx + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_MPSEbWRjRHc1xo","request_duration_ms":1078}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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, 12 Feb 2024 22:53:11 GMT + Content-Type: + - application/json + Content-Length: + - '1396' + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_kqqjMU3wRPfz7h + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", + "confirmation_method": "automatic", + "created": 1707778387, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:11 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8N5QQeZbvfZRJ0DWbfoMx + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Connection: + - close + 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, 12 Feb 2024 22:53:12 GMT + Content-Type: + - application/json + Content-Length: + - '5159' + Connection: + - close + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_2ZdR6OrOajgOec + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 1000, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "charges": { + "object": "list", + "data": [ + { + "id": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "object": "charge", + "amount": 1000, + "amount_captured": 1000, + "amount_refunded": 0, + "application": "", + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0VVf4rtO", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OFNOFNOFN", + "captured": true, + "created": 1707778388, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 0, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", + "payment_method_details": { + "card": { + "amount_authorized": 1000, + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 1000, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2haOWxRUWVaYnZmWlJKKNjCqq4GMgZz3nu_-qs6LBbP4HIvOO9vohwzYRZA73lI9cjv8LnAaahU-8StFSQ0AW4v1eUKfrTSCc8c", + "refunded": false, + "refunds": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges?payment_intent=pi_3Oj8N5QQeZbvfZRJ0DWbfoMx" + }, + "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", + "confirmation_method": "automatic", + "created": 1707778387, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:12 GMT +- request: + method: post + uri: https://api.stripe.com/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds + body: + encoding: UTF-8 + string: amount=1000&expand[0]=charge + headers: + Content-Type: + - application/x-www-form-urlencoded + Authorization: + - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Connection: + - close + 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, 12 Feb 2024 22:53:13 GMT + Content-Type: + - application/json + Content-Length: + - '4535' + Connection: + - close + 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%2Fcharges%2F%3Acharge%2Frefunds; + 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' + Idempotency-Key: + - cf4f970c-f6b3-4e76-b233-4eab0e385c71 + Original-Request: + - req_38Iu12IYZJwYz3 + Request-Id: + - req_38Iu12IYZJwYz3 + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "re_3Oj8N5QQeZbvfZRJ0x3xrJep", + "object": "refund", + "amount": 1000, + "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0446g84e", + "charge": { + "id": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "object": "charge", + "amount": 1000, + "amount_captured": 1000, + "amount_refunded": 1000, + "application": "", + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0VVf4rtO", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OFNOFNOFN", + "captured": true, + "created": 1707778388, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 0, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", + "payment_method_details": { + "card": { + "amount_authorized": 1000, + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 1000, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2haOWxRUWVaYnZmWlJKKNnCqq4GMgYb2YoorMU6LBZPiModP9pA5IE5ehBQl5Kwr5IwrCYjcU1OlRxOtlsEdsxBrK09r38JrH1o", + "refunded": true, + "refunds": { + "object": "list", + "data": [ + { + "id": "re_3Oj8N5QQeZbvfZRJ0x3xrJep", + "object": "refund", + "amount": 1000, + "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0446g84e", + "charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", + "created": 1707778392, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + }, + "created": 1707778392, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + recorded_at: Mon, 12 Feb 2024 22:53:13 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml new file mode 100644 index 0000000000..f8eb537ca2 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml @@ -0,0 +1,530 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents + body: + encoding: UTF-8 + string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=manual + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_kqqjMU3wRPfz7h","request_duration_ms":485}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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, 12 Feb 2024 22:53:14 GMT + Content-Type: + - application/json + Content-Length: + - '1377' + 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%2Fpayment_intents; 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' + Idempotency-Key: + - 816e3630-03dc-4f3a-b4c6-5e88e3322536 + Original-Request: + - req_6jrnUl6aZNQxLk + Request-Id: + - req_6jrnUl6aZNQxLk + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", + "confirmation_method": "automatic", + "created": 1707778394, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_confirmation", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:14 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_6jrnUl6aZNQxLk","request_duration_ms":572}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 12 Feb 2024 22:53:15 GMT + Content-Type: + - application/json + Content-Length: + - '942' + 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%2Fpayment_methods%2F%3Apayment_method; + 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' + Request-Id: + - req_fiClXhKKwaSAmy + 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": "pm_1Oj8NDKuuB1fWySnzaxDjTO2", + "object": "payment_method", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "card": { + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "unchecked" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "generated_from": null, + "last4": "4444", + "networks": { + "available": [ + "mastercard" + ], + "preferred": null + }, + "three_d_secure_usage": { + "supported": true + }, + "wallet": null + }, + "created": 1707778395, + "customer": null, + "livemode": false, + "metadata": {}, + "type": "card" + } + recorded_at: Mon, 12 Feb 2024 22:53:15 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8NCQQeZbvfZRJ1ahXc6sm + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.6.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_fiClXhKKwaSAmy","request_duration_ms":535}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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, 12 Feb 2024 22:53:15 GMT + Content-Type: + - application/json + Content-Length: + - '1377' + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_mclrPggiyKYO9S + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + 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": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "manual", + "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", + "confirmation_method": "automatic", + "created": 1707778394, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "requires_confirmation", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:15 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8NCQQeZbvfZRJ1ahXc6sm/cancel + body: + encoding: US-ASCII + string: '' + headers: + Content-Type: + - application/x-www-form-urlencoded + Authorization: + - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Connection: + - close + 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, 12 Feb 2024 22:53:16 GMT + Content-Type: + - application/json + Content-Length: + - '1541' + Connection: + - close + 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%2Fpayment_intents%2F%3Aintent%2Fcancel; + 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' + Idempotency-Key: + - 3e00f853-05da-4290-86df-fad9bca9d5ea + Original-Request: + - req_clYJJBeUWvA3Fe + Request-Id: + - req_clYJJBeUWvA3Fe + Stripe-Account: + - acct_1OhZ9lQQeZbvfZRJ + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", + "object": "payment_intent", + "amount": 1000, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 0, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": 1707778396, + "cancellation_reason": null, + "capture_method": "manual", + "charges": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/charges?payment_intent=pi_3Oj8NCQQeZbvfZRJ1ahXc6sm" + }, + "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", + "confirmation_method": "automatic", + "created": 1707778394, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": null, + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "canceled", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 12 Feb 2024 22:53:16 GMT +recorded_with: VCR 6.2.0 From 8fb3f9a8b834416fb6d2e6aa6bff187746ddcb72 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Wed, 14 Feb 2024 16:58:33 +1100 Subject: [PATCH 2/7] Remove "ujs-navigate": "false" from link It somehow was causing a double loading of the page meaning flash messages were lost. I suspect it's related to turbo/turbo link, but I am not sure. --- app/views/spree/admin/payments/_list.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/spree/admin/payments/_list.html.haml b/app/views/spree/admin/payments/_list.html.haml index cbae3b95c6..975f171457 100644 --- a/app/views/spree/admin/payments/_list.html.haml +++ b/app/views/spree/admin/payments/_list.html.haml @@ -19,4 +19,4 @@ %td.actions - payment.actions.each do |action| = link_to_with_icon "icon-#{action}", Spree.t(action), fire_admin_order_payment_path(@order, payment, e: action), - no_text: true, data: { method: :put, "ujs-navigate": "false", action: action, disable_with: "" } + no_text: true, data: { method: :put, action: action, disable_with: "" } From f63485582650903800dce98337195ecc8372c526 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 19 Feb 2024 13:49:29 +1100 Subject: [PATCH 3/7] Add request spec for Spree::Admin::PaymentsController --- spec/requests/spree/admin/payments_spec.rb | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 spec/requests/spree/admin/payments_spec.rb diff --git a/spec/requests/spree/admin/payments_spec.rb b/spec/requests/spree/admin/payments_spec.rb new file mode 100644 index 0000000000..1c63e1dba3 --- /dev/null +++ b/spec/requests/spree/admin/payments_spec.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +require "spec_helper" + +describe Spree::Admin::PaymentsController, type: :request do + let(:user) { order.user } + let(:order) { create(:completed_order_with_fees) } + + before do + sign_in create(:admin_user) + end + + describe "PUT /admin/orders/:order_number/payments/:id/fire" do + let(:payment) do + create( + :payment, + payment_method: stripe_payment_method, + order:, + response_code: "pi_123", + amount: order.total, + state: "completed" + ) + end + let(:stripe_payment_method) do + create(:stripe_sca_payment_method, distributors: [order.distributor]) + end + let(:headers) { { HTTP_REFERER: spree.admin_order_payments_url(order) } } + + before do + order.update(payments: []) + order.payments << payment + end + + context "with no event parameter" do + it "redirect to payments page" do + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire", + params: {}, + headers: + ) + + expect(response).to redirect_to(spree.admin_order_payments_url(order)) + end + end + + context "with no payment source" do + it "redirect to payments page" do + allow(payment).to receive(:payment_source).and_return(nil) + + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: + ) + + expect(response).to redirect_to(spree.admin_order_payments_url(order)) + end + end + + context "with 'void' parameter" do + before do + allow(Spree::Payment).to receive(:find).and_return(payment) + end + + it "calls void_transaction! on payment" do + expect(payment).to receive(:void_transaction!) + + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: + ) + end + + it "redirect to payments page" do + allow(payment).to receive(:void_transaction!).and_return(true) + + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: + ) + + expect(response).to redirect_to(spree.admin_order_payments_url(order)) + expect(flash[:success]).to eq "Payment Updated" + end + + context "when void_transaction! fails" do + it "set an error flash message" do + allow(payment).to receive(:void_transaction!).and_return(false) + + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: + ) + + expect(response).to redirect_to(spree.admin_order_payments_url(order)) + expect(flash[:error]).to eq "Could not update the payment" + end + end + end + + context "when something unexpected happen" do + before do + allow(Spree::Payment).to receive(:find).and_return(payment) + allow(payment).to receive(:void_transaction!).and_raise(StandardError, "Unexpected !") + end + + pending "log the error message" do + # The redirect_do also calls Rails.logger.error + expect(Rails.logger).to receive(:error).with("Unexpected !").ordered + expect(Rails.logger).to receive(:error).with(/Redirected/).ordered + + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: { HTTP_REFERER: spree.admin_order_payments_url(order) } + ) + + expect(flash[:error]).to eq "Unexpected !" + end + + it "redirect to payments page" do + put( + "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", + params: {}, + headers: + ) + + expect(response).to redirect_to(spree.admin_order_payments_url(order)) + end + end + end +end From e5cd8e5216417ccc5828d1e3d5693b1bc9ea460a Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 19 Feb 2024 13:51:40 +1100 Subject: [PATCH 4/7] Log error when something goes wrong Plus spec. The old implementation would swallow the error, all we had was a flash message feedback --- app/controllers/spree/admin/payments_controller.rb | 1 + spec/requests/spree/admin/payments_spec.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index 40dcd40adc..4bf6ebcdcc 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -59,6 +59,7 @@ module Spree flash[:error] = t(:cannot_perform_operation) end rescue StandardError => e + logger.error e.message flash[:error] = e.message ensure redirect_to request.referer diff --git a/spec/requests/spree/admin/payments_spec.rb b/spec/requests/spree/admin/payments_spec.rb index 1c63e1dba3..14829a5cde 100644 --- a/spec/requests/spree/admin/payments_spec.rb +++ b/spec/requests/spree/admin/payments_spec.rb @@ -107,7 +107,7 @@ describe Spree::Admin::PaymentsController, type: :request do allow(payment).to receive(:void_transaction!).and_raise(StandardError, "Unexpected !") end - pending "log the error message" do + it "log the error message" do # The redirect_do also calls Rails.logger.error expect(Rails.logger).to receive(:error).with("Unexpected !").ordered expect(Rails.logger).to receive(:error).with(/Redirected/).ordered From b5beeead74811ae627e07d906f6055b5dd473fdc Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Mon, 19 Feb 2024 15:54:51 +1100 Subject: [PATCH 5/7] Remove stripe stub for refund scenario --- .../allows_to_refund_the_payment.yml | 1083 +++++++++++++++++ spec/system/admin/payments_stripe_spec.rb | 56 +- 2 files changed, 1129 insertions(+), 10 deletions(-) create mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml new file mode 100644 index 0000000000..f0f9811e4c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml @@ -0,0 +1,1083 @@ +--- +http_interactions: +- request: + method: post + uri: https://api.stripe.com/v1/accounts + body: + encoding: UTF-8 + string: type=standard&country=AU&email=lettuce.producer%40example.com + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.9.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 19 Feb 2024 04:49:58 GMT + Content-Type: + - application/json + Content-Length: + - '3047' + 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' + Idempotency-Key: + - '080c28fe-bf04-4bf4-b8fb-2de1553807f9' + Original-Request: + - req_OFkGs1PTfTIYBQ + Request-Id: + - req_OFkGs1PTfTIYBQ + 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_1OlOnh4DrjTkIiGc", + "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": 1708318198, + "default_currency": "aud", + "details_submitted": false, + "email": "lettuce.producer@example.com", + "external_accounts": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/accounts/acct_1OlOnh4DrjTkIiGc/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, 19 Feb 2024 04:49:59 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.9.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_OFkGs1PTfTIYBQ","request_duration_ms":1863}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + 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, 19 Feb 2024 04:49:59 GMT + Content-Type: + - application/json + Content-Length: + - '977' + 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%2Fpayment_methods%2F%3Apayment_method; + 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' + Request-Id: + - req_soUyhfKwZhKKIe + 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": "pm_1OlOnjKuuB1fWySnerRwttvn", + "object": "payment_method", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "card": { + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "unchecked" + }, + "country": "US", + "display_brand": "mastercard", + "exp_month": 2, + "exp_year": 2025, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "generated_from": null, + "last4": "4444", + "networks": { + "available": [ + "mastercard" + ], + "preferred": null + }, + "three_d_secure_usage": { + "supported": true + }, + "wallet": null + }, + "created": 1708318199, + "customer": null, + "livemode": false, + "metadata": {}, + "type": "card" + } + recorded_at: Mon, 19 Feb 2024 04:49:59 GMT +- request: + method: post + uri: https://api.stripe.com/v1/payment_intents + body: + encoding: UTF-8 + string: amount=2600¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=automatic&confirm=true + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.9.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + X-Stripe-Client-Telemetry: + - '{"last_request_metrics":{"request_id":"req_soUyhfKwZhKKIe","request_duration_ms":404}}' + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + 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, 19 Feb 2024 04:50:00 GMT + Content-Type: + - application/json + Content-Length: + - '1396' + 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%2Fpayment_intents; 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' + Idempotency-Key: + - f56d4ec6-ace4-49d2-920e-65c5193f88bd + Original-Request: + - req_pLXq0WNwg4Npt3 + Request-Id: + - req_pLXq0WNwg4Npt3 + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + 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": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "object": "payment_intent", + "amount": 2600, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 2600, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "confirmation_method": "automatic", + "created": 1708318199, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 19 Feb 2024 04:50:00 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3OlOnj4DrjTkIiGc1iEHWCj7 + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Stripe/v1 RubyBindings/10.9.0 + Authorization: + - Bearer + Content-Type: + - application/x-www-form-urlencoded + Stripe-Version: + - '2023-10-16' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) + 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon + Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + 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, 19 Feb 2024 04:50:04 GMT + Content-Type: + - application/json + Content-Length: + - '1396' + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_ZrmoVqR1dyyI5v + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + 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": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "object": "payment_intent", + "amount": 2600, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 2600, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "confirmation_method": "automatic", + "created": 1708318199, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 19 Feb 2024 04:50:04 GMT +- request: + method: get + uri: https://api.stripe.com/v1/payment_intents/pi_3OlOnj4DrjTkIiGc1iEHWCj7 + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + Connection: + - close + 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, 19 Feb 2024 04:50:04 GMT + Content-Type: + - application/json + Content-Length: + - '5159' + Connection: + - close + 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%2Fpayment_intents%2F%3Aintent; + 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' + Request-Id: + - req_m2BjE8qiOHzdRN + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "object": "payment_intent", + "amount": 2600, + "amount_capturable": 0, + "amount_details": { + "tip": {} + }, + "amount_received": 2600, + "application": "", + "application_fee_amount": null, + "automatic_payment_methods": null, + "canceled_at": null, + "cancellation_reason": null, + "capture_method": "automatic", + "charges": { + "object": "list", + "data": [ + { + "id": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "object": "charge", + "amount": 2600, + "amount_captured": 2600, + "amount_refunded": 0, + "application": "", + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3OlOnj4DrjTkIiGc1QIV5KMf", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OFNOFNOFN", + "captured": true, + "created": 1708318200, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 3, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method_details": { + "card": { + "amount_authorized": 2600, + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 2600, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2xPbmg0RHJqVGtJaUdjKPy7y64GMgZlEc2e4b06LBZY7Tt6ig6d7dupjAf68f3PGKuQMqO9NUphbFMBZU-CjqowPd-ONrzf-8bd", + "refunded": false, + "refunds": { + "object": "list", + "data": [], + "has_more": false, + "total_count": 0, + "url": "/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges?payment_intent=pi_3OlOnj4DrjTkIiGc1iEHWCj7" + }, + "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "confirmation_method": "automatic", + "created": 1708318199, + "currency": "aud", + "customer": null, + "description": null, + "invoice": null, + "last_payment_error": null, + "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "livemode": false, + "metadata": {}, + "next_action": null, + "on_behalf_of": null, + "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method_configuration_details": null, + "payment_method_options": { + "card": { + "installments": null, + "mandate_options": null, + "network": null, + "request_three_d_secure": "automatic" + } + }, + "payment_method_types": [ + "card" + ], + "processing": null, + "receipt_email": null, + "review": null, + "setup_future_usage": null, + "shipping": null, + "source": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + } + recorded_at: Mon, 19 Feb 2024 04:50:04 GMT +- request: + method: post + uri: https://api.stripe.com/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds + body: + encoding: UTF-8 + string: amount=2600&expand[0]=charge + headers: + Content-Type: + - application/x-www-form-urlencoded + Authorization: + - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== + User-Agent: + - Stripe/v1 ActiveMerchantBindings/1.133.0 + Stripe-Version: + - '2020-08-27' + X-Stripe-Client-User-Agent: + - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' + X-Stripe-Client-User-Metadata: + - '{"ip":null}' + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + Connection: + - close + 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, 19 Feb 2024 04:50:05 GMT + Content-Type: + - application/json + Content-Length: + - '4535' + Connection: + - close + 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%2Fcharges%2F%3Acharge%2Frefunds; + 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' + Idempotency-Key: + - 1b8d39f3-3bb8-4a60-a178-2768228fb73e + Original-Request: + - req_l0EsxXri7DgcL9 + Request-Id: + - req_l0EsxXri7DgcL9 + Stripe-Account: + - acct_1OlOnh4DrjTkIiGc + Stripe-Should-Retry: + - 'false' + Stripe-Version: + - '2020-08-27' + Vary: + - Origin + X-Stripe-Routing-Context-Priority-Tier: + - api-testmode + Strict-Transport-Security: + - max-age=63072000; includeSubDomains; preload + body: + encoding: UTF-8 + string: |- + { + "id": "re_3OlOnj4DrjTkIiGc1pWf9r3j", + "object": "refund", + "amount": 2600, + "balance_transaction": "txn_3OlOnj4DrjTkIiGc1P4q6qLC", + "charge": { + "id": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "object": "charge", + "amount": 2600, + "amount_captured": 2600, + "amount_refunded": 2600, + "application": "", + "application_fee": null, + "application_fee_amount": null, + "balance_transaction": "txn_3OlOnj4DrjTkIiGc1QIV5KMf", + "billing_details": { + "address": { + "city": null, + "country": null, + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "email": null, + "name": null, + "phone": null + }, + "calculated_statement_descriptor": "OFNOFNOFN", + "captured": true, + "created": 1708318200, + "currency": "aud", + "customer": null, + "description": null, + "destination": null, + "dispute": null, + "disputed": false, + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "fraud_details": {}, + "invoice": null, + "livemode": false, + "metadata": {}, + "on_behalf_of": null, + "order": null, + "outcome": { + "network_status": "approved_by_network", + "reason": null, + "risk_level": "normal", + "risk_score": 3, + "seller_message": "Payment complete.", + "type": "authorized" + }, + "paid": true, + "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method_details": { + "card": { + "amount_authorized": 2600, + "brand": "mastercard", + "checks": { + "address_line1_check": null, + "address_postal_code_check": null, + "cvc_check": "pass" + }, + "country": "US", + "exp_month": 2, + "exp_year": 2025, + "extended_authorization": { + "status": "disabled" + }, + "fingerprint": "BL35fEFVcTTS5wpE", + "funding": "credit", + "incremental_authorization": { + "status": "unavailable" + }, + "installments": null, + "last4": "4444", + "mandate": null, + "multicapture": { + "status": "unavailable" + }, + "network": "mastercard", + "network_token": { + "used": false + }, + "overcapture": { + "maximum_amount_capturable": 2600, + "status": "unavailable" + }, + "three_d_secure": null, + "wallet": null + }, + "type": "card" + }, + "radar_options": {}, + "receipt_email": null, + "receipt_number": null, + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2xPbmg0RHJqVGtJaUdjKP27y64GMgZnIlT1Zf06LBbNwtDA2sE27yzhjhIpPRbNCrXXjMnki_VUq5Y0kn1NUuSRpBkjvBqIvH_S", + "refunded": true, + "refunds": { + "object": "list", + "data": [ + { + "id": "re_3OlOnj4DrjTkIiGc1pWf9r3j", + "object": "refund", + "amount": 2600, + "balance_transaction": "txn_3OlOnj4DrjTkIiGc1P4q6qLC", + "charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "created": 1708318205, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + ], + "has_more": false, + "total_count": 1, + "url": "/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds" + }, + "review": null, + "shipping": null, + "source": null, + "source_transfer": null, + "statement_descriptor": null, + "statement_descriptor_suffix": null, + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + }, + "created": 1708318205, + "currency": "aud", + "destination_details": { + "card": { + "reference_status": "pending", + "reference_type": "acquirer_reference_number", + "type": "refund" + }, + "type": "card" + }, + "metadata": {}, + "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + } + recorded_at: Mon, 19 Feb 2024 04:50:05 GMT +recorded_with: VCR 6.2.0 diff --git a/spec/system/admin/payments_stripe_spec.rb b/spec/system/admin/payments_stripe_spec.rb index b9c8774708..13ff3a6b6f 100644 --- a/spec/system/admin/payments_stripe_spec.rb +++ b/spec/system/admin/payments_stripe_spec.rb @@ -18,11 +18,11 @@ describe ' create(:stripe_account, enterprise: order.distributor, stripe_user_id: "abc123") end - around do |example| - with_stripe_setup { example.run } - end - context "making a new Stripe payment" do + around do |example| + with_stripe_setup { example.run } + end + before do stub_payment_methods_post_request stub_payment_intent_get_request @@ -145,14 +145,50 @@ describe ' end end - context "that is completed" do - let(:payment) { OrderPaymentFinder.new(order.reload).last_payment } + context "that is completed", :vcr, :stripe_version do + let(:payment) do + create( + :payment, + order:, + amount: order.total, + payment_method: stripe_payment_method, + source: credit_card, + response_code: payment_intent.id, + state: "completed" + ) + end + + let(:connected_account) do + Stripe::Account.create({ + type: 'standard', + country: 'AU', + email: 'lettuce.producer@example.com' + }) + end + let(:stripe_test_account) { connected_account.id } + # Stripe testing card: + # https://stripe.com/docs/testing?testing-method=payment-methods + let(:pm_card) { Stripe::PaymentMethod.retrieve('pm_card_mastercard') } + let(:credit_card) { create(:credit_card, gateway_payment_profile_id: pm_card.id) } + let(:payment_intent) do + Stripe::PaymentIntent.create( + { + amount: (order.total * 100).to_i, # given in AUD cents + currency: 'aud', # AUD to match order currency + payment_method: 'pm_card_mastercard', + payment_method_types: ['card'], + capture_method: 'automatic', + confirm: true + }, + stripe_account: stripe_test_account + ) + end before do - payment.update response_code: "pi_123", amount: order.total, state: "completed" - stub_payment_intent_get_request response: { intent_status: "succeeded" }, - stripe_account_header: false - stub_refund_request + stripe_account.update!(stripe_user_id: stripe_test_account) + + order.update payments: [] + order.payments << payment end it "allows to refund the payment" do From 48ba23af1c9d91a08bca7bf4eea89f5633e472f9 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Wed, 28 Feb 2024 15:08:57 +1100 Subject: [PATCH 6/7] Notify BugSnag when something unexpected happens --- app/controllers/spree/admin/payments_controller.rb | 1 + spec/requests/spree/admin/payments_spec.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index 4bf6ebcdcc..041dacf8d6 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -60,6 +60,7 @@ module Spree end rescue StandardError => e logger.error e.message + Bugsnag.notify(e) flash[:error] = e.message ensure redirect_to request.referer diff --git a/spec/requests/spree/admin/payments_spec.rb b/spec/requests/spree/admin/payments_spec.rb index 14829a5cde..c8ff325554 100644 --- a/spec/requests/spree/admin/payments_spec.rb +++ b/spec/requests/spree/admin/payments_spec.rb @@ -111,6 +111,7 @@ describe Spree::Admin::PaymentsController, type: :request do # The redirect_do also calls Rails.logger.error expect(Rails.logger).to receive(:error).with("Unexpected !").ordered expect(Rails.logger).to receive(:error).with(/Redirected/).ordered + expect(Bugsnag).to receive(:notify).with(StandardError) put( "/admin/orders/#{order.number}/payments/#{order.payments.first.id}/fire?e=void", From 8e56e076a303498dc4faca5af39be39493b7df14 Mon Sep 17 00:00:00 2001 From: Gaetan Craig-Riou Date: Wed, 28 Feb 2024 15:26:51 +1100 Subject: [PATCH 7/7] Re record VCR cassettes after rebase --- .../_credit/refunds_the_payment.yml | 134 +- ...t_intent_state_is_not_requires_capture.yml | 52 +- .../_purchase/completes_the_purchase.yml | 120 +- ..._error_message_to_help_developer_debug.yml | 58 +- .../refunds_the_payment.yml | 174 +-- .../void_the_payment.yml | 104 +- .../allows_to_refund_the_payment.yml | 186 +-- .../refunds_the_payment.yml | 1149 ----------------- .../void_the_payment.yml | 524 -------- .../refunds_the_payment.yml | 877 ------------- .../void_the_payment.yml | 530 -------- 11 files changed, 413 insertions(+), 3495 deletions(-) rename spec/fixtures/vcr_cassettes/{Stripe-v10.9.0 => Stripe-v10.10.0}/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml (86%) delete mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml delete mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml delete mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml delete mode 100644 spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_credit/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_credit/refunds_the_payment.yml index e3ffecb990..55f69d9eb6 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_credit/refunds_the_payment.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_credit/refunds_the_payment.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_waW9Ckkv5MVQ5c","request_duration_ms":399}}' + - '{"last_request_metrics":{"request_id":"req_o2i92svEF6wZ9X","request_duration_ms":396}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +34,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:21 GMT + - Wed, 28 Feb 2024 04:23:09 GMT Content-Type: - application/json Content-Length: @@ -59,11 +59,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 2b301d19-cc91-43de-a99b-7bf4f00570e1 + - 3d3d1721-0516-4615-b6d1-dcf32c7fe0b2 Original-Request: - - req_mkQqGEicm5NuUZ + - req_FYW1iyKrExg9pI Request-Id: - - req_mkQqGEicm5NuUZ + - req_FYW1iyKrExg9pI Stripe-Should-Retry: - 'false' Stripe-Version: @@ -78,7 +78,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "acct_1OoDRAQRoLKdE8Em", + "id": "acct_1Ooeff4DenidF2LU", "object": "account", "business_profile": { "annual_revenue": null, @@ -100,7 +100,7 @@ http_interactions: "type": "application" }, "country": "AU", - "created": 1708989500, + "created": 1709094188, "default_currency": "aud", "details_submitted": false, "email": "carrot.producer@example.com", @@ -109,7 +109,7 @@ http_interactions: "data": [], "has_more": false, "total_count": 0, - "url": "/v1/accounts/acct_1OoDRAQRoLKdE8Em/external_accounts" + "url": "/v1/accounts/acct_1Ooeff4DenidF2LU/external_accounts" }, "future_requirements": { "alternatives": [], @@ -206,7 +206,7 @@ http_interactions: }, "type": "standard" } - recorded_at: Mon, 26 Feb 2024 23:18:21 GMT + recorded_at: Wed, 28 Feb 2024 04:23:09 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents @@ -221,7 +221,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_mkQqGEicm5NuUZ","request_duration_ms":1875}}' + - '{"last_request_metrics":{"request_id":"req_FYW1iyKrExg9pI","request_duration_ms":1973}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -230,7 +230,7 @@ http_interactions: 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -243,7 +243,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:23 GMT + - Wed, 28 Feb 2024 04:23:11 GMT Content-Type: - application/json Content-Length: @@ -268,13 +268,13 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 0666d344-fa19-4fd7-931a-fea5c97fbd18 + - ee331c2c-1b37-4a83-a81b-96388aa9da31 Original-Request: - - req_5pxAgyGnD6hohF + - req_0zdTS2eXS52wv3 Request-Id: - - req_5pxAgyGnD6hohF + - req_0zdTS2eXS52wv3 Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Stripe-Should-Retry: - 'false' Stripe-Version: @@ -289,7 +289,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", + "id": "pi_3Ooefi4DenidF2LU1DyZ34Mm", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -303,20 +303,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", - "client_secret": "pi_3OoDRCQRoLKdE8Em1MEAqw8K_secret_V5WhuZ8znPBBUc87sQ3xEpFYt", + "client_secret": "pi_3Ooefi4DenidF2LU1DyZ34Mm_secret_w379gPpBGChVwBEUepP0qlRB0", "confirmation_method": "automatic", - "created": 1708989502, + "created": 1709094190, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDRCQRoLKdE8Em1jzh5JMF", + "latest_charge": "ch_3Ooefi4DenidF2LU1gG37Leq", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDRCQRoLKdE8EmoaCnokMm", + "payment_method": "pm_1Ooefh4DenidF2LU9tRCdeQl", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -341,10 +341,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:23 GMT + recorded_at: Wed, 28 Feb 2024 04:23:11 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDRCQRoLKdE8Em1MEAqw8K + uri: https://api.stripe.com/v1/payment_intents/pi_3Ooefi4DenidF2LU1DyZ34Mm body: encoding: US-ASCII string: '' @@ -360,7 +360,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Connection: - close Accept-Encoding: @@ -375,7 +375,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:23 GMT + - Wed, 28 Feb 2024 04:23:11 GMT Content-Type: - application/json Content-Length: @@ -401,9 +401,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_yR8P9t9VBU4Rwr + - req_dpwxzBlEqboYmG Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Stripe-Version: - '2020-08-27' Vary: @@ -416,7 +416,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", + "id": "pi_3Ooefi4DenidF2LU1DyZ34Mm", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -434,7 +434,7 @@ http_interactions: "object": "list", "data": [ { - "id": "ch_3OoDRCQRoLKdE8Em1jzh5JMF", + "id": "ch_3Ooefi4DenidF2LU1gG37Leq", "object": "charge", "amount": 1000, "amount_captured": 1000, @@ -442,7 +442,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OoDRCQRoLKdE8Em1JsGfBVA", + "balance_transaction": "txn_3Ooefi4DenidF2LU1A5YW6L5", "billing_details": { "address": { "city": null, @@ -458,7 +458,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708989502, + "created": 1709094190, "currency": "aud", "customer": null, "description": null, @@ -478,13 +478,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 64, + "risk_score": 60, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", - "payment_method": "pm_1OoDRCQRoLKdE8EmoaCnokMm", + "payment_intent": "pi_3Ooefi4DenidF2LU1DyZ34Mm", + "payment_method": "pm_1Ooefh4DenidF2LU9tRCdeQl", "payment_method_details": { "card": { "amount_authorized": 1000, @@ -527,14 +527,14 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29EUkFRUm9MS2RFOEVtKL-49K4GMgYhxpkERrk6LBY1srJNKxFJi2C32U7trpmJVOZpe12b9XdmSn95IM_2Hs_2sTtaeW09TK9b", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29lZmY0RGVuaWRGMkxVKK_q-q4GMgZJ1VM-2OM6LBb4D48xGlDpdG-HkaSEFwnz19gNCEL6o7LPe7Gh8_xibxWVk8tEJTqByzNe", "refunded": false, "refunds": { "object": "list", "data": [], "has_more": false, "total_count": 0, - "url": "/v1/charges/ch_3OoDRCQRoLKdE8Em1jzh5JMF/refunds" + "url": "/v1/charges/ch_3Ooefi4DenidF2LU1gG37Leq/refunds" }, "review": null, "shipping": null, @@ -549,22 +549,22 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3OoDRCQRoLKdE8Em1MEAqw8K" + "url": "/v1/charges?payment_intent=pi_3Ooefi4DenidF2LU1DyZ34Mm" }, - "client_secret": "pi_3OoDRCQRoLKdE8Em1MEAqw8K_secret_V5WhuZ8znPBBUc87sQ3xEpFYt", + "client_secret": "pi_3Ooefi4DenidF2LU1DyZ34Mm_secret_w379gPpBGChVwBEUepP0qlRB0", "confirmation_method": "automatic", - "created": 1708989502, + "created": 1709094190, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDRCQRoLKdE8Em1jzh5JMF", + "latest_charge": "ch_3Ooefi4DenidF2LU1gG37Leq", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDRCQRoLKdE8EmoaCnokMm", + "payment_method": "pm_1Ooefh4DenidF2LU9tRCdeQl", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -589,10 +589,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:23 GMT + recorded_at: Wed, 28 Feb 2024 04:23:11 GMT - request: method: post - uri: https://api.stripe.com/v1/charges/ch_3OoDRCQRoLKdE8Em1jzh5JMF/refunds + uri: https://api.stripe.com/v1/charges/ch_3Ooefi4DenidF2LU1gG37Leq/refunds body: encoding: UTF-8 string: amount=1000&expand[0]=charge @@ -610,7 +610,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Connection: - close Accept-Encoding: @@ -625,7 +625,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:24 GMT + - Wed, 28 Feb 2024 04:23:12 GMT Content-Type: - application/json Content-Length: @@ -651,13 +651,13 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - a7cb6bb0-5988-44c8-afd9-fd3a16ff04f1 + - f967618e-2bff-4c64-8875-82306c718be6 Original-Request: - - req_hbIdRwHvlCo7RG + - req_5Yjwd0ugW4geJy Request-Id: - - req_hbIdRwHvlCo7RG + - req_5Yjwd0ugW4geJy Stripe-Account: - - acct_1OoDRAQRoLKdE8Em + - acct_1Ooeff4DenidF2LU Stripe-Should-Retry: - 'false' Stripe-Version: @@ -672,12 +672,12 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "re_3OoDRCQRoLKdE8Em1JQ7tHyu", + "id": "re_3Ooefi4DenidF2LU1hzSgbUz", "object": "refund", "amount": 1000, - "balance_transaction": "txn_3OoDRCQRoLKdE8Em14wLLKJa", + "balance_transaction": "txn_3Ooefi4DenidF2LU1oUen4EE", "charge": { - "id": "ch_3OoDRCQRoLKdE8Em1jzh5JMF", + "id": "ch_3Ooefi4DenidF2LU1gG37Leq", "object": "charge", "amount": 1000, "amount_captured": 1000, @@ -685,7 +685,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OoDRCQRoLKdE8Em1JsGfBVA", + "balance_transaction": "txn_3Ooefi4DenidF2LU1A5YW6L5", "billing_details": { "address": { "city": null, @@ -701,7 +701,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708989502, + "created": 1709094190, "currency": "aud", "customer": null, "description": null, @@ -721,13 +721,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 64, + "risk_score": 60, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", - "payment_method": "pm_1OoDRCQRoLKdE8EmoaCnokMm", + "payment_intent": "pi_3Ooefi4DenidF2LU1DyZ34Mm", + "payment_method": "pm_1Ooefh4DenidF2LU9tRCdeQl", "payment_method_details": { "card": { "amount_authorized": 1000, @@ -770,18 +770,18 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29EUkFRUm9MS2RFOEVtKMC49K4GMgYTCZ6Gtyo6LBYY_zKc4wTXwwjIbeUatbB2AqyrCrMD5HzAamZUfY2TDUaexvHISDz42z43", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29lZmY0RGVuaWRGMkxVKLDq-q4GMgYBQPWVApY6LBZIdxWS5NgOoXSKJhVtXOpcQmkL8UTt0n8vbxpQzooi76bsTotoW945k7-i", "refunded": true, "refunds": { "object": "list", "data": [ { - "id": "re_3OoDRCQRoLKdE8Em1JQ7tHyu", + "id": "re_3Ooefi4DenidF2LU1hzSgbUz", "object": "refund", "amount": 1000, - "balance_transaction": "txn_3OoDRCQRoLKdE8Em14wLLKJa", - "charge": "ch_3OoDRCQRoLKdE8Em1jzh5JMF", - "created": 1708989504, + "balance_transaction": "txn_3Ooefi4DenidF2LU1oUen4EE", + "charge": "ch_3Ooefi4DenidF2LU1gG37Leq", + "created": 1709094191, "currency": "aud", "destination_details": { "card": { @@ -792,7 +792,7 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", + "payment_intent": "pi_3Ooefi4DenidF2LU1DyZ34Mm", "reason": null, "receipt_number": null, "source_transfer_reversal": null, @@ -802,7 +802,7 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges/ch_3OoDRCQRoLKdE8Em1jzh5JMF/refunds" + "url": "/v1/charges/ch_3Ooefi4DenidF2LU1gG37Leq/refunds" }, "review": null, "shipping": null, @@ -814,7 +814,7 @@ http_interactions: "transfer_data": null, "transfer_group": null }, - "created": 1708989504, + "created": 1709094191, "currency": "aud", "destination_details": { "card": { @@ -825,12 +825,12 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OoDRCQRoLKdE8Em1MEAqw8K", + "payment_intent": "pi_3Ooefi4DenidF2LU1DyZ34Mm", "reason": null, "receipt_number": null, "source_transfer_reversal": null, "status": "succeeded", "transfer_reversal": null } - recorded_at: Mon, 26 Feb 2024 23:18:24 GMT + recorded_at: Wed, 28 Feb 2024 04:23:12 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_error_message/when_payment_intent_state_is_not_in_requires_capture_state/does_not_succeed_if_payment_intent_state_is_not_requires_capture.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_error_message/when_payment_intent_state_is_not_in_requires_capture_state/does_not_succeed_if_payment_intent_state_is_not_requires_capture.yml index 680defb654..13c2a0be36 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_error_message/when_payment_intent_state_is_not_in_requires_capture_state/does_not_succeed_if_payment_intent_state_is_not_requires_capture.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_error_message/when_payment_intent_state_is_not_in_requires_capture_state/does_not_succeed_if_payment_intent_state_is_not_requires_capture.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_5pxAgyGnD6hohF","request_duration_ms":1395}}' + - '{"last_request_metrics":{"request_id":"req_0zdTS2eXS52wv3","request_duration_ms":1375}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +34,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:25 GMT + - Wed, 28 Feb 2024 04:23:13 GMT Content-Type: - application/json Content-Length: @@ -60,7 +60,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_eSrwVTyd2UFmad + - req_TC671rsepSNnXC Stripe-Version: - '2023-10-16' Vary: @@ -73,7 +73,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OoDRFKuuB1fWySn8MOpYwav", + "id": "pm_1OoeflKuuB1fWySn43Ej2zjy", "object": "payment_method", "billing_details": { "address": { @@ -114,19 +114,19 @@ http_interactions: }, "wallet": null }, - "created": 1708989505, + "created": 1709094193, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 26 Feb 2024 23:18:25 GMT + recorded_at: Wed, 28 Feb 2024 04:23:13 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents body: encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_1OoDRFKuuB1fWySn8MOpYwav&payment_method_types[0]=card&capture_method=manual + string: amount=1000¤cy=aud&payment_method=pm_1OoeflKuuB1fWySn43Ej2zjy&payment_method_types[0]=card&capture_method=manual headers: User-Agent: - Stripe/v1 RubyBindings/10.10.0 @@ -135,7 +135,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_eSrwVTyd2UFmad","request_duration_ms":419}}' + - '{"last_request_metrics":{"request_id":"req_TC671rsepSNnXC","request_duration_ms":342}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -155,7 +155,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:26 GMT + - Wed, 28 Feb 2024 04:23:14 GMT Content-Type: - application/json Content-Length: @@ -180,11 +180,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 184e96b8-67b1-4999-8514-597ace058d9d + - e62b12fb-ca7d-4731-a40d-3ea1fe68ea4e Original-Request: - - req_yXZmn7ZlMMvVbr + - req_iELWfIGpVGFgJW Request-Id: - - req_yXZmn7ZlMMvVbr + - req_iELWfIGpVGFgJW Stripe-Should-Retry: - 'false' Stripe-Version: @@ -199,7 +199,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDRFKuuB1fWySn0MkE2Wwn", + "id": "pi_3OoeflKuuB1fWySn128KWMQF", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -213,9 +213,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDRFKuuB1fWySn0MkE2Wwn_secret_NdqpdBC30d7BgrPsIiBoj8xw8", + "client_secret": "pi_3OoeflKuuB1fWySn128KWMQF_secret_AFZlxzNaGKQhJwyoycEnNnXt9", "confirmation_method": "automatic", - "created": 1708989505, + "created": 1709094193, "currency": "aud", "customer": null, "description": null, @@ -226,7 +226,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDRFKuuB1fWySn8MOpYwav", + "payment_method": "pm_1OoeflKuuB1fWySn43Ej2zjy", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -251,10 +251,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:26 GMT + recorded_at: Wed, 28 Feb 2024 04:23:14 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDRFKuuB1fWySn0MkE2Wwn + uri: https://api.stripe.com/v1/payment_intents/pi_3OoeflKuuB1fWySn128KWMQF body: encoding: US-ASCII string: '' @@ -266,7 +266,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_yXZmn7ZlMMvVbr","request_duration_ms":406}}' + - '{"last_request_metrics":{"request_id":"req_iELWfIGpVGFgJW","request_duration_ms":471}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -286,7 +286,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:26 GMT + - Wed, 28 Feb 2024 04:23:14 GMT Content-Type: - application/json Content-Length: @@ -312,7 +312,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_4LwwjkiCeJTWny + - req_urrrJYueyeMAx7 Stripe-Version: - '2023-10-16' Vary: @@ -325,7 +325,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDRFKuuB1fWySn0MkE2Wwn", + "id": "pi_3OoeflKuuB1fWySn128KWMQF", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -339,9 +339,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDRFKuuB1fWySn0MkE2Wwn_secret_NdqpdBC30d7BgrPsIiBoj8xw8", + "client_secret": "pi_3OoeflKuuB1fWySn128KWMQF_secret_AFZlxzNaGKQhJwyoycEnNnXt9", "confirmation_method": "automatic", - "created": 1708989505, + "created": 1709094193, "currency": "aud", "customer": null, "description": null, @@ -352,7 +352,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDRFKuuB1fWySn8MOpYwav", + "payment_method": "pm_1OoeflKuuB1fWySn43Ej2zjy", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -377,5 +377,5 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:26 GMT + recorded_at: Wed, 28 Feb 2024 04:23:14 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/completes_the_purchase.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/completes_the_purchase.yml index dca273958a..71b0d7ee4e 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/completes_the_purchase.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/completes_the_purchase.yml @@ -13,8 +13,6 @@ http_interactions: - Bearer Content-Type: - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_23MVJCpcGmFoMK","request_duration_ms":714}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +32,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:03 GMT + - Wed, 28 Feb 2024 04:22:50 GMT Content-Type: - application/json Content-Length: @@ -60,7 +58,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_KLpwv6s9SAPg80 + - req_C80lOiQ174c6i0 Stripe-Version: - '2023-10-16' Vary: @@ -73,7 +71,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "id": "pm_1OoefOKuuB1fWySnRppMNGu2", "object": "payment_method", "billing_details": { "address": { @@ -114,19 +112,19 @@ http_interactions: }, "wallet": null }, - "created": 1708989483, + "created": 1709094170, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 26 Feb 2024 23:18:03 GMT + recorded_at: Wed, 28 Feb 2024 04:22:50 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents body: encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_1OoDQtKuuB1fWySnan7tn1C1&payment_method_types[0]=card&capture_method=manual + string: amount=1000¤cy=aud&payment_method=pm_1OoefOKuuB1fWySnRppMNGu2&payment_method_types[0]=card&capture_method=manual headers: User-Agent: - Stripe/v1 RubyBindings/10.10.0 @@ -135,7 +133,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_KLpwv6s9SAPg80","request_duration_ms":361}}' + - '{"last_request_metrics":{"request_id":"req_C80lOiQ174c6i0","request_duration_ms":534}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -155,7 +153,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:04 GMT + - Wed, 28 Feb 2024 04:22:51 GMT Content-Type: - application/json Content-Length: @@ -180,11 +178,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - dbfdf33a-b189-434b-9f35-f84bace3850e + - b22256dd-6a6a-4d2f-8165-1ab4b95b7cce Original-Request: - - req_wMWTTImxxd99lK + - req_I48KhbL4d4cHh2 Request-Id: - - req_wMWTTImxxd99lK + - req_I48KhbL4d4cHh2 Stripe-Should-Retry: - 'false' Stripe-Version: @@ -199,7 +197,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQuKuuB1fWySn2KsZ2dYy", + "id": "pi_3OoefPKuuB1fWySn2a1CUhKr", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -213,9 +211,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDQuKuuB1fWySn2KsZ2dYy_secret_srp4rTvl0vZLelDDasV3hstpA", + "client_secret": "pi_3OoefPKuuB1fWySn2a1CUhKr_secret_jrv3bAuw620fN4yEQ39dnpTkT", "confirmation_method": "automatic", - "created": 1708989484, + "created": 1709094171, "currency": "aud", "customer": null, "description": null, @@ -226,7 +224,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "payment_method": "pm_1OoefOKuuB1fWySnRppMNGu2", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -251,10 +249,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:04 GMT + recorded_at: Wed, 28 Feb 2024 04:22:51 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDQuKuuB1fWySn2KsZ2dYy/confirm + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefPKuuB1fWySn2a1CUhKr/confirm body: encoding: US-ASCII string: '' @@ -266,7 +264,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_wMWTTImxxd99lK","request_duration_ms":397}}' + - '{"last_request_metrics":{"request_id":"req_I48KhbL4d4cHh2","request_duration_ms":444}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -286,7 +284,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:05 GMT + - Wed, 28 Feb 2024 04:22:52 GMT Content-Type: - application/json Content-Length: @@ -312,11 +310,11 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - c4a3a839-a9c3-4780-9b87-12da5bcec40b + - 87c23353-1da7-4401-90d8-782133288905 Original-Request: - - req_8fG6knCx8x9Rxy + - req_3MS3zmJh2lqbIp Request-Id: - - req_8fG6knCx8x9Rxy + - req_3MS3zmJh2lqbIp Stripe-Should-Retry: - 'false' Stripe-Version: @@ -331,7 +329,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQuKuuB1fWySn2KsZ2dYy", + "id": "pi_3OoefPKuuB1fWySn2a1CUhKr", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, @@ -345,20 +343,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDQuKuuB1fWySn2KsZ2dYy_secret_srp4rTvl0vZLelDDasV3hstpA", + "client_secret": "pi_3OoefPKuuB1fWySn2a1CUhKr_secret_jrv3bAuw620fN4yEQ39dnpTkT", "confirmation_method": "automatic", - "created": 1708989484, + "created": 1709094171, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDQuKuuB1fWySn2GskmbBH", + "latest_charge": "ch_3OoefPKuuB1fWySn2XgChplD", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "payment_method": "pm_1OoefOKuuB1fWySnRppMNGu2", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -383,10 +381,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:05 GMT + recorded_at: Wed, 28 Feb 2024 04:22:52 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDQuKuuB1fWySn2KsZ2dYy + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefPKuuB1fWySn2a1CUhKr body: encoding: US-ASCII string: '' @@ -398,7 +396,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_8fG6knCx8x9Rxy","request_duration_ms":961}}' + - '{"last_request_metrics":{"request_id":"req_3MS3zmJh2lqbIp","request_duration_ms":985}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -418,7 +416,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:06 GMT + - Wed, 28 Feb 2024 04:22:53 GMT Content-Type: - application/json Content-Length: @@ -444,7 +442,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_qO0Ww4PpgWg5KM + - req_XPJt16n7nTK00g Stripe-Version: - '2023-10-16' Vary: @@ -457,7 +455,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQuKuuB1fWySn2KsZ2dYy", + "id": "pi_3OoefPKuuB1fWySn2a1CUhKr", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, @@ -471,20 +469,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDQuKuuB1fWySn2KsZ2dYy_secret_srp4rTvl0vZLelDDasV3hstpA", + "client_secret": "pi_3OoefPKuuB1fWySn2a1CUhKr_secret_jrv3bAuw620fN4yEQ39dnpTkT", "confirmation_method": "automatic", - "created": 1708989484, + "created": 1709094171, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDQuKuuB1fWySn2GskmbBH", + "latest_charge": "ch_3OoefPKuuB1fWySn2XgChplD", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "payment_method": "pm_1OoefOKuuB1fWySnRppMNGu2", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -509,10 +507,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:06 GMT + recorded_at: Wed, 28 Feb 2024 04:22:53 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDQuKuuB1fWySn2KsZ2dYy/capture + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefPKuuB1fWySn2a1CUhKr/capture body: encoding: UTF-8 string: amount_to_capture=1000 @@ -543,7 +541,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:07 GMT + - Wed, 28 Feb 2024 04:22:54 GMT Content-Type: - application/json Content-Length: @@ -569,11 +567,11 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 0f2d7880-e8d6-4be3-9518-31c50c67098d + - 924a5a52-a3b7-454d-9525-a4f745643bcc Original-Request: - - req_yGg76wZk7CqoZY + - req_0mMZdvmaHu1xkb Request-Id: - - req_yGg76wZk7CqoZY + - req_0mMZdvmaHu1xkb Stripe-Should-Retry: - 'false' Stripe-Version: @@ -588,7 +586,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQuKuuB1fWySn2KsZ2dYy", + "id": "pi_3OoefPKuuB1fWySn2a1CUhKr", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -606,7 +604,7 @@ http_interactions: "object": "list", "data": [ { - "id": "ch_3OoDQuKuuB1fWySn2GskmbBH", + "id": "ch_3OoefPKuuB1fWySn2XgChplD", "object": "charge", "amount": 1000, "amount_captured": 1000, @@ -615,7 +613,7 @@ http_interactions: "application": null, "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OoDQuKuuB1fWySn2jKTEpcO", + "balance_transaction": "txn_3OoefPKuuB1fWySn2KbEy5KT", "billing_details": { "address": { "city": null, @@ -631,7 +629,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708989484, + "created": 1709094171, "currency": "aud", "customer": null, "description": null, @@ -651,18 +649,18 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 54, + "risk_score": 24, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OoDQuKuuB1fWySn2KsZ2dYy", - "payment_method": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "payment_intent": "pi_3OoefPKuuB1fWySn2a1CUhKr", + "payment_method": "pm_1OoefOKuuB1fWySnRppMNGu2", "payment_method_details": { "card": { "amount_authorized": 1000, "brand": "mastercard", - "capture_before": 1709594284, + "capture_before": 1709698971, "checks": { "address_line1_check": null, "address_postal_code_check": null, @@ -701,14 +699,14 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xRmlxRXNLdXVCMWZXeVNuKK-49K4GMgZmgAsdYi86LBaAvvcn5C_2FrHqfJUvI9BMvlQMtEX0FPRVuHQ-GLpc_rYzzCk6anmfAuKg", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xRmlxRXNLdXVCMWZXeVNuKJ7q-q4GMgbcaqyB9xQ6LBbyuqO6Pzq_DRbuPPU_3KgWARob19ouqfjqfTie9nYDPO4CNF1NF5JvJAg2", "refunded": false, "refunds": { "object": "list", "data": [], "has_more": false, "total_count": 0, - "url": "/v1/charges/ch_3OoDQuKuuB1fWySn2GskmbBH/refunds" + "url": "/v1/charges/ch_3OoefPKuuB1fWySn2XgChplD/refunds" }, "review": null, "shipping": null, @@ -723,22 +721,22 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3OoDQuKuuB1fWySn2KsZ2dYy" + "url": "/v1/charges?payment_intent=pi_3OoefPKuuB1fWySn2a1CUhKr" }, - "client_secret": "pi_3OoDQuKuuB1fWySn2KsZ2dYy_secret_srp4rTvl0vZLelDDasV3hstpA", + "client_secret": "pi_3OoefPKuuB1fWySn2a1CUhKr_secret_jrv3bAuw620fN4yEQ39dnpTkT", "confirmation_method": "automatic", - "created": 1708989484, + "created": 1709094171, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDQuKuuB1fWySn2GskmbBH", + "latest_charge": "ch_3OoefPKuuB1fWySn2XgChplD", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQtKuuB1fWySnan7tn1C1", + "payment_method": "pm_1OoefOKuuB1fWySnRppMNGu2", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -763,5 +761,5 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:07 GMT + recorded_at: Wed, 28 Feb 2024 04:22:54 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/provides_an_error_message_to_help_developer_debug.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/provides_an_error_message_to_help_developer_debug.yml index eea5b47e66..4a1cd05e68 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/provides_an_error_message_to_help_developer_debug.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_purchase/provides_an_error_message_to_help_developer_debug.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_qO0Ww4PpgWg5KM","request_duration_ms":279}}' + - '{"last_request_metrics":{"request_id":"req_XPJt16n7nTK00g","request_duration_ms":340}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +34,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:07 GMT + - Wed, 28 Feb 2024 04:22:55 GMT Content-Type: - application/json Content-Length: @@ -60,7 +60,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_czHKinzILS7AFE + - req_PkEIZ0ytajfFi0 Stripe-Version: - '2023-10-16' Vary: @@ -73,7 +73,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OoDQxKuuB1fWySnSvhi0vIM", + "id": "pm_1OoefTKuuB1fWySnZGdqP7aU", "object": "payment_method", "billing_details": { "address": { @@ -114,19 +114,19 @@ http_interactions: }, "wallet": null }, - "created": 1708989487, + "created": 1709094175, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 26 Feb 2024 23:18:07 GMT + recorded_at: Wed, 28 Feb 2024 04:22:55 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents body: encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_1OoDQxKuuB1fWySnSvhi0vIM&payment_method_types[0]=card&capture_method=manual + string: amount=1000¤cy=aud&payment_method=pm_1OoefTKuuB1fWySnZGdqP7aU&payment_method_types[0]=card&capture_method=manual headers: User-Agent: - Stripe/v1 RubyBindings/10.10.0 @@ -135,7 +135,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_czHKinzILS7AFE","request_duration_ms":324}}' + - '{"last_request_metrics":{"request_id":"req_PkEIZ0ytajfFi0","request_duration_ms":393}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -155,7 +155,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:08 GMT + - Wed, 28 Feb 2024 04:22:55 GMT Content-Type: - application/json Content-Length: @@ -180,11 +180,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 3488f9d6-5de5-4f37-afc7-a76e1ea86cb1 + - 2483ffe7-b417-4399-aa5d-8e07a07f3c4a Original-Request: - - req_ka9NvhQ2HUxvCx + - req_8qPyCfGouYra9P Request-Id: - - req_ka9NvhQ2HUxvCx + - req_8qPyCfGouYra9P Stripe-Should-Retry: - 'false' Stripe-Version: @@ -199,7 +199,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQxKuuB1fWySn2v6wzn50", + "id": "pi_3OoefTKuuB1fWySn1nUc8iAF", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -213,9 +213,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDQxKuuB1fWySn2v6wzn50_secret_gBr81jkfTiQdt2UsVPw0cAfDo", + "client_secret": "pi_3OoefTKuuB1fWySn1nUc8iAF_secret_P1PkiljJQA3bUt1qjafq1N30Y", "confirmation_method": "automatic", - "created": 1708989487, + "created": 1709094175, "currency": "aud", "customer": null, "description": null, @@ -226,7 +226,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQxKuuB1fWySnSvhi0vIM", + "payment_method": "pm_1OoefTKuuB1fWySnZGdqP7aU", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -251,10 +251,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:08 GMT + recorded_at: Wed, 28 Feb 2024 04:22:55 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDQxKuuB1fWySn2v6wzn50/confirm + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefTKuuB1fWySn1nUc8iAF/confirm body: encoding: US-ASCII string: '' @@ -266,7 +266,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_ka9NvhQ2HUxvCx","request_duration_ms":386}}' + - '{"last_request_metrics":{"request_id":"req_8qPyCfGouYra9P","request_duration_ms":408}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -286,7 +286,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:08 GMT + - Wed, 28 Feb 2024 04:22:56 GMT Content-Type: - application/json Content-Length: @@ -312,11 +312,11 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - e5d77b32-932c-426a-950b-184567a796de + - 680027e4-2ed8-4df3-9f5e-41477748d594 Original-Request: - - req_Io9FilMaYLuSaM + - req_RZnI8d1lN97iCq Request-Id: - - req_Io9FilMaYLuSaM + - req_RZnI8d1lN97iCq Stripe-Should-Retry: - 'false' Stripe-Version: @@ -331,7 +331,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDQxKuuB1fWySn2v6wzn50", + "id": "pi_3OoefTKuuB1fWySn1nUc8iAF", "object": "payment_intent", "amount": 1000, "amount_capturable": 1000, @@ -345,20 +345,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDQxKuuB1fWySn2v6wzn50_secret_gBr81jkfTiQdt2UsVPw0cAfDo", + "client_secret": "pi_3OoefTKuuB1fWySn1nUc8iAF_secret_P1PkiljJQA3bUt1qjafq1N30Y", "confirmation_method": "automatic", - "created": 1708989487, + "created": 1709094175, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDQxKuuB1fWySn21xsU35T", + "latest_charge": "ch_3OoefTKuuB1fWySn115Vyr1m", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDQxKuuB1fWySnSvhi0vIM", + "payment_method": "pm_1OoefTKuuB1fWySnZGdqP7aU", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -383,5 +383,5 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:09 GMT + recorded_at: Wed, 28 Feb 2024 04:22:56 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml index 27e63c886e..e5130bd32f 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_Io9FilMaYLuSaM","request_duration_ms":908}}' + - '{"last_request_metrics":{"request_id":"req_RZnI8d1lN97iCq","request_duration_ms":986}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +34,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:11 GMT + - Wed, 28 Feb 2024 04:22:58 GMT Content-Type: - application/json Content-Length: @@ -59,11 +59,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - ed4002e3-1994-46ba-9d16-d08827a4e1dc + - 54580d6e-e359-4cb8-bd6f-19755b32a54b Original-Request: - - req_q4YMtUiD7aQJB9 + - req_tvTBJjnxpf5qXy Request-Id: - - req_q4YMtUiD7aQJB9 + - req_tvTBJjnxpf5qXy Stripe-Should-Retry: - 'false' Stripe-Version: @@ -78,7 +78,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "acct_1OoDQz4K6DRMoG9d", + "id": "acct_1OoefV4C2tKH5dGL", "object": "account", "business_profile": { "annual_revenue": null, @@ -100,7 +100,7 @@ http_interactions: "type": "application" }, "country": "AU", - "created": 1708989490, + "created": 1709094178, "default_currency": "aud", "details_submitted": false, "email": "carrot.producer@example.com", @@ -109,7 +109,7 @@ http_interactions: "data": [], "has_more": false, "total_count": 0, - "url": "/v1/accounts/acct_1OoDQz4K6DRMoG9d/external_accounts" + "url": "/v1/accounts/acct_1OoefV4C2tKH5dGL/external_accounts" }, "future_requirements": { "alternatives": [], @@ -206,7 +206,7 @@ http_interactions: }, "type": "standard" } - recorded_at: Mon, 26 Feb 2024 23:18:11 GMT + recorded_at: Wed, 28 Feb 2024 04:22:58 GMT - request: method: get uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard @@ -221,7 +221,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_q4YMtUiD7aQJB9","request_duration_ms":1647}}' + - '{"last_request_metrics":{"request_id":"req_tvTBJjnxpf5qXy","request_duration_ms":1696}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -241,7 +241,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:12 GMT + - Wed, 28 Feb 2024 04:23:00 GMT Content-Type: - application/json Content-Length: @@ -267,7 +267,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_rE6qWwsq2oadyU + - req_vV7bfcGNN6GDXn Stripe-Version: - '2023-10-16' Vary: @@ -280,7 +280,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OoDR1KuuB1fWySnxBTpHdK8", + "id": "pm_1OoefXKuuB1fWySn407A6STW", "object": "payment_method", "billing_details": { "address": { @@ -321,13 +321,13 @@ http_interactions: }, "wallet": null }, - "created": 1708989491, + "created": 1709094179, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 26 Feb 2024 23:18:12 GMT + recorded_at: Wed, 28 Feb 2024 04:23:00 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents @@ -342,7 +342,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_rE6qWwsq2oadyU","request_duration_ms":371}}' + - '{"last_request_metrics":{"request_id":"req_vV7bfcGNN6GDXn","request_duration_ms":381}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -351,7 +351,7 @@ http_interactions: 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -364,7 +364,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:13 GMT + - Wed, 28 Feb 2024 04:23:01 GMT Content-Type: - application/json Content-Length: @@ -389,13 +389,13 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 42eedad4-c8ab-4718-9022-68b06f0ae50e + - 2989f409-6a08-4cfa-a4fa-dd10e361ed8c Original-Request: - - req_VFkVTpNLhdYDSP + - req_t1G1fXjle87ldK Request-Id: - - req_VFkVTpNLhdYDSP + - req_t1G1fXjle87ldK Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Stripe-Should-Retry: - 'false' Stripe-Version: @@ -410,7 +410,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR24K6DRMoG9d0SbyMf0l", + "id": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -424,20 +424,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", - "client_secret": "pi_3OoDR24K6DRMoG9d0SbyMf0l_secret_pT8dTrVG0PppJA5sAWaUd98w5", + "client_secret": "pi_3OoefY4C2tKH5dGL1GZJ9p6K_secret_yTGvOEMPhBORAgEQagwJpXTPI", "confirmation_method": "automatic", - "created": 1708989492, + "created": 1709094180, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDR24K6DRMoG9d0ggx7xob", + "latest_charge": "ch_3OoefY4C2tKH5dGL1VlO0lYA", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR24K6DRMoG9d09thlZE0", + "payment_method": "pm_1OoefY4C2tKH5dGL4j5cFhFa", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -462,10 +462,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:13 GMT + recorded_at: Wed, 28 Feb 2024 04:23:01 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDR24K6DRMoG9d0SbyMf0l + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefY4C2tKH5dGL1GZJ9p6K body: encoding: US-ASCII string: '' @@ -477,7 +477,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_VFkVTpNLhdYDSP","request_duration_ms":1532}}' + - '{"last_request_metrics":{"request_id":"req_t1G1fXjle87ldK","request_duration_ms":1504}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -486,7 +486,7 @@ http_interactions: 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -499,7 +499,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:13 GMT + - Wed, 28 Feb 2024 04:23:01 GMT Content-Type: - application/json Content-Length: @@ -525,9 +525,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_epr3kVFefIc6M3 + - req_lZyw7j5pG8K6Cv Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Stripe-Version: - '2023-10-16' Vary: @@ -540,7 +540,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR24K6DRMoG9d0SbyMf0l", + "id": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -554,20 +554,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", - "client_secret": "pi_3OoDR24K6DRMoG9d0SbyMf0l_secret_pT8dTrVG0PppJA5sAWaUd98w5", + "client_secret": "pi_3OoefY4C2tKH5dGL1GZJ9p6K_secret_yTGvOEMPhBORAgEQagwJpXTPI", "confirmation_method": "automatic", - "created": 1708989492, + "created": 1709094180, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDR24K6DRMoG9d0ggx7xob", + "latest_charge": "ch_3OoefY4C2tKH5dGL1VlO0lYA", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR24K6DRMoG9d09thlZE0", + "payment_method": "pm_1OoefY4C2tKH5dGL4j5cFhFa", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -592,10 +592,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:14 GMT + recorded_at: Wed, 28 Feb 2024 04:23:01 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDR24K6DRMoG9d0SbyMf0l + uri: https://api.stripe.com/v1/payment_intents/pi_3OoefY4C2tKH5dGL1GZJ9p6K body: encoding: US-ASCII string: '' @@ -611,7 +611,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Connection: - close Accept-Encoding: @@ -626,11 +626,11 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:14 GMT + - Wed, 28 Feb 2024 04:23:02 GMT Content-Type: - application/json Content-Length: - - '5160' + - '5159' Connection: - close Access-Control-Allow-Credentials: @@ -652,9 +652,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_czBegYmlYU8qGX + - req_FH8bGixsjbByLa Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Stripe-Version: - '2020-08-27' Vary: @@ -667,7 +667,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR24K6DRMoG9d0SbyMf0l", + "id": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -685,7 +685,7 @@ http_interactions: "object": "list", "data": [ { - "id": "ch_3OoDR24K6DRMoG9d0ggx7xob", + "id": "ch_3OoefY4C2tKH5dGL1VlO0lYA", "object": "charge", "amount": 1000, "amount_captured": 1000, @@ -693,7 +693,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OoDR24K6DRMoG9d0R8YS7Vv", + "balance_transaction": "txn_3OoefY4C2tKH5dGL13dcK4j1", "billing_details": { "address": { "city": null, @@ -709,7 +709,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708989492, + "created": 1709094180, "currency": "aud", "customer": null, "description": null, @@ -729,13 +729,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 20, + "risk_score": 7, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OoDR24K6DRMoG9d0SbyMf0l", - "payment_method": "pm_1OoDR24K6DRMoG9d09thlZE0", + "payment_intent": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", + "payment_method": "pm_1OoefY4C2tKH5dGL4j5cFhFa", "payment_method_details": { "card": { "amount_authorized": 1000, @@ -778,14 +778,14 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29EUXo0SzZEUk1vRzlkKLa49K4GMgaYttG8d3A6LBYL130f3PqbLJKmpUks5BsQbPk28XQPiwubarxIPrH5xVW-zGNXu4lHvKpg", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29lZlY0QzJ0S0g1ZEdMKKbq-q4GMgaRkN_RRNQ6LBZz6CQXHZCrsn25QS9Jm5gbb44sYBgtlhvBnbTpsJMQXRa5GaNsE626dU5n", "refunded": false, "refunds": { "object": "list", "data": [], "has_more": false, "total_count": 0, - "url": "/v1/charges/ch_3OoDR24K6DRMoG9d0ggx7xob/refunds" + "url": "/v1/charges/ch_3OoefY4C2tKH5dGL1VlO0lYA/refunds" }, "review": null, "shipping": null, @@ -800,22 +800,22 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3OoDR24K6DRMoG9d0SbyMf0l" + "url": "/v1/charges?payment_intent=pi_3OoefY4C2tKH5dGL1GZJ9p6K" }, - "client_secret": "pi_3OoDR24K6DRMoG9d0SbyMf0l_secret_pT8dTrVG0PppJA5sAWaUd98w5", + "client_secret": "pi_3OoefY4C2tKH5dGL1GZJ9p6K_secret_yTGvOEMPhBORAgEQagwJpXTPI", "confirmation_method": "automatic", - "created": 1708989492, + "created": 1709094180, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OoDR24K6DRMoG9d0ggx7xob", + "latest_charge": "ch_3OoefY4C2tKH5dGL1VlO0lYA", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR24K6DRMoG9d09thlZE0", + "payment_method": "pm_1OoefY4C2tKH5dGL4j5cFhFa", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -840,10 +840,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:14 GMT + recorded_at: Wed, 28 Feb 2024 04:23:02 GMT - request: method: post - uri: https://api.stripe.com/v1/charges/ch_3OoDR24K6DRMoG9d0ggx7xob/refunds + uri: https://api.stripe.com/v1/charges/ch_3OoefY4C2tKH5dGL1VlO0lYA/refunds body: encoding: UTF-8 string: amount=1000&expand[0]=charge @@ -861,7 +861,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Connection: - close Accept-Encoding: @@ -876,11 +876,11 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:15 GMT + - Wed, 28 Feb 2024 04:23:03 GMT Content-Type: - application/json Content-Length: - - '4536' + - '4535' Connection: - close Access-Control-Allow-Credentials: @@ -902,13 +902,13 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 0a98bb39-2793-4563-8069-b15c1be7a2c6 + - e3b5a699-fd66-4438-acf5-dbcdd0c0cd8f Original-Request: - - req_UGRHbBVNXDDQxO + - req_gnYblTnZmxelLp Request-Id: - - req_UGRHbBVNXDDQxO + - req_gnYblTnZmxelLp Stripe-Account: - - acct_1OoDQz4K6DRMoG9d + - acct_1OoefV4C2tKH5dGL Stripe-Should-Retry: - 'false' Stripe-Version: @@ -923,12 +923,12 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "re_3OoDR24K6DRMoG9d09PmYd3C", + "id": "re_3OoefY4C2tKH5dGL13F5cUVM", "object": "refund", "amount": 1000, - "balance_transaction": "txn_3OoDR24K6DRMoG9d0fw0EbzO", + "balance_transaction": "txn_3OoefY4C2tKH5dGL1DQGbKPm", "charge": { - "id": "ch_3OoDR24K6DRMoG9d0ggx7xob", + "id": "ch_3OoefY4C2tKH5dGL1VlO0lYA", "object": "charge", "amount": 1000, "amount_captured": 1000, @@ -936,7 +936,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OoDR24K6DRMoG9d0R8YS7Vv", + "balance_transaction": "txn_3OoefY4C2tKH5dGL13dcK4j1", "billing_details": { "address": { "city": null, @@ -952,7 +952,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708989492, + "created": 1709094180, "currency": "aud", "customer": null, "description": null, @@ -972,13 +972,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 20, + "risk_score": 7, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OoDR24K6DRMoG9d0SbyMf0l", - "payment_method": "pm_1OoDR24K6DRMoG9d09thlZE0", + "payment_intent": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", + "payment_method": "pm_1OoefY4C2tKH5dGL4j5cFhFa", "payment_method_details": { "card": { "amount_authorized": 1000, @@ -1021,18 +1021,18 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29EUXo0SzZEUk1vRzlkKLe49K4GMgaU7PBpToo6LBa-S2S4uuRuKvm3XgKD_iDADQLtfcquUhFm78xV0C2FnK2Cvknk_SpQiF_Q", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29lZlY0QzJ0S0g1ZEdMKKfq-q4GMgaZksVQP2U6LBbzMTFesAxG2bPJiPJrrQg4rFEMLvIeOgyWS0m6-vJl8TTT-s9srkaZHmxm", "refunded": true, "refunds": { "object": "list", "data": [ { - "id": "re_3OoDR24K6DRMoG9d09PmYd3C", + "id": "re_3OoefY4C2tKH5dGL13F5cUVM", "object": "refund", "amount": 1000, - "balance_transaction": "txn_3OoDR24K6DRMoG9d0fw0EbzO", - "charge": "ch_3OoDR24K6DRMoG9d0ggx7xob", - "created": 1708989494, + "balance_transaction": "txn_3OoefY4C2tKH5dGL1DQGbKPm", + "charge": "ch_3OoefY4C2tKH5dGL1VlO0lYA", + "created": 1709094182, "currency": "aud", "destination_details": { "card": { @@ -1043,7 +1043,7 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OoDR24K6DRMoG9d0SbyMf0l", + "payment_intent": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", "reason": null, "receipt_number": null, "source_transfer_reversal": null, @@ -1053,7 +1053,7 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges/ch_3OoDR24K6DRMoG9d0ggx7xob/refunds" + "url": "/v1/charges/ch_3OoefY4C2tKH5dGL1VlO0lYA/refunds" }, "review": null, "shipping": null, @@ -1065,7 +1065,7 @@ http_interactions: "transfer_data": null, "transfer_group": null }, - "created": 1708989494, + "created": 1709094182, "currency": "aud", "destination_details": { "card": { @@ -1076,12 +1076,12 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OoDR24K6DRMoG9d0SbyMf0l", + "payment_intent": "pi_3OoefY4C2tKH5dGL1GZJ9p6K", "reason": null, "receipt_number": null, "source_transfer_reversal": null, "status": "succeeded", "transfer_reversal": null } - recorded_at: Mon, 26 Feb 2024 23:18:15 GMT + recorded_at: Wed, 28 Feb 2024 04:23:03 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml index 3ba3dfef35..ce315fb2b1 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml @@ -14,7 +14,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_epr3kVFefIc6M3","request_duration_ms":398}}' + - '{"last_request_metrics":{"request_id":"req_lZyw7j5pG8K6Cv","request_duration_ms":296}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -34,7 +34,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:17 GMT + - Wed, 28 Feb 2024 04:23:05 GMT Content-Type: - application/json Content-Length: @@ -59,11 +59,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 1c1da7a1-b0f6-4ee9-8a4c-768ac4bd3fcd + - 1ef2201e-0e24-4640-982d-6568c4052527 Original-Request: - - req_BADUQvDMU55Oqp + - req_s4ofxXP0G2Y783 Request-Id: - - req_BADUQvDMU55Oqp + - req_s4ofxXP0G2Y783 Stripe-Should-Retry: - 'false' Stripe-Version: @@ -78,7 +78,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "acct_1OoDR5QQIX0JHVBP", + "id": "acct_1Ooefb4DjmilFkgB", "object": "account", "business_profile": { "annual_revenue": null, @@ -100,7 +100,7 @@ http_interactions: "type": "application" }, "country": "AU", - "created": 1708989496, + "created": 1709094184, "default_currency": "aud", "details_submitted": false, "email": "carrot.producer@example.com", @@ -109,7 +109,7 @@ http_interactions: "data": [], "has_more": false, "total_count": 0, - "url": "/v1/accounts/acct_1OoDR5QQIX0JHVBP/external_accounts" + "url": "/v1/accounts/acct_1Ooefb4DjmilFkgB/external_accounts" }, "future_requirements": { "alternatives": [], @@ -206,7 +206,7 @@ http_interactions: }, "type": "standard" } - recorded_at: Mon, 26 Feb 2024 23:18:17 GMT + recorded_at: Wed, 28 Feb 2024 04:23:05 GMT - request: method: get uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard @@ -221,7 +221,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_BADUQvDMU55Oqp","request_duration_ms":1730}}' + - '{"last_request_metrics":{"request_id":"req_s4ofxXP0G2Y783","request_duration_ms":1698}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -241,7 +241,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:18 GMT + - Wed, 28 Feb 2024 04:23:06 GMT Content-Type: - application/json Content-Length: @@ -267,7 +267,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_mv1NBgV94MnFrF + - req_YRYMRdfcJyCfpc Stripe-Version: - '2023-10-16' Vary: @@ -280,7 +280,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OoDR8KuuB1fWySnAKom7xp9", + "id": "pm_1OoefeKuuB1fWySn4sV0w7me", "object": "payment_method", "billing_details": { "address": { @@ -321,13 +321,13 @@ http_interactions: }, "wallet": null }, - "created": 1708989498, + "created": 1709094186, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 26 Feb 2024 23:18:18 GMT + recorded_at: Wed, 28 Feb 2024 04:23:06 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents @@ -342,7 +342,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_mv1NBgV94MnFrF","request_duration_ms":428}}' + - '{"last_request_metrics":{"request_id":"req_YRYMRdfcJyCfpc","request_duration_ms":414}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -351,7 +351,7 @@ http_interactions: 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -364,7 +364,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:18 GMT + - Wed, 28 Feb 2024 04:23:06 GMT Content-Type: - application/json Content-Length: @@ -389,13 +389,13 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 737c0b98-c355-4738-a49f-c0dbad06bc10 + - 4709c865-413b-4f63-92de-88ea134ca3fc Original-Request: - - req_KJjhzGwgpPtNpb + - req_924xRbbZ96ZSGs Request-Id: - - req_KJjhzGwgpPtNpb + - req_924xRbbZ96ZSGs Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Stripe-Should-Retry: - 'false' Stripe-Version: @@ -410,7 +410,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR8QQIX0JHVBP17iPyWpl", + "id": "pi_3Ooefe4DjmilFkgB0MRGxtD7", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -424,9 +424,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDR8QQIX0JHVBP17iPyWpl_secret_BokkwD6wf89emZuUAz6RIGSyL", + "client_secret": "pi_3Ooefe4DjmilFkgB0MRGxtD7_secret_m61Cyi5MpCkThDwF1HOTfVtTh", "confirmation_method": "automatic", - "created": 1708989498, + "created": 1709094186, "currency": "aud", "customer": null, "description": null, @@ -437,7 +437,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR8QQIX0JHVBPiisWwyMi", + "payment_method": "pm_1Ooefe4DjmilFkgBPSiob94t", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -462,10 +462,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:19 GMT + recorded_at: Wed, 28 Feb 2024 04:23:06 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDR8QQIX0JHVBP17iPyWpl + uri: https://api.stripe.com/v1/payment_intents/pi_3Ooefe4DjmilFkgB0MRGxtD7 body: encoding: US-ASCII string: '' @@ -477,7 +477,7 @@ http_interactions: Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_KJjhzGwgpPtNpb","request_duration_ms":610}}' + - '{"last_request_metrics":{"request_id":"req_924xRbbZ96ZSGs","request_duration_ms":508}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: @@ -486,7 +486,7 @@ http_interactions: 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -499,7 +499,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:19 GMT + - Wed, 28 Feb 2024 04:23:07 GMT Content-Type: - application/json Content-Length: @@ -525,9 +525,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_waW9Ckkv5MVQ5c + - req_o2i92svEF6wZ9X Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Stripe-Version: - '2023-10-16' Vary: @@ -540,7 +540,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR8QQIX0JHVBP17iPyWpl", + "id": "pi_3Ooefe4DjmilFkgB0MRGxtD7", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -554,9 +554,9 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "manual", - "client_secret": "pi_3OoDR8QQIX0JHVBP17iPyWpl_secret_BokkwD6wf89emZuUAz6RIGSyL", + "client_secret": "pi_3Ooefe4DjmilFkgB0MRGxtD7_secret_m61Cyi5MpCkThDwF1HOTfVtTh", "confirmation_method": "automatic", - "created": 1708989498, + "created": 1709094186, "currency": "aud", "customer": null, "description": null, @@ -567,7 +567,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR8QQIX0JHVBPiisWwyMi", + "payment_method": "pm_1Ooefe4DjmilFkgBPSiob94t", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -592,10 +592,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:19 GMT + recorded_at: Wed, 28 Feb 2024 04:23:07 GMT - request: method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OoDR8QQIX0JHVBP17iPyWpl/cancel + uri: https://api.stripe.com/v1/payment_intents/pi_3Ooefe4DjmilFkgB0MRGxtD7/cancel body: encoding: US-ASCII string: '' @@ -613,7 +613,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Connection: - close Accept-Encoding: @@ -628,7 +628,7 @@ http_interactions: Server: - nginx Date: - - Mon, 26 Feb 2024 23:18:19 GMT + - Wed, 28 Feb 2024 04:23:07 GMT Content-Type: - application/json Content-Length: @@ -654,13 +654,13 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - da9c3105-779e-4313-85c8-cc03080fb957 + - a75b58f8-d2f4-43b6-aff2-21023fcc77f2 Original-Request: - - req_MBu3YgXKFZ6hzA + - req_WU2ReDoGdQvhVb Request-Id: - - req_MBu3YgXKFZ6hzA + - req_WU2ReDoGdQvhVb Stripe-Account: - - acct_1OoDR5QQIX0JHVBP + - acct_1Ooefb4DjmilFkgB Stripe-Should-Retry: - 'false' Stripe-Version: @@ -675,7 +675,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OoDR8QQIX0JHVBP17iPyWpl", + "id": "pi_3Ooefe4DjmilFkgB0MRGxtD7", "object": "payment_intent", "amount": 1000, "amount_capturable": 0, @@ -686,7 +686,7 @@ http_interactions: "application": "", "application_fee_amount": null, "automatic_payment_methods": null, - "canceled_at": 1708989499, + "canceled_at": 1709094187, "cancellation_reason": null, "capture_method": "manual", "charges": { @@ -694,11 +694,11 @@ http_interactions: "data": [], "has_more": false, "total_count": 0, - "url": "/v1/charges?payment_intent=pi_3OoDR8QQIX0JHVBP17iPyWpl" + "url": "/v1/charges?payment_intent=pi_3Ooefe4DjmilFkgB0MRGxtD7" }, - "client_secret": "pi_3OoDR8QQIX0JHVBP17iPyWpl_secret_BokkwD6wf89emZuUAz6RIGSyL", + "client_secret": "pi_3Ooefe4DjmilFkgB0MRGxtD7_secret_m61Cyi5MpCkThDwF1HOTfVtTh", "confirmation_method": "automatic", - "created": 1708989498, + "created": 1709094186, "currency": "aud", "customer": null, "description": null, @@ -709,7 +709,7 @@ http_interactions: "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OoDR8QQIX0JHVBPiisWwyMi", + "payment_method": "pm_1Ooefe4DjmilFkgBPSiob94t", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -734,5 +734,5 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 26 Feb 2024 23:18:19 GMT + recorded_at: Wed, 28 Feb 2024 04:23:07 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml similarity index 86% rename from spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml rename to spec/fixtures/vcr_cassettes/Stripe-v10.10.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml index f0f9811e4c..dde14f5b26 100644 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.9.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml +++ b/spec/fixtures/vcr_cassettes/Stripe-v10.10.0/_As_an_hub_manager_I_want_to_make_Stripe_payments_/with_a_payment_using_a_StripeSCA_payment_method/that_is_completed/allows_to_refund_the_payment.yml @@ -8,7 +8,7 @@ http_interactions: string: type=standard&country=AU&email=lettuce.producer%40example.com headers: User-Agent: - - Stripe/v1 RubyBindings/10.9.0 + - Stripe/v1 RubyBindings/10.10.0 Authorization: - Bearer Content-Type: @@ -16,7 +16,7 @@ http_interactions: Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + - '{"bindings_version":"10.10.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' @@ -32,7 +32,7 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:49:58 GMT + - Wed, 28 Feb 2024 04:26:33 GMT Content-Type: - application/json Content-Length: @@ -57,11 +57,11 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - '080c28fe-bf04-4bf4-b8fb-2de1553807f9' + - 8962c4d7-4235-40b4-8ae7-3452f5d5bdf6 Original-Request: - - req_OFkGs1PTfTIYBQ + - req_bb1i3QF8PMYoCQ Request-Id: - - req_OFkGs1PTfTIYBQ + - req_bb1i3QF8PMYoCQ Stripe-Should-Retry: - 'false' Stripe-Version: @@ -76,7 +76,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "acct_1OlOnh4DrjTkIiGc", + "id": "acct_1Ooeiy4EBxHlGE7s", "object": "account", "business_profile": { "annual_revenue": null, @@ -98,7 +98,7 @@ http_interactions: "type": "application" }, "country": "AU", - "created": 1708318198, + "created": 1709094393, "default_currency": "aud", "details_submitted": false, "email": "lettuce.producer@example.com", @@ -107,7 +107,7 @@ http_interactions: "data": [], "has_more": false, "total_count": 0, - "url": "/v1/accounts/acct_1OlOnh4DrjTkIiGc/external_accounts" + "url": "/v1/accounts/acct_1Ooeiy4EBxHlGE7s/external_accounts" }, "future_requirements": { "alternatives": [], @@ -204,7 +204,7 @@ http_interactions: }, "type": "standard" } - recorded_at: Mon, 19 Feb 2024 04:49:59 GMT + recorded_at: Wed, 28 Feb 2024 04:26:34 GMT - request: method: get uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard @@ -213,17 +213,17 @@ http_interactions: string: '' headers: User-Agent: - - Stripe/v1 RubyBindings/10.9.0 + - Stripe/v1 RubyBindings/10.10.0 Authorization: - Bearer Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_OFkGs1PTfTIYBQ","request_duration_ms":1863}}' + - '{"last_request_metrics":{"request_id":"req_bb1i3QF8PMYoCQ","request_duration_ms":1787}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + - '{"bindings_version":"10.10.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' @@ -239,7 +239,7 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:49:59 GMT + - Wed, 28 Feb 2024 04:26:34 GMT Content-Type: - application/json Content-Length: @@ -265,7 +265,7 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_soUyhfKwZhKKIe + - req_36OxSQ2EFRmv16 Stripe-Version: - '2023-10-16' Vary: @@ -278,7 +278,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pm_1OlOnjKuuB1fWySnerRwttvn", + "id": "pm_1Ooej0KuuB1fWySnCoMI8Z8A", "object": "payment_method", "billing_details": { "address": { @@ -319,13 +319,13 @@ http_interactions: }, "wallet": null }, - "created": 1708318199, + "created": 1709094394, "customer": null, "livemode": false, "metadata": {}, "type": "card" } - recorded_at: Mon, 19 Feb 2024 04:49:59 GMT + recorded_at: Wed, 28 Feb 2024 04:26:34 GMT - request: method: post uri: https://api.stripe.com/v1/payment_intents @@ -334,22 +334,22 @@ http_interactions: string: amount=2600¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=automatic&confirm=true headers: User-Agent: - - Stripe/v1 RubyBindings/10.9.0 + - Stripe/v1 RubyBindings/10.10.0 Authorization: - Bearer Content-Type: - application/x-www-form-urlencoded X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_soUyhfKwZhKKIe","request_duration_ms":404}}' + - '{"last_request_metrics":{"request_id":"req_36OxSQ2EFRmv16","request_duration_ms":380}}' Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + - '{"bindings_version":"10.10.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -362,7 +362,7 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:50:00 GMT + - Wed, 28 Feb 2024 04:26:35 GMT Content-Type: - application/json Content-Length: @@ -387,13 +387,13 @@ http_interactions: default-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - f56d4ec6-ace4-49d2-920e-65c5193f88bd + - 8de818e2-8e78-4cf6-b562-d91150c136cd Original-Request: - - req_pLXq0WNwg4Npt3 + - req_IkRp1OoTjJRHiH Request-Id: - - req_pLXq0WNwg4Npt3 + - req_IkRp1OoTjJRHiH Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Stripe-Should-Retry: - 'false' Stripe-Version: @@ -408,7 +408,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "id": "pi_3Ooej04EBxHlGE7s0bcV528D", "object": "payment_intent", "amount": 2600, "amount_capturable": 0, @@ -422,20 +422,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", - "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "client_secret": "pi_3Ooej04EBxHlGE7s0bcV528D_secret_6YjzW0BtKkgJwHytmGABXvbKA", "confirmation_method": "automatic", - "created": 1708318199, + "created": 1709094394, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "latest_charge": "ch_3Ooej04EBxHlGE7s0clvIC9E", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method": "pm_1Ooej04EBxHlGE7sU7xdsT0R", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -460,16 +460,16 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 19 Feb 2024 04:50:00 GMT + recorded_at: Wed, 28 Feb 2024 04:26:35 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OlOnj4DrjTkIiGc1iEHWCj7 + uri: https://api.stripe.com/v1/payment_intents/pi_3Ooej04EBxHlGE7s0bcV528D body: encoding: US-ASCII string: '' headers: User-Agent: - - Stripe/v1 RubyBindings/10.9.0 + - Stripe/v1 RubyBindings/10.10.0 Authorization: - Bearer Content-Type: @@ -477,12 +477,12 @@ http_interactions: Stripe-Version: - '2023-10-16' X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.9.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux + - '{"bindings_version":"10.10.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: @@ -495,7 +495,7 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:50:04 GMT + - Wed, 28 Feb 2024 04:26:36 GMT Content-Type: - application/json Content-Length: @@ -521,9 +521,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_ZrmoVqR1dyyI5v + - req_PAxdlbVLnOfd8n Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Stripe-Version: - '2023-10-16' Vary: @@ -536,7 +536,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "id": "pi_3Ooej04EBxHlGE7s0bcV528D", "object": "payment_intent", "amount": 2600, "amount_capturable": 0, @@ -550,20 +550,20 @@ http_interactions: "canceled_at": null, "cancellation_reason": null, "capture_method": "automatic", - "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "client_secret": "pi_3Ooej04EBxHlGE7s0bcV528D_secret_6YjzW0BtKkgJwHytmGABXvbKA", "confirmation_method": "automatic", - "created": 1708318199, + "created": 1709094394, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "latest_charge": "ch_3Ooej04EBxHlGE7s0clvIC9E", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method": "pm_1Ooej04EBxHlGE7sU7xdsT0R", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -588,10 +588,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 19 Feb 2024 04:50:04 GMT + recorded_at: Wed, 28 Feb 2024 04:26:36 GMT - request: method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OlOnj4DrjTkIiGc1iEHWCj7 + uri: https://api.stripe.com/v1/payment_intents/pi_3Ooej04EBxHlGE7s0bcV528D body: encoding: US-ASCII string: '' @@ -607,7 +607,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Connection: - close Accept-Encoding: @@ -622,11 +622,11 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:50:04 GMT + - Wed, 28 Feb 2024 04:26:37 GMT Content-Type: - application/json Content-Length: - - '5159' + - '5160' Connection: - close Access-Control-Allow-Credentials: @@ -648,9 +648,9 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Request-Id: - - req_m2BjE8qiOHzdRN + - req_JmhF7mIJuAy0ah Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Stripe-Version: - '2020-08-27' Vary: @@ -663,7 +663,7 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "id": "pi_3Ooej04EBxHlGE7s0bcV528D", "object": "payment_intent", "amount": 2600, "amount_capturable": 0, @@ -681,7 +681,7 @@ http_interactions: "object": "list", "data": [ { - "id": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "id": "ch_3Ooej04EBxHlGE7s0clvIC9E", "object": "charge", "amount": 2600, "amount_captured": 2600, @@ -689,7 +689,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OlOnj4DrjTkIiGc1QIV5KMf", + "balance_transaction": "txn_3Ooej04EBxHlGE7s0eYY617n", "billing_details": { "address": { "city": null, @@ -705,7 +705,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708318200, + "created": 1709094395, "currency": "aud", "customer": null, "description": null, @@ -725,13 +725,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 3, + "risk_score": 26, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", - "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_intent": "pi_3Ooej04EBxHlGE7s0bcV528D", + "payment_method": "pm_1Ooej04EBxHlGE7sU7xdsT0R", "payment_method_details": { "card": { "amount_authorized": 2600, @@ -774,14 +774,14 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2xPbmg0RHJqVGtJaUdjKPy7y64GMgZlEc2e4b06LBZY7Tt6ig6d7dupjAf68f3PGKuQMqO9NUphbFMBZU-CjqowPd-ONrzf-8bd", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29laXk0RUJ4SGxHRTdzKPzr-q4GMgbq-nfv4PU6LBZluRZWP743wLV7eYf5QqpZCB60TngSAv_bfmxatmhILOAw3_ebDoedUg7N", "refunded": false, "refunds": { "object": "list", "data": [], "has_more": false, "total_count": 0, - "url": "/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds" + "url": "/v1/charges/ch_3Ooej04EBxHlGE7s0clvIC9E/refunds" }, "review": null, "shipping": null, @@ -796,22 +796,22 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3OlOnj4DrjTkIiGc1iEHWCj7" + "url": "/v1/charges?payment_intent=pi_3Ooej04EBxHlGE7s0bcV528D" }, - "client_secret": "pi_3OlOnj4DrjTkIiGc1iEHWCj7_secret_7CFy1xc8BqKwWBJKbxiqA6AVy", + "client_secret": "pi_3Ooej04EBxHlGE7s0bcV528D_secret_6YjzW0BtKkgJwHytmGABXvbKA", "confirmation_method": "automatic", - "created": 1708318199, + "created": 1709094394, "currency": "aud", "customer": null, "description": null, "invoice": null, "last_payment_error": null, - "latest_charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "latest_charge": "ch_3Ooej04EBxHlGE7s0clvIC9E", "livemode": false, "metadata": {}, "next_action": null, "on_behalf_of": null, - "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_method": "pm_1Ooej04EBxHlGE7sU7xdsT0R", "payment_method_configuration_details": null, "payment_method_options": { "card": { @@ -836,10 +836,10 @@ http_interactions: "transfer_data": null, "transfer_group": null } - recorded_at: Mon, 19 Feb 2024 04:50:04 GMT + recorded_at: Wed, 28 Feb 2024 04:26:37 GMT - request: method: post - uri: https://api.stripe.com/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds + uri: https://api.stripe.com/v1/charges/ch_3Ooej04EBxHlGE7s0clvIC9E/refunds body: encoding: UTF-8 string: amount=2600&expand[0]=charge @@ -857,7 +857,7 @@ http_interactions: X-Stripe-Client-User-Metadata: - '{"ip":null}' Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Connection: - close Accept-Encoding: @@ -872,11 +872,11 @@ http_interactions: Server: - nginx Date: - - Mon, 19 Feb 2024 04:50:05 GMT + - Wed, 28 Feb 2024 04:26:38 GMT Content-Type: - application/json Content-Length: - - '4535' + - '4536' Connection: - close Access-Control-Allow-Credentials: @@ -898,13 +898,13 @@ http_interactions: 'none'; frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; style-src 'self' Idempotency-Key: - - 1b8d39f3-3bb8-4a60-a178-2768228fb73e + - e2f17ffc-a2ed-4644-8f70-36bab187d3e9 Original-Request: - - req_l0EsxXri7DgcL9 + - req_vaOi2rl0Jq2tUI Request-Id: - - req_l0EsxXri7DgcL9 + - req_vaOi2rl0Jq2tUI Stripe-Account: - - acct_1OlOnh4DrjTkIiGc + - acct_1Ooeiy4EBxHlGE7s Stripe-Should-Retry: - 'false' Stripe-Version: @@ -919,12 +919,12 @@ http_interactions: encoding: UTF-8 string: |- { - "id": "re_3OlOnj4DrjTkIiGc1pWf9r3j", + "id": "re_3Ooej04EBxHlGE7s044y57wq", "object": "refund", "amount": 2600, - "balance_transaction": "txn_3OlOnj4DrjTkIiGc1P4q6qLC", + "balance_transaction": "txn_3Ooej04EBxHlGE7s0x76tB8D", "charge": { - "id": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", + "id": "ch_3Ooej04EBxHlGE7s0clvIC9E", "object": "charge", "amount": 2600, "amount_captured": 2600, @@ -932,7 +932,7 @@ http_interactions: "application": "", "application_fee": null, "application_fee_amount": null, - "balance_transaction": "txn_3OlOnj4DrjTkIiGc1QIV5KMf", + "balance_transaction": "txn_3Ooej04EBxHlGE7s0eYY617n", "billing_details": { "address": { "city": null, @@ -948,7 +948,7 @@ http_interactions: }, "calculated_statement_descriptor": "OFNOFNOFN", "captured": true, - "created": 1708318200, + "created": 1709094395, "currency": "aud", "customer": null, "description": null, @@ -968,13 +968,13 @@ http_interactions: "network_status": "approved_by_network", "reason": null, "risk_level": "normal", - "risk_score": 3, + "risk_score": 26, "seller_message": "Payment complete.", "type": "authorized" }, "paid": true, - "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", - "payment_method": "pm_1OlOnj4DrjTkIiGctuvnu9dF", + "payment_intent": "pi_3Ooej04EBxHlGE7s0bcV528D", + "payment_method": "pm_1Ooej04EBxHlGE7sU7xdsT0R", "payment_method_details": { "card": { "amount_authorized": 2600, @@ -1017,18 +1017,18 @@ http_interactions: "radar_options": {}, "receipt_email": null, "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2xPbmg0RHJqVGtJaUdjKP27y64GMgZnIlT1Zf06LBbNwtDA2sE27yzhjhIpPRbNCrXXjMnki_VUq5Y0kn1NUuSRpBkjvBqIvH_S", + "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT29laXk0RUJ4SGxHRTdzKP7r-q4GMgYd951VCC46LBZpd1eCBQXvx_HLwJpQoaMklnC6QYgSni4VhYPoAgWqH05kFiAAg46m3yze", "refunded": true, "refunds": { "object": "list", "data": [ { - "id": "re_3OlOnj4DrjTkIiGc1pWf9r3j", + "id": "re_3Ooej04EBxHlGE7s044y57wq", "object": "refund", "amount": 2600, - "balance_transaction": "txn_3OlOnj4DrjTkIiGc1P4q6qLC", - "charge": "ch_3OlOnj4DrjTkIiGc1TK3SQQA", - "created": 1708318205, + "balance_transaction": "txn_3Ooej04EBxHlGE7s0x76tB8D", + "charge": "ch_3Ooej04EBxHlGE7s0clvIC9E", + "created": 1709094397, "currency": "aud", "destination_details": { "card": { @@ -1039,7 +1039,7 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "payment_intent": "pi_3Ooej04EBxHlGE7s0bcV528D", "reason": null, "receipt_number": null, "source_transfer_reversal": null, @@ -1049,7 +1049,7 @@ http_interactions: ], "has_more": false, "total_count": 1, - "url": "/v1/charges/ch_3OlOnj4DrjTkIiGc1TK3SQQA/refunds" + "url": "/v1/charges/ch_3Ooej04EBxHlGE7s0clvIC9E/refunds" }, "review": null, "shipping": null, @@ -1061,7 +1061,7 @@ http_interactions: "transfer_data": null, "transfer_group": null }, - "created": 1708318205, + "created": 1709094397, "currency": "aud", "destination_details": { "card": { @@ -1072,12 +1072,12 @@ http_interactions: "type": "card" }, "metadata": {}, - "payment_intent": "pi_3OlOnj4DrjTkIiGc1iEHWCj7", + "payment_intent": "pi_3Ooej04EBxHlGE7s0bcV528D", "reason": null, "receipt_number": null, "source_transfer_reversal": null, "status": "succeeded", "transfer_reversal": null } - recorded_at: Mon, 19 Feb 2024 04:50:05 GMT + recorded_at: Wed, 28 Feb 2024 04:26:38 GMT recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml deleted file mode 100644 index c3cce8b8a6..0000000000 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml +++ /dev/null @@ -1,1149 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_RQ4tnyZMxaTrfg","request_duration_ms":920}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:37 GMT - Content-Type: - - application/json - Content-Length: - - '942' - 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%2Fpayment_methods%2F%3Apayment_method; - 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' - Request-Id: - - req_AMPupOEWxQpMvJ - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '140.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pm_1OiqTZGkyVbTBiYeSbdHHVBU", - "object": "payment_method", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "card": { - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "unchecked" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "fingerprint": "1Zr75a6zBSZLu0Zp", - "funding": "credit", - "generated_from": null, - "last4": "4444", - "networks": { - "available": [ - "mastercard" - ], - "preferred": null - }, - "three_d_secure_usage": { - "supported": true - }, - "wallet": null - }, - "created": 1707709597, - "customer": null, - "livemode": false, - "metadata": {}, - "type": "card" - } - recorded_at: Mon, 12 Feb 2024 03:46:37 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents - body: - encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=manual - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_AMPupOEWxQpMvJ","request_duration_ms":356}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1APQreGkyVbTBiYe - 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, 12 Feb 2024 03:46:38 GMT - Content-Type: - - application/json - Content-Length: - - '1344' - 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%2Fpayment_intents; 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' - Idempotency-Key: - - 65755257-63df-450c-9bf4-90d6512d869a - Original-Request: - - req_Y9z6pafg0X39IU - Request-Id: - - req_Y9z6pafg0X39IU - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '306.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", - "confirmation_method": "automatic", - "created": 1707709598, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_confirmation", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:38 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV/confirm - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_Y9z6pafg0X39IU","request_duration_ms":528}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:39 GMT - Content-Type: - - application/json - Content-Length: - - '1367' - 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%2Fpayment_intents%2F%3Aintent%2Fconfirm; - 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' - Idempotency-Key: - - 43c15925-cb4a-4302-8ba7-1c60c45a4148 - Original-Request: - - req_nFqQkMl1tz0Za6 - Request-Id: - - req_nFqQkMl1tz0Za6 - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '722.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 1000, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", - "confirmation_method": "automatic", - "created": 1707709598, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_capture", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:39 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV/capture - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_nFqQkMl1tz0Za6","request_duration_ms":1012}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:40 GMT - Content-Type: - - application/json - Content-Length: - - '1360' - 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%2Fpayment_intents%2F%3Aintent%2Fcapture; - 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' - Idempotency-Key: - - 369fad8e-e4ff-4766-a931-602e295519d8 - Original-Request: - - req_UkosKenQjluRqt - Request-Id: - - req_UkosKenQjluRqt - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '676.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", - "confirmation_method": "automatic", - "created": 1707709598, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:40 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_UkosKenQjluRqt","request_duration_ms":869}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1APQreGkyVbTBiYe - 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, 12 Feb 2024 03:46:41 GMT - Content-Type: - - application/json - Content-Length: - - '1360' - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_bkByviWmLTQOfW - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '60.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", - "confirmation_method": "automatic", - "created": 1707709598, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:41 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTaGkyVbTBiYe0nUcBPZV - body: - encoding: US-ASCII - string: '' - headers: - Authorization: - - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Stripe-Account: - - acct_1APQreGkyVbTBiYe - Connection: - - close - 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, 12 Feb 2024 03:46:41 GMT - Content-Type: - - application/json - Content-Length: - - '5139' - Connection: - - close - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_UtyUK1MQapAOEz - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '117.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "charges": { - "object": "list", - "data": [ - { - "id": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "object": "charge", - "amount": 1000, - "amount_captured": 1000, - "amount_refunded": 0, - "application": null, - "application_fee": null, - "application_fee_amount": null, - "balance_transaction": "txn_3OiqTaGkyVbTBiYe0AQLBi3e", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "calculated_statement_descriptor": "OPENFOODNETWORK", - "captured": true, - "created": 1707709599, - "currency": "aud", - "customer": null, - "description": null, - "destination": null, - "dispute": null, - "disputed": false, - "failure_balance_transaction": null, - "failure_code": null, - "failure_message": null, - "fraud_details": {}, - "invoice": null, - "livemode": false, - "metadata": {}, - "on_behalf_of": null, - "order": null, - "outcome": { - "network_status": "approved_by_network", - "reason": null, - "risk_level": "normal", - "risk_score": 13, - "seller_message": "Payment complete.", - "type": "authorized" - }, - "paid": true, - "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_details": { - "card": { - "amount_authorized": 1000, - "brand": "mastercard", - "capture_before": 1708314399, - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "pass" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "extended_authorization": { - "status": "disabled" - }, - "fingerprint": "1Zr75a6zBSZLu0Zp", - "funding": "credit", - "incremental_authorization": { - "status": "unavailable" - }, - "installments": null, - "last4": "4444", - "mandate": null, - "multicapture": { - "status": "unavailable" - }, - "network": "mastercard", - "network_token": { - "used": false - }, - "overcapture": { - "maximum_amount_capturable": 1000, - "status": "unavailable" - }, - "three_d_secure": null, - "wallet": null - }, - "type": "card" - }, - "radar_options": {}, - "receipt_email": null, - "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQVBRcmVHa3lWYlRCaVllKKGppq4GMgYKu9Q4B5A6LBaTUzdg_aQZMp9WlQueacwdHTSVg_dxKop9ZZpxY9MYvYW5Q-ZabNXYn7dp", - "refunded": false, - "refunds": { - "object": "list", - "data": [], - "has_more": false, - "total_count": 0, - "url": "/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds" - }, - "review": null, - "shipping": null, - "source": null, - "source_transfer": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - ], - "has_more": false, - "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3OiqTaGkyVbTBiYe0nUcBPZV" - }, - "client_secret": "pi_3OiqTaGkyVbTBiYe0nUcBPZV_secret_2KT0oh8uYFUeQONViEq7ZWLgN", - "confirmation_method": "automatic", - "created": 1707709598, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:41 GMT -- request: - method: post - uri: https://api.stripe.com/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds - body: - encoding: UTF-8 - string: amount=1000&expand[0]=charge - headers: - Content-Type: - - application/x-www-form-urlencoded - Authorization: - - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Stripe-Account: - - acct_1APQreGkyVbTBiYe - Connection: - - close - 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, 12 Feb 2024 03:46:42 GMT - Content-Type: - - application/json - Content-Length: - - '4547' - Connection: - - close - 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%2Fcharges%2F%3Acharge%2Frefunds; - 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' - Idempotency-Key: - - 5fd98021-2934-4a23-a462-2686b02d6be4 - Original-Request: - - req_GrOgrUV9vyH0dN - Request-Id: - - req_GrOgrUV9vyH0dN - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "re_3OiqTaGkyVbTBiYe0K4k5Khy", - "object": "refund", - "amount": 1000, - "balance_transaction": "txn_3OiqTaGkyVbTBiYe09TPiL12", - "charge": { - "id": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "object": "charge", - "amount": 1000, - "amount_captured": 1000, - "amount_refunded": 1000, - "application": null, - "application_fee": null, - "application_fee_amount": null, - "balance_transaction": "txn_3OiqTaGkyVbTBiYe0AQLBi3e", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "calculated_statement_descriptor": "OPENFOODNETWORK", - "captured": true, - "created": 1707709599, - "currency": "aud", - "customer": null, - "description": null, - "destination": null, - "dispute": null, - "disputed": false, - "failure_balance_transaction": null, - "failure_code": null, - "failure_message": null, - "fraud_details": {}, - "invoice": null, - "livemode": false, - "metadata": {}, - "on_behalf_of": null, - "order": null, - "outcome": { - "network_status": "approved_by_network", - "reason": null, - "risk_level": "normal", - "risk_score": 13, - "seller_message": "Payment complete.", - "type": "authorized" - }, - "paid": true, - "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "payment_method": "pm_1OiqTaGkyVbTBiYeLv5l0zWX", - "payment_method_details": { - "card": { - "amount_authorized": 1000, - "brand": "mastercard", - "capture_before": 1708314399, - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "pass" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "extended_authorization": { - "status": "disabled" - }, - "fingerprint": "1Zr75a6zBSZLu0Zp", - "funding": "credit", - "incremental_authorization": { - "status": "unavailable" - }, - "installments": null, - "last4": "4444", - "mandate": null, - "multicapture": { - "status": "unavailable" - }, - "network": "mastercard", - "network_token": { - "used": false - }, - "overcapture": { - "maximum_amount_capturable": 1000, - "status": "unavailable" - }, - "three_d_secure": null, - "wallet": null - }, - "type": "card" - }, - "radar_options": {}, - "receipt_email": null, - "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQVBRcmVHa3lWYlRCaVllKKKppq4GMgbB94RxQuw6LBajaUJ_Nzh33IT18N1M4-HhSrvYWIOIFfijUMVA2zy0iqBh8K2_OWFkLTEf", - "refunded": true, - "refunds": { - "object": "list", - "data": [ - { - "id": "re_3OiqTaGkyVbTBiYe0K4k5Khy", - "object": "refund", - "amount": 1000, - "balance_transaction": "txn_3OiqTaGkyVbTBiYe09TPiL12", - "charge": "ch_3OiqTaGkyVbTBiYe0O6Hj6zD", - "created": 1707709602, - "currency": "aud", - "destination_details": { - "card": { - "reference_status": "pending", - "reference_type": "acquirer_reference_number", - "type": "refund" - }, - "type": "card" - }, - "metadata": {}, - "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "reason": null, - "receipt_number": null, - "source_transfer_reversal": null, - "status": "succeeded", - "transfer_reversal": null - } - ], - "has_more": false, - "total_count": 1, - "url": "/v1/charges/ch_3OiqTaGkyVbTBiYe0O6Hj6zD/refunds" - }, - "review": null, - "shipping": null, - "source": null, - "source_transfer": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - }, - "created": 1707709602, - "currency": "aud", - "destination_details": { - "card": { - "reference_status": "pending", - "reference_type": "acquirer_reference_number", - "type": "refund" - }, - "type": "card" - }, - "metadata": {}, - "payment_intent": "pi_3OiqTaGkyVbTBiYe0nUcBPZV", - "reason": null, - "receipt_number": null, - "source_transfer_reversal": null, - "status": "succeeded", - "transfer_reversal": null - } - recorded_at: Mon, 12 Feb 2024 03:46:42 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml deleted file mode 100644 index 24fb9dc483..0000000000 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.2.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml +++ /dev/null @@ -1,524 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_bkByviWmLTQOfW","request_duration_ms":359}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:43 GMT - Content-Type: - - application/json - Content-Length: - - '942' - 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%2Fpayment_methods%2F%3Apayment_method; - 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' - Request-Id: - - req_XABjvmIDq8zdLB - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '167.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", - "object": "payment_method", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "card": { - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "unchecked" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "fingerprint": "1Zr75a6zBSZLu0Zp", - "funding": "credit", - "generated_from": null, - "last4": "4444", - "networks": { - "available": [ - "mastercard" - ], - "preferred": null - }, - "three_d_secure_usage": { - "supported": true - }, - "wallet": null - }, - "created": 1707709603, - "customer": null, - "livemode": false, - "metadata": {}, - "type": "card" - } - recorded_at: Mon, 12 Feb 2024 03:46:43 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents - body: - encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_1OiqTfGkyVbTBiYe3NHcuFzj&payment_method_types[0]=card&capture_method=manual - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_XABjvmIDq8zdLB","request_duration_ms":484}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:44 GMT - Content-Type: - - application/json - Content-Length: - - '1344' - 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%2Fpayment_intents; 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' - Idempotency-Key: - - 5e88c180-041d-449f-821d-34f26e16ca9e - Original-Request: - - req_tQWBPCGhiMCP0g - Request-Id: - - req_tQWBPCGhiMCP0g - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '193.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", - "confirmation_method": "automatic", - "created": 1707709604, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_confirmation", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:44 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTgGkyVbTBiYe0de0qJ91 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.2.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_tQWBPCGhiMCP0g","request_duration_ms":509}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.2.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 03:46:44 GMT - Content-Type: - - application/json - Content-Length: - - '1344' - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_3zPIl85xE98iJP - Stripe-Version: - - '2023-10-16' - Vary: - - Origin - X-Stripe-Non-Api-Overhead-Duration-Ms: - - '63.0' - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", - "confirmation_method": "automatic", - "created": 1707709604, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_confirmation", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:44 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3OiqTgGkyVbTBiYe0de0qJ91/cancel - body: - encoding: US-ASCII - string: '' - headers: - Content-Type: - - application/x-www-form-urlencoded - Authorization: - - Basic c2tfdGVzdF9HRlFXMnU4c2xsbmxBTzYxN2FUODFRdko6 - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Connection: - - close - 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, 12 Feb 2024 03:46:45 GMT - Content-Type: - - application/json - Content-Length: - - '1508' - Connection: - - close - 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%2Fpayment_intents%2F%3Aintent%2Fcancel; - 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' - Idempotency-Key: - - dd6026b4-78e9-49c7-a4af-365d48f10eb8 - Original-Request: - - req_Ez0PQVQfU8IYRv - Request-Id: - - req_Ez0PQVQfU8IYRv - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3OiqTgGkyVbTBiYe0de0qJ91", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": null, - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": 1707709605, - "cancellation_reason": null, - "capture_method": "manual", - "charges": { - "object": "list", - "data": [], - "has_more": false, - "total_count": 0, - "url": "/v1/charges?payment_intent=pi_3OiqTgGkyVbTBiYe0de0qJ91" - }, - "client_secret": "pi_3OiqTgGkyVbTBiYe0de0qJ91_secret_d6ozPrnET7mJAXHuW1mZlOxB6", - "confirmation_method": "automatic", - "created": 1707709604, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1OiqTfGkyVbTBiYe3NHcuFzj", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "canceled", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 03:46:45 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml deleted file mode 100644 index 91615dbb4a..0000000000 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_confirmed_payment/refunds_the_payment.yml +++ /dev/null @@ -1,877 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents - body: - encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=automatic&confirm=true - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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, 12 Feb 2024 22:53:08 GMT - Content-Type: - - application/json - Content-Length: - - '1396' - 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%2Fpayment_intents; 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' - Idempotency-Key: - - 9f9ede9d-96ac-4441-b545-e1eb438336d2 - Original-Request: - - req_lB6oA68zTMJrpJ - Request-Id: - - req_lB6oA68zTMJrpJ - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "automatic", - "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", - "confirmation_method": "automatic", - "created": 1707778387, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:09 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_lB6oA68zTMJrpJ","request_duration_ms":1832}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 22:53:11 GMT - Content-Type: - - application/json - Content-Length: - - '942' - 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%2Fpayment_methods%2F%3Apayment_method; - 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' - Request-Id: - - req_MPSEbWRjRHc1xo - 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": "pm_1Oj8N8KuuB1fWySnY2lqbAGk", - "object": "payment_method", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "card": { - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "unchecked" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "fingerprint": "BL35fEFVcTTS5wpE", - "funding": "credit", - "generated_from": null, - "last4": "4444", - "networks": { - "available": [ - "mastercard" - ], - "preferred": null - }, - "three_d_secure_usage": { - "supported": true - }, - "wallet": null - }, - "created": 1707778390, - "customer": null, - "livemode": false, - "metadata": {}, - "type": "card" - } - recorded_at: Mon, 12 Feb 2024 22:53:11 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8N5QQeZbvfZRJ0DWbfoMx - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_MPSEbWRjRHc1xo","request_duration_ms":1078}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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, 12 Feb 2024 22:53:11 GMT - Content-Type: - - application/json - Content-Length: - - '1396' - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_kqqjMU3wRPfz7h - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "automatic", - "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", - "confirmation_method": "automatic", - "created": 1707778387, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:11 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8N5QQeZbvfZRJ0DWbfoMx - body: - encoding: US-ASCII - string: '' - headers: - Authorization: - - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Connection: - - close - 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, 12 Feb 2024 22:53:12 GMT - Content-Type: - - application/json - Content-Length: - - '5159' - Connection: - - close - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_2ZdR6OrOajgOec - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 1000, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "automatic", - "charges": { - "object": "list", - "data": [ - { - "id": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "object": "charge", - "amount": 1000, - "amount_captured": 1000, - "amount_refunded": 0, - "application": "", - "application_fee": null, - "application_fee_amount": null, - "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0VVf4rtO", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "calculated_statement_descriptor": "OFNOFNOFN", - "captured": true, - "created": 1707778388, - "currency": "aud", - "customer": null, - "description": null, - "destination": null, - "dispute": null, - "disputed": false, - "failure_balance_transaction": null, - "failure_code": null, - "failure_message": null, - "fraud_details": {}, - "invoice": null, - "livemode": false, - "metadata": {}, - "on_behalf_of": null, - "order": null, - "outcome": { - "network_status": "approved_by_network", - "reason": null, - "risk_level": "normal", - "risk_score": 0, - "seller_message": "Payment complete.", - "type": "authorized" - }, - "paid": true, - "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", - "payment_method_details": { - "card": { - "amount_authorized": 1000, - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "pass" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "extended_authorization": { - "status": "disabled" - }, - "fingerprint": "BL35fEFVcTTS5wpE", - "funding": "credit", - "incremental_authorization": { - "status": "unavailable" - }, - "installments": null, - "last4": "4444", - "mandate": null, - "multicapture": { - "status": "unavailable" - }, - "network": "mastercard", - "network_token": { - "used": false - }, - "overcapture": { - "maximum_amount_capturable": 1000, - "status": "unavailable" - }, - "three_d_secure": null, - "wallet": null - }, - "type": "card" - }, - "radar_options": {}, - "receipt_email": null, - "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2haOWxRUWVaYnZmWlJKKNjCqq4GMgZz3nu_-qs6LBbP4HIvOO9vohwzYRZA73lI9cjv8LnAaahU-8StFSQ0AW4v1eUKfrTSCc8c", - "refunded": false, - "refunds": { - "object": "list", - "data": [], - "has_more": false, - "total_count": 0, - "url": "/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds" - }, - "review": null, - "shipping": null, - "source": null, - "source_transfer": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - ], - "has_more": false, - "total_count": 1, - "url": "/v1/charges?payment_intent=pi_3Oj8N5QQeZbvfZRJ0DWbfoMx" - }, - "client_secret": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx_secret_nvjdOSvBf3LuhqkJsaRlmiouk", - "confirmation_method": "automatic", - "created": 1707778387, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:12 GMT -- request: - method: post - uri: https://api.stripe.com/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds - body: - encoding: UTF-8 - string: amount=1000&expand[0]=charge - headers: - Content-Type: - - application/x-www-form-urlencoded - Authorization: - - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Connection: - - close - 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, 12 Feb 2024 22:53:13 GMT - Content-Type: - - application/json - Content-Length: - - '4535' - Connection: - - close - 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%2Fcharges%2F%3Acharge%2Frefunds; - 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' - Idempotency-Key: - - cf4f970c-f6b3-4e76-b233-4eab0e385c71 - Original-Request: - - req_38Iu12IYZJwYz3 - Request-Id: - - req_38Iu12IYZJwYz3 - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "re_3Oj8N5QQeZbvfZRJ0x3xrJep", - "object": "refund", - "amount": 1000, - "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0446g84e", - "charge": { - "id": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "object": "charge", - "amount": 1000, - "amount_captured": 1000, - "amount_refunded": 1000, - "application": "", - "application_fee": null, - "application_fee_amount": null, - "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0VVf4rtO", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "calculated_statement_descriptor": "OFNOFNOFN", - "captured": true, - "created": 1707778388, - "currency": "aud", - "customer": null, - "description": null, - "destination": null, - "dispute": null, - "disputed": false, - "failure_balance_transaction": null, - "failure_code": null, - "failure_message": null, - "fraud_details": {}, - "invoice": null, - "livemode": false, - "metadata": {}, - "on_behalf_of": null, - "order": null, - "outcome": { - "network_status": "approved_by_network", - "reason": null, - "risk_level": "normal", - "risk_score": 0, - "seller_message": "Payment complete.", - "type": "authorized" - }, - "paid": true, - "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "payment_method": "pm_1Oj8N5QQeZbvfZRJQ6Qh4CtB", - "payment_method_details": { - "card": { - "amount_authorized": 1000, - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "pass" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "extended_authorization": { - "status": "disabled" - }, - "fingerprint": "BL35fEFVcTTS5wpE", - "funding": "credit", - "incremental_authorization": { - "status": "unavailable" - }, - "installments": null, - "last4": "4444", - "mandate": null, - "multicapture": { - "status": "unavailable" - }, - "network": "mastercard", - "network_token": { - "used": false - }, - "overcapture": { - "maximum_amount_capturable": 1000, - "status": "unavailable" - }, - "three_d_secure": null, - "wallet": null - }, - "type": "card" - }, - "radar_options": {}, - "receipt_email": null, - "receipt_number": null, - "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xT2haOWxRUWVaYnZmWlJKKNnCqq4GMgYb2YoorMU6LBZPiModP9pA5IE5ehBQl5Kwr5IwrCYjcU1OlRxOtlsEdsxBrK09r38JrH1o", - "refunded": true, - "refunds": { - "object": "list", - "data": [ - { - "id": "re_3Oj8N5QQeZbvfZRJ0x3xrJep", - "object": "refund", - "amount": 1000, - "balance_transaction": "txn_3Oj8N5QQeZbvfZRJ0446g84e", - "charge": "ch_3Oj8N5QQeZbvfZRJ0jNdFIT8", - "created": 1707778392, - "currency": "aud", - "destination_details": { - "card": { - "reference_status": "pending", - "reference_type": "acquirer_reference_number", - "type": "refund" - }, - "type": "card" - }, - "metadata": {}, - "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "reason": null, - "receipt_number": null, - "source_transfer_reversal": null, - "status": "succeeded", - "transfer_reversal": null - } - ], - "has_more": false, - "total_count": 1, - "url": "/v1/charges/ch_3Oj8N5QQeZbvfZRJ0jNdFIT8/refunds" - }, - "review": null, - "shipping": null, - "source": null, - "source_transfer": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "succeeded", - "transfer_data": null, - "transfer_group": null - }, - "created": 1707778392, - "currency": "aud", - "destination_details": { - "card": { - "reference_status": "pending", - "reference_type": "acquirer_reference_number", - "type": "refund" - }, - "type": "card" - }, - "metadata": {}, - "payment_intent": "pi_3Oj8N5QQeZbvfZRJ0DWbfoMx", - "reason": null, - "receipt_number": null, - "source_transfer_reversal": null, - "status": "succeeded", - "transfer_reversal": null - } - recorded_at: Mon, 12 Feb 2024 22:53:13 GMT -recorded_with: VCR 6.2.0 diff --git a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml b/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml deleted file mode 100644 index f8eb537ca2..0000000000 --- a/spec/fixtures/vcr_cassettes/Stripe-v10.6.0/Spree_Gateway_StripeSCA/_void/with_a_voidable_payment/void_the_payment.yml +++ /dev/null @@ -1,530 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents - body: - encoding: UTF-8 - string: amount=1000¤cy=aud&payment_method=pm_card_mastercard&payment_method_types[0]=card&capture_method=manual - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_kqqjMU3wRPfz7h","request_duration_ms":485}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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, 12 Feb 2024 22:53:14 GMT - Content-Type: - - application/json - Content-Length: - - '1377' - 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%2Fpayment_intents; 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' - Idempotency-Key: - - 816e3630-03dc-4f3a-b4c6-5e88e3322536 - Original-Request: - - req_6jrnUl6aZNQxLk - Request-Id: - - req_6jrnUl6aZNQxLk - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", - "confirmation_method": "automatic", - "created": 1707778394, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_confirmation", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:14 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_methods/pm_card_mastercard - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_6jrnUl6aZNQxLk","request_duration_ms":572}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - 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, 12 Feb 2024 22:53:15 GMT - Content-Type: - - application/json - Content-Length: - - '942' - 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%2Fpayment_methods%2F%3Apayment_method; - 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' - Request-Id: - - req_fiClXhKKwaSAmy - 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": "pm_1Oj8NDKuuB1fWySnzaxDjTO2", - "object": "payment_method", - "billing_details": { - "address": { - "city": null, - "country": null, - "line1": null, - "line2": null, - "postal_code": null, - "state": null - }, - "email": null, - "name": null, - "phone": null - }, - "card": { - "brand": "mastercard", - "checks": { - "address_line1_check": null, - "address_postal_code_check": null, - "cvc_check": "unchecked" - }, - "country": "US", - "exp_month": 2, - "exp_year": 2025, - "fingerprint": "BL35fEFVcTTS5wpE", - "funding": "credit", - "generated_from": null, - "last4": "4444", - "networks": { - "available": [ - "mastercard" - ], - "preferred": null - }, - "three_d_secure_usage": { - "supported": true - }, - "wallet": null - }, - "created": 1707778395, - "customer": null, - "livemode": false, - "metadata": {}, - "type": "card" - } - recorded_at: Mon, 12 Feb 2024 22:53:15 GMT -- request: - method: get - uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8NCQQeZbvfZRJ1ahXc6sm - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - Stripe/v1 RubyBindings/10.6.0 - Authorization: - - Bearer - Content-Type: - - application/x-www-form-urlencoded - X-Stripe-Client-Telemetry: - - '{"last_request_metrics":{"request_id":"req_fiClXhKKwaSAmy","request_duration_ms":535}}' - Stripe-Version: - - '2023-10-16' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"10.6.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","engine":"ruby","publisher":"stripe","uname":"Linux - version 5.15.0-92-generic (buildd@lcy02-amd64-002) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) - 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #102~20.04.1-Ubuntu SMP Mon - Jan 15 13:09:14 UTC 2024","hostname":"gaetan-Dell-G15"}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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, 12 Feb 2024 22:53:15 GMT - Content-Type: - - application/json - Content-Length: - - '1377' - 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%2Fpayment_intents%2F%3Aintent; - 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' - Request-Id: - - req_mclrPggiyKYO9S - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - 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": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": null, - "cancellation_reason": null, - "capture_method": "manual", - "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", - "confirmation_method": "automatic", - "created": 1707778394, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "requires_confirmation", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:15 GMT -- request: - method: post - uri: https://api.stripe.com/v1/payment_intents/pi_3Oj8NCQQeZbvfZRJ1ahXc6sm/cancel - body: - encoding: US-ASCII - string: '' - headers: - Content-Type: - - application/x-www-form-urlencoded - Authorization: - - Basic c2tfdGVzdF94RmdKUU9sWHBNQUZzb3p0endGQlRGaFAwMEhHN0J1Q0ptOg== - User-Agent: - - Stripe/v1 ActiveMerchantBindings/1.133.0 - Stripe-Version: - - '2020-08-27' - X-Stripe-Client-User-Agent: - - '{"bindings_version":"1.133.0","lang":"ruby","lang_version":"3.1.4 p223 (2023-03-30)","platform":"x86_64-linux","publisher":"active_merchant"}' - X-Stripe-Client-User-Metadata: - - '{"ip":null}' - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Connection: - - close - 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, 12 Feb 2024 22:53:16 GMT - Content-Type: - - application/json - Content-Length: - - '1541' - Connection: - - close - 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%2Fpayment_intents%2F%3Aintent%2Fcancel; - 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' - Idempotency-Key: - - 3e00f853-05da-4290-86df-fad9bca9d5ea - Original-Request: - - req_clYJJBeUWvA3Fe - Request-Id: - - req_clYJJBeUWvA3Fe - Stripe-Account: - - acct_1OhZ9lQQeZbvfZRJ - Stripe-Should-Retry: - - 'false' - Stripe-Version: - - '2020-08-27' - Vary: - - Origin - X-Stripe-Routing-Context-Priority-Tier: - - api-testmode - Strict-Transport-Security: - - max-age=63072000; includeSubDomains; preload - body: - encoding: UTF-8 - string: |- - { - "id": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm", - "object": "payment_intent", - "amount": 1000, - "amount_capturable": 0, - "amount_details": { - "tip": {} - }, - "amount_received": 0, - "application": "", - "application_fee_amount": null, - "automatic_payment_methods": null, - "canceled_at": 1707778396, - "cancellation_reason": null, - "capture_method": "manual", - "charges": { - "object": "list", - "data": [], - "has_more": false, - "total_count": 0, - "url": "/v1/charges?payment_intent=pi_3Oj8NCQQeZbvfZRJ1ahXc6sm" - }, - "client_secret": "pi_3Oj8NCQQeZbvfZRJ1ahXc6sm_secret_S6BFb7CunuRZPNoXb2GSmSUsh", - "confirmation_method": "automatic", - "created": 1707778394, - "currency": "aud", - "customer": null, - "description": null, - "invoice": null, - "last_payment_error": null, - "latest_charge": null, - "livemode": false, - "metadata": {}, - "next_action": null, - "on_behalf_of": null, - "payment_method": "pm_1Oj8NCQQeZbvfZRJUrdNo9RL", - "payment_method_configuration_details": null, - "payment_method_options": { - "card": { - "installments": null, - "mandate_options": null, - "network": null, - "request_three_d_secure": "automatic" - } - }, - "payment_method_types": [ - "card" - ], - "processing": null, - "receipt_email": null, - "review": null, - "setup_future_usage": null, - "shipping": null, - "source": null, - "statement_descriptor": null, - "statement_descriptor_suffix": null, - "status": "canceled", - "transfer_data": null, - "transfer_group": null - } - recorded_at: Mon, 12 Feb 2024 22:53:16 GMT -recorded_with: VCR 6.2.0